#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);