class IEventListener;
/**
* @class Event
-* @brief This class provides methods for delivering an event with an argument synchronously and asynchronously.
+* @brief This class provides methods for notifying events with argument to its listeners.
* @since 2.0
*
+* The %Event class provides methods for notifying events with argument to its listeners.
+* Because bounded to either default thread or event-driven thread, it cannot be created on worker thread.
+* It supports two types of listeners; one is called on the thread where the event is fired, and another is called on the thread where the listener was registered.
+*
* @code
*
* #include <FBase.h>
* @exception E_SUCCESS This method is successful.
* @exception E_INVALID_STATE This event has not been initialized.
*
- * @remark This takes the ownership of @c arg. So arg should be created on a heap and should not be deleted by caller.
+ * @remarks This takes the ownership of @c arg. So arg should be created on a heap and should not be deleted by caller.
*/
result Fire(IEventArg& arg);
* @param[in] listener The listener instance which is currently processing
* @param[in] arg The event argument that is fired
*
- * @remark A derived class must override this method.
+ * @remarks A derived class must override this method.
*/
virtual void FireImpl(IEventListener& listener, const IEventArg& arg) = 0;