15 #pragma warning( disable : 4661 )
25 #ifdef DtDDS_OPENSPLICE
30 #include <vlutil/vlString.h>
36 # define MUST_UNDEF_DTDIS
40 #include <vl/globalObjectDesignator.h>
42 #ifdef MUST_UNDEF_DTDIS
47 #define DDS_TEMPLATE_LIST \
49 < class T_PortalObject \
50 , class T_PortalReflectedObject \
51 , class T_DdsReflectedObject \
52 , class T_DdsObjectStateRepository \
53 , class T_DdsObjectPublisher>
55 #define DDS_TEMPLATE_FUNCTION \
56 T_PortalObject, T_PortalReflectedObject, \
57 T_DdsReflectedObject, T_DdsObjectStateRepository, \
61 class DtObjectPublisher;
62 class DtStateRepository;
64 namespace MAKVrExchange
67 class DtRequestTranslationDiagnosticMessage;
73 class DtReflectedObject;
186 const T_PortalReflectedObject* refObj );
249 const T_PortalReflectedObject* refObj,
const DtString&
name );
254 const T_PortalReflectedObject& refObj );
269 const T_DdsReflectedObject& refObj );
297 const T_DdsObjectStateRepository& sr );
299 const T_PortalObject& sr );
313 T_DdsReflectedObject* refObj );
320 const DtVector& location );
349 const T_PortalObject& incoming,
const T_DdsObjectStateRepository& outgoing )
const;
353 const T_DdsObjectStateRepository& incoming,
const T_PortalObject& outgoing )
const;
362 const T_DdsObjectStateRepository& outgoing );
366 const T_PortalObject& outgoing );
378 virtual T_PortalObject*
translate( T_PortalObject* destination,
379 const T_DdsObjectStateRepository& source,
380 const T_DdsReflectedObject& refObj ) = 0;
384 virtual T_DdsObjectStateRepository*
translate(
385 T_DdsObjectStateRepository* destination,
const T_PortalObject& source,
386 const T_PortalReflectedObject& refObj ) = 0;
422 template <
typename T_PortalInteraction,
typename T_DDSInteraction>
483 virtual T_PortalInteraction*
translate( T_PortalInteraction* destination,
484 const T_DDSInteraction& source ) = 0;
488 virtual T_DDSInteraction*
translate( T_DDSInteraction* destination,
489 const T_PortalInteraction& source ) = 0;
493 const T_DDSInteraction& outgoing )
const;
497 const T_PortalInteraction& outgoing )
const;
522 #define _ddsTranslator_INL_
523 #include <ddsBroker/ddsTranslator.inl>
524 #undef _ddsTranslator_INL_
virtual void enableReflectTranslator(bool enabled)
Enables or disables the translator reflecting from DIS.
virtual bool performDdsGlobalIdMapping(const T_DdsObjectPublisher *publisher, const T_PortalReflectedObject &refObj)
Maps the publisher's global ID to the reflected object's identifier.
virtual void updateFilteredState(DtBrokerObject *brokerObj, DtPortalObjectPublisherTemplate< T_PortalObject > *publisher, T_DdsReflectedObject *refObj)
Ensures the given object is properly filtered.
Contains the templated DtPortalReflectedObjectManager types.
virtual void deleteDdsPublisher(DtBrokerObject *brokerObj)
Base class for Interaction Translators.
Definition: ddsTranslator.h:423
#define DDS_TEMPLATE_LIST
Definition: ddsTranslator.h:47
Used to request that brokers send translation diagnostic reports.
Definition: requestTransDiagnosticMessage.h:21
virtual void removeDdsCallbacks()
virtual bool performPortalGlobalIdMapping(const DtPortalObjectPublisherTemplate< T_PortalObject > *publisher, const T_DdsReflectedObject &refObj)
Maps the publisher's global ID to the reflected object's identifier.
virtual void removeDdsObject(const DtReflectedObject &refObj)
Provides a common base class for DDS reflected objects.
Definition: ddsBroker/vlDds/reflectedObject.h:23
static void ddsObjectDeletedCb(void *refObj, void *usr)
Callback called when an object in the reflected list is deleted.
virtual ~DtDdsInteractionTranslator()
Virtual DTOR.
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
static void requestTransDiagCb(const DtRequestTranslationDiagnosticMessage &msg, void *usr)
Static translation diagnostic request callback.
virtual void discoverDdsObject(T_DdsReflectedObject &refObj)
virtual void receiveDdsUpdate(T_DdsReflectedObject &obj)
DtBaseObjectTranslator< T_PortalObject, T_PortalReflectedObject > BaseTranslatorClass
Typedef for the templated base class type.
Definition: ddsTranslator.h:97
virtual void updatePortalBrokerObject(DtBrokerObject *brokerObj, const T_PortalObject &sr)
virtual bool isDdsPublishable(DtBrokerObject *brokerObj, const T_PortalReflectedObject *refObj)
Tests whether the object is publishable as a DDS object.
static void ddsObjectAddedCb(void *refObj, void *usr)
Callback called when an object is added to the reflected list.
virtual void removePortalObject(const T_PortalReflectedObject &refObj)
DtDdsInteractionTranslator & operator=(const DtDdsInteractionTranslator &other)
Private Assignment Operator (Not implemented – Do Not Copy).
virtual DtBrokerObject * findBrokerObject(const DtReflectedObject *refObj)
Find the broker object for the given reflected object.
std::map< const DtPortalReflectedObject *, DtBrokerObject * > PortalToDdsReflectedMap
Definition: ddsTranslator.h:409
bool operator==(const DtDdsInteractionTranslator &rightOperand) const
Private Comparison Operator (Not implemented – Do Not Compare).
A simple template class to hold different types of State Repositories.
Definition: pObjectPublisher.h:68
virtual bool isDdsDiscoverable(const T_DdsReflectedObject *reflectedObj)
Checks if this DDS object is discoverable.
DtBaseInteractionTranslator are responsible for translating messages for things that do not have stat...
Definition: baseInteractionTranslator.h:60
virtual DtString ddsObjectName(const T_PortalReflectedObject *refObj) const
Determines the name to use for the given reflected object.
DtDdsInteractionTranslator< T_PortalInteraction, T_DDSInteraction > ParentClass
Typedef for the templated class type.
Definition: ddsTranslator.h:429
TransDebugObjectNamesSet myTransDebugNames
Definition: ddsTranslator.h:415
bool operator==(const DtDdsObjectTranslator &rightOperand) const
Private Comparison Operator (Not implemented – Do Not Compare).
An abstract interface for reflected objects.
Definition: pReflectedObject.h:31
virtual DtDdsBroker * ddsBroker()
DtBroker * broker() const
Broker Accessor.
Definition: translator.h:80
static void receiveDdsInteraction(void *interaction, void *userData)
DtDdsObjectTranslator< DDS_TEMPLATE_FUNCTION > ParentClass
Typedef for the templated class type.
Definition: ddsTranslator.h:94
virtual void removeDdsCallbacks()
std::pair< DtTime, bool > LocationFilteringInfo
Definition: ddsTranslator.h:404
Contains the DtInteractionTranslator and DtBaseInteractionTranslator class declarations.
virtual void receivePortalUpdate(const T_PortalReflectedObject &obj)
PortalToDdsReflectedMap myDdsPublisherMap
Definition: ddsTranslator.h:412
std::map< const DtReflectedObject *, LocationFilteringInfo > LocationFilteringMap
Definition: ddsTranslator.h:405
virtual DtString portalObjectName(const T_DdsReflectedObject *refObj) const
Determines the name to use for the given reflected object.
virtual void shutdown()
Performs any virtual shutdown logic prior to deletion.
bool operator!=(const DtDdsInteractionTranslator &rightOperand) const
Private Comparison Operator (Not implemented – Do Not Compare).
virtual void initializeDdsCallbacks()
virtual DtDdsBroker * ddsBroker()
virtual void performPortalDebugging(const DtString &objectName)
Build and send debugging message for GUI debugging.
virtual void callObjectRemoveCallbacks(const DtBrokerObject *obj)
UpdateType
Enums used with the ObjectAction callback.
Definition: ddsTranslator.h:85
virtual void deletePortalPublisher(DtBrokerObject *brokerObj)
DdsToPortalReflectedMap myPortalPublisherMap
Definition: ddsTranslator.h:411
This callback is regarding an object Discovery.
Definition: ddsTranslator.h:89
std::set< DtString > TransDebugObjectNamesSet
Definition: ddsTranslator.h:414
virtual DtBrokerObject * createBrokerObject(const DtReflectedObject *refObj)
Creates a broker object for the given reflected object.
virtual void createDdsPublisher(DtBrokerObject *brokerObj)
Determines the name to use for the given reflected object.
virtual void initializeDdsCallbacks()
DtDdsObjectTranslator & operator=(const DtDdsObjectTranslator &other)
Private Assignment Operator (Not implemented – Do Not Copy).
virtual DtBrokerObject * releaseBrokerObject(const DtReflectedObject *refObj)
Find the broker object for the given reflected object.
DtDdsInteractionTranslator(DtBroker *broker, const DtString &name, DtPortalMessageKind kind)
CTOR.
virtual void printDumpGuiToText(const DtBrokerObject &brokerObj, UpdateType ut) const
Base class for all broker objects.
Definition: broker.h:53
virtual void enableReflectTranslator(bool enabled)
Enables or disables the translator reflecting objects from DDS.
DtBaseObjectTranslators provide common logic for translating objects.
Definition: baseObjectTranslator.h:106
virtual void createPortalInteraction(const T_DDSInteraction &incoming)
std::map< const DtReflectedObject *, DtBrokerObject * > DdsToPortalReflectedMap
Definition: ddsTranslator.h:408
virtual bool filterLocation(const DtReflectedObject &refObj, const DtVector &location)
Checks location filtering and returns the filtered state.
Contains the DtObjectTranslator and DtBaseObjectTranslator class declarations.
virtual void createPortalPublisher(DtBrokerObject *brokerObj)
Determines the name to use for the given reflected object.
bool operator!=(const DtDdsObjectTranslator &rightOperand) const
Private Comparison Operator (Not implemented – Do Not Compare).
static void ddsObjectUpdatedCb(void *refObj, void *usr)
Callback called when an object in the reflected list is updated.
virtual void createInteraction(const T_PortalInteraction &incoming)
This function is required for a translator to correctly publish objects from the portal to your proto...
virtual void callObjectDiscoverCallbacks(const DtBrokerObject *obj)
virtual void updateDdsBrokerObject(DtBrokerObject *brokerObj, const T_DdsObjectStateRepository &sr)
virtual unsigned int numObjects() const
Returns the current number of objects.
Template Instances of DtPortalObjectPublisherTemplate.
virtual ~DtDdsObjectTranslator()
Virtual DTOR.
virtual void printIncomingOutgoingStateReps(const T_PortalObject &incoming, const T_DdsObjectStateRepository &outgoing) const
Print debug info for the given state reps.
virtual T_DdsObjectPublisher * instantiateDdsPublisher(const T_PortalReflectedObject *refObj, const DtString &name)
Instantiates the publisher for the given reflected object.
virtual void printDDSInteraction(const T_DDSInteraction &inter) const =0
virtual void discoverPortalObject(const T_PortalReflectedObject &refObj)
DtObjectTranslator instances are responsible for translating between DDS and the Portal for objects...
Definition: ddsTranslator.h:79
Definition: ddsTranslator.h:88
DtPortalMessageKind
A List of message kinds distributed with the Portal.
Definition: pMessageKinds.h:23
LocationFilteringMap myLocationFilteringMap
Definition: ddsTranslator.h:406
Definition: ddsTranslator.h:87
virtual void shutdown()
Performs any virtual shutdown logic prior to deletion.
virtual void tick()
Ticks the publishers for the translated DDS and Portal objects.
virtual void printIncomingOutgoingInteractions(const T_PortalInteraction &incoming, const T_DDSInteraction &outgoing) const
Prints incoming and outgoing interactions (before and after translation) to DtInfo.
Implements a DtBroker for the DDS Architecture.
Definition: ddsBroker.h:50
virtual void forceUpdateAll()
Tells all publishers to send an update next tick.
virtual T_PortalObject * translate(T_PortalObject *destination, const T_DdsObjectStateRepository &source, const T_DdsReflectedObject &refObj)=0
Translates the given DDS object to a Portal object (abstract).
DtDdsObjectTranslator(DtBroker *broker, const DtString &name, DtPortalMessageKind kind)
The Default CTOR.
virtual void printDumpGuiToText(const DtString &protocol, const DtString &description) const
static bool ddsDiscoveryCriteria(DtReflectedObject *refObj, void *usr)
The DIS reflected list's discovery condition callback.
virtual T_PortalInteraction * translate(T_PortalInteraction *destination, const T_DDSInteraction &source)=0
Translates the given DDS interaction to a Portal interaction (abstract).
virtual void callObjectUpdateCallbacks(const DtBrokerObject *obj)
virtual bool isPortalDiscoverable(const DtPortalReflectedObject *refObj)
Checks if this portalObject is discoverable.
virtual DtString name() const
Accessor for the translator's name.