15 #include <vlutil/vlString.h>
19 namespace MAKVrExchange
22 class DtPortalConnection;
45 virtual std::ostream& printDataToStream( std::ostream& str )
const = 0;
57 template<
class T_PortalObject>
85 virtual const T_PortalObject*
sr()
const;
123 #define _pReflectedObject_INL_
124 #include <portal/pReflectedObject.inl>
125 #undef _pReflectedObject_INL_
virtual ~DtPortalReflectedObjectTemplate()
Virtual DTOR.
#define DT_DLL_LIBPORTAL
Definition: include/portal/dllExport.h:20
std::list< CallbackPair > CallbackPairList
Definition: pReflectedObject.h:112
DtPortalReflectedObjectTemplate(const T_PortalObject &obj)
Copy CTOR takes a portal object for the initial state.
ObjectUpdateCallback fcn
Definition: pReflectedObject.h:108
void(* ObjectUpdateCallback)(const DtPortalReflectedObjectTemplate< T_PortalObject > &obj, void *usr)
Definition: pReflectedObject.h:62
DtPortalObject are messages which also serve as state repositories for simulated objects.
Definition: pObject.h:23
virtual void processUpdate(const T_PortalObject &obj)
Called when the reflected object is updated.
virtual std::ostream & printDataToStream(std::ostream &str) const
Prints the internal state of the reflected object to the stream specified.
virtual const T_PortalObject * sr() const
Returns a pointer to the reflected object.
CallbackPairList myCallbackList
Definition: pReflectedObject.h:113
An abstract interface for reflected objects.
Definition: pReflectedObject.h:31
Definition: pReflectedObject.h:106
void * userData
Definition: pReflectedObject.h:109
Contains the DtPortalGenericObject class declaration.
T_PortalObject TheTypeOfThisObject
Definition: pReflectedObject.h:102
DT_DLL_LIBPORTAL std::ostream & operator<<(std::ostream &stream, const DtActiveSonarBeamData &data)
const DtPortalReflectedObjectTemplate< T_PortalObject > & operator=(const DtPortalReflectedObjectTemplate< T_PortalObject > &other)
Contains the DtPortalAggregate class declaration.
A template to create reflected object types for each type of object message.
Definition: pReflectedObject.h:58
Contains the DtPortalEntity class declaration.
virtual const DtPortalObject * baseObject() const
Returns a pointer to the actual reflected object using a DtPortalObject pointer.
virtual void removeUpdateCallback(ObjectUpdateCallback cb, void *uData) const
Removes a function from the callback list.
virtual void addUpdateCallback(ObjectUpdateCallback cb, void *uData) const
Adds a function to call when this reflected object's state changes.
T_PortalObject myObject
Definition: pReflectedObject.h:115