UtiLite  0.3.1
A lite utilities library
include/utilite/UEventsHandler.h
00001 /*
00002 *  utilite is a cross-platform library with
00003 *  useful utilities for fast and small developing.
00004 *  Copyright (C) 2010  Mathieu Labbe
00005 *
00006 *  utilite is free library: you can redistribute it and/or modify
00007 *  it under the terms of the GNU Lesser General Public License as published by
00008 *  the Free Software Foundation, either version 3 of the License, or
00009 *  (at your option) any later version.
00010 *
00011 *  utilite is distributed in the hope that it will be useful,
00012 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 *  GNU Lesser General Public License for more details.
00015 *
00016 *  You should have received a copy of the GNU Lesser General Public License
00017 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
00018 */
00019 
00020 #ifndef UEVENTSHANDLER_H
00021 #define UEVENTSHANDLER_H
00022 
00023 #include "utilite/UtiLiteExp.h" // DLL export/import defines
00024 
00025 class UEvent;
00026 
00127 class UTILITE_EXP UEventsHandler{
00128 public:
00129     
00130 
00131 protected:
00136     friend class UEventsManager;
00137 
00149     virtual void handleEvent(UEvent * event) = 0;
00150 
00151 protected:
00163     UEventsHandler() {}
00164 
00173     virtual ~UEventsHandler();
00174 
00178     void post(UEvent * event, bool async = true);
00179 
00180 private:
00181     
00182 };
00183 
00184 #endif // UEVENTSHANDLER_H
 All Classes Files Functions Variables Enumerations Friends Defines