.. index:: pair: class; P1::CameraSdk::BaseEventType .. _doxid-class_p1_1_1_camera_sdk_1_1_base_event_type: class P1::CameraSdk::BaseEventType ================================== .. toctree:: :hidden: enum_P1_CameraSdk_BaseEventType_Category.rst Overview ~~~~~~~~ Base class for Notification EventTypes. All event categories inherit from this class. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class BaseEventType { public: // enums enum :ref:`Category`; // fields uint32_t const :target:`id`; :ref:`Category` const :target:`category`; // methods :target:`MSVC_ALLOW_PUBLIC_STL`(std::string const name); bool :target:`operator ==` (BaseEventType const& other) const; bool :target:`operator !=` (BaseEventType const& other) const; virtual void :ref:`dummy`(); }; // direct descendants class :ref:`EventType`; class :ref:`PropertyEventType`; class :ref:`SdkEventType`; .. _details-class_p1_1_1_camera_sdk_1_1_base_event_type: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Base class for Notification EventTypes. All event categories inherit from this class. The :ref:`BaseEventType ` is implemented as an *Enumeration Class*, as described here: `https://t.ly/KUa3 `__ (or Google "microsoft enumeration classes") This concept is that instead of using a tranditional enum, we can get better compile time type cheking of the enum values, by implementing them as subclasses of a base class. (Each enum value is a specific subclass.) This allows us to do better compile time checks of which enum values are provided to functions as arguments. As an additional feature each value has human readable string representation. Methods ------- .. index:: pair: function; dummy .. _doxid-class_p1_1_1_camera_sdk_1_1_base_event_type_1a41e94d8b96a7f680d3f0c4d688a4ac87: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void dummy() Dummy method to make class polymorphic (needed for downcast derived classes to this base class)