#pragma once #include "RawEvent.hpp" #ifdef __INPUT_RAWUIEVENT_CPP_ #define RAW_UI_EVENT_DECL FDX_DLL_EXPORT #else #define RAW_UI_EVENT_DECL FDX_DLL_IMPORT #endif namespace Input { class RawUIEvent : public RawEvent { public: RAW_UI_EVENT_DECL RawUIEvent(); RAW_UI_EVENT_DECL RawUIEvent(const parameter_strings & parms); /** Making the destructor virtual insures that deletions will be handled appropriately. The downside is that the vtable pointer doesn't mean anything if instances are put on the bus. */ RAW_UI_EVENT_DECL virtual ~RawUIEvent(); DECL_CLASS_COMMON_TYPES(RawUIEvent); RAW_UI_EVENT_DECL void initialize(const parameter_strings & parms); ///Give comparisons value semantics RAW_UI_EVENT_DECL bool operator==(RawUIEvent const& cmp) const; public: /** (from W3C DOM L3 Events) Specifies some detail information about the Event, depending on the type of event. The uninitialized value of this attribute must be 0. */ long detail; protected: friend class boost::serialization::access; template RAW_UI_EVENT_DECL void serialize(Archive &ar, const unsigned int version); //{ // ar & boost::serialization::base_object(*this); // ar & detail; //} }; } BOOST_CLASS_EXPORT_KEY(Input::RawUIEvent);