1 // File: Event_Message.hxx
2 // Created: Thu Mar 13 2014
3 // Author: Mikhail PONIKAROV
5 #ifndef Event_Message_HeaderFile
6 #define Event_Message_HeaderFile
12 * \brief Identifier of the event kind.
14 * Each event ID is created in main Envent_Loop class
15 * that stores correspondance between the string-name of the
16 * identifier and the pointer to the static string that is really
17 * used as an identifier (this is usefull for debugging of the events
18 * with log files and in debugger).
20 class EVENT_EXPORT Event_ID
22 char* myID; ///< pointer to the text-identifier of the event, unique pointer for all events of such type
29 friend class Event_Loop;
31 /// Returns the text-identifier of the event (for debugging reasons)
32 char* EventText() const
36 /// Allows to compare identifiers
37 bool operator==(const Event_ID& theID) const
39 return myID == theID.myID;
43 /**\class Event_Message
45 * \brief Message for communication between sender and listener of event.
46 * Normally it is inherited by the higher-level
48 class EVENT_EXPORT Event_Message
50 Event_ID myEventId; ///< identifier of the event
51 void* mySender; ///< the sender object
55 //! Creates the message
56 Event_Message(const Event_ID theID, const void* theSender = 0);
57 virtual ~Event_Message()
61 //! Returns identifier of the message
62 const Event_ID& EventID() const
67 //! Returns sender of the message or NULL if it is anonymous message