//******************************************************************* // // License: See top level LICENSE.txt file. // // Author: Garrett Potts // Description: A brief description of the contents of the file. // // //************************************************************************* // $Id: ossimEvent.h 13362 2008-08-01 14:02:32Z gpotts $ #ifndef ossimEvent_HEADER #define ossimEvent_HEADER #include #include class OSSIMDLLEXPORT ossimEvent : public ossimObject { public: enum PropagationType { PROPAGATION_NONE = 0, PROPAGATION_INPUT = 1, PROPAGATION_OUTPUT = 2 }; /** * @param object The object associated with the event if any. * * @param id The event id. */ ossimEvent(ossimObject* object=NULL, long id=OSSIM_EVENT_NULL_ID); ossimEvent(const ossimEvent& rhs); long getId()const; void setId(long id); bool isConsumed()const; void setConsumedFlag(bool flag=true); void consume(); /** * This is the originating object that originally * produced the event. */ const ossimObject* getObject()const; ossimObject* getObject(); const ossimObject* getCurrentObject()const; ossimObject* getCurrentObject(); void setObject(ossimObject* object); void setCurrentObject(ossimObject* object); void setPropagationType(PropagationType type); bool isPropagatingToOutputs()const; bool isPropagatingToInputs()const; protected: ossimObject* theObject; ossimObject* theCurrentObject; long theId; bool theIsConsumedFlag; PropagationType thePropagationType; TYPE_DATA }; #endif /* #ifndef ossimEvent_HEADER */