VR-Exchange 2.1 API Documentation
Macros
pMacros.h File Reference

Go to the source code of this file.

Macros

#define DT_DECLARE_PORTAL_CALLBACKS(DtBrokerObjectNamespace, DtPortalReflectedObjType)
#define DT_DEFINE_CREATE_PORTAL_PUBLISHER(DtTranslatorClass, DtBrokerObjectNamespace, DtPortalObjectType, DtReflectedObject)
#define DT_DEFINE_IS_PORTAL_PUBLISHABLE(DtTranslatorClass, DtBrokerObjectNamespace, Protocol)
#define DT_DEFINE_DELETE_PORTAL_PUBLISHER(DtTranslatorClass, DtBrokerObjectNamespace, DtPortalObjectType)
#define DT_DEFINE_DISCOVER_PORTAL_OBJECT(DtTranslatorClass, DtBrokerObjectNamespace, DtPortalReflectedObjType, DtProtocol)
#define DT_DEFINE_RECEIVE_PORTAL_UPDATE(DtTranslatorClass, DtBrokerObjectNamespace, DtPortalReflectedObjType, DtPortalObjType, DtProtocolPublisher, DtProtocolStateRepository, DtProtocol)
#define DT_DEFINE_PORTAL_CALLBACKS(DtTranslatorClass, DtPortalReflectedObjType, DtTemplates)
#define DT_TICK_ALL_PUBLISHERS(DtPublisherContainerType, DtBrokerObjectNamespace, DtPublisherContainer, DtPublisherType)
#define DT_DECLARE_INTERACTION_PORTAL_CALLBACKS(DtPortalInteractionType, DtInteractionType)
#define DT_DEFINE_CREATE_PORTAL_INTERACTION(DtTranslatorClass, DtPortalInteractionType, DtInteractionType, DtObjectKind)
#define DT_DEFINE_RECEIVE_PORTAL_INTERACTION(DtTranslatorClass, DtPortalInteractionType, DtProtocol)

Macro Definition Documentation

#define DT_DECLARE_PORTAL_CALLBACKS (   DtBrokerObjectNamespace,
  DtPortalReflectedObjType 
)
Value:
virtual void createPortalPublisher(DtBrokerObjectNamespace::DtBrokerObject* brokerObject); \
virtual bool isPortalPublishable(const DtBrokerObjectNamespace::DtBrokerObject* brokerObject) const; \
virtual void deletePortalPublisher(DtBrokerObjectNamespace::DtBrokerObject* brokerObject); \
virtual void discoverPortalObject(const DtPortalReflectedObjType &obj); \
virtual void receivePortalUpdate(const DtPortalReflectedObjType &obj); \
\
static void portalObjectAddedCb(const DtPortalReflectedObjType &obj, void *ud); \
static void portalObjectUpdatedCb(const DtPortalReflectedObjType &obj, void *ud); \
static void portalObjectDeletedCb(const DtPortalReflectedObjType &obj, void *ud);
#define DT_DEFINE_CREATE_PORTAL_PUBLISHER (   DtTranslatorClass,
  DtBrokerObjectNamespace,
  DtPortalObjectType,
  DtReflectedObject 
)
Value:
void DtTranslatorClass::createPortalPublisher( DtBrokerObjectNamespace::DtBrokerObject *brokerObject ) \
{ \
\
const DtReflectedObject* reflectedObj = \
static_cast<const DtReflectedObject*>( brokerObject->reflectedObjPtr() ); \
\
publisher->sr()->setIdentifier(reflectedObj->globalId()); \
brokerObject->setPublisherPtr(publisher); \
}
#define DT_DEFINE_IS_PORTAL_PUBLISHABLE (   DtTranslatorClass,
  DtBrokerObjectNamespace,
  Protocol 
)
Value:
bool DtTranslatorClass::isPortalPublishable( const DtBrokerObjectNamespace::DtBrokerObject *brokerObject ) const \
{ \
assert( brokerObject->protocol() == DtBrokerObjectNamespace::DtBrokerObject::Protocol );\
return true;\
}
#define DT_DEFINE_DELETE_PORTAL_PUBLISHER (   DtTranslatorClass,
  DtBrokerObjectNamespace,
  DtPortalObjectType 
)
Value:
void DtTranslatorClass::deletePortalPublisher(DtBrokerObjectNamespace::DtBrokerObject* brokerObject) \
{ \
static_cast<MAKVrExchange::DtPortalObjectPublisherTemplate<DtPortalObjectType> *>(brokerObject->publisherPtr()); \
\
if (publisher) \
{ \
DtDELETE( publisher ); \
brokerObject->setPublisherPtr( publisher ); \
} \
}
#define DT_DEFINE_DISCOVER_PORTAL_OBJECT (   DtTranslatorClass,
  DtBrokerObjectNamespace,
  DtPortalReflectedObjType,
  DtProtocol 
)
Value:
void DtTranslatorClass::discoverPortalObject(const DtPortalReflectedObjType &refObj) \
{ \
DtBrokerObjectNamespace::DtBrokerObject* brokerObject = findBrokerObject(&refObj); \
if (!brokerObject) \
{ \
brokerObject = createBrokerObject(&refObj); \
} \
\
brokerObject->setLastUpdate(myBroker->simTime()); \
brokerObject->setObjectName(refObj.sr()->identifier()); \
brokerObject->setIsDiscovered(true); \
\
create##DtProtocol##Publisher( brokerObject ); \
\
refObj.addUpdateCallback(DtTranslatorClass::portalObjectUpdatedCb, this); \
receivePortalUpdate(refObj); \
}
#define DT_DEFINE_RECEIVE_PORTAL_UPDATE (   DtTranslatorClass,
  DtBrokerObjectNamespace,
  DtPortalReflectedObjType,
  DtPortalObjType,
  DtProtocolPublisher,
  DtProtocolStateRepository,
  DtProtocol 
)
#define DT_DEFINE_PORTAL_CALLBACKS (   DtTranslatorClass,
  DtPortalReflectedObjType,
  DtTemplates 
)
Value:
DtTemplates \
void DtTranslatorClass::portalObjectAddedCb(const DtPortalReflectedObjType & reflectedObj, void *ud) \
{ \
DtTranslatorClass *et = (DtTranslatorClass*)ud; \
et->discoverPortalObject(reflectedObj); \
}; \
\
DtTemplates \
void DtTranslatorClass::portalObjectUpdatedCb(const DtPortalReflectedObjType & reflectedObj, void *ud) \
{ \
DtTranslatorClass *et = (DtTranslatorClass*)ud; \
et->receivePortalUpdate(reflectedObj); \
}; \
\
DtTemplates \
void DtTranslatorClass::portalObjectDeletedCb(const DtPortalReflectedObjType & reflectedObj, void *ud) \
{ \
DtTranslatorClass *et = (DtTranslatorClass*)ud; \
et->removePortalObject(&reflectedObj); \
}
#define DT_TICK_ALL_PUBLISHERS (   DtPublisherContainerType,
  DtBrokerObjectNamespace,
  DtPublisherContainer,
  DtPublisherType 
)
Value:
for ( DtPublisherContainerType::iterator pubItr = \
DtPublisherContainer.begin(); pubItr != DtPublisherContainer.end(); ++pubItr) \
{ \
DtBrokerObjectNamespace::DtBrokerObject* brokerObject = pubItr->second; \
DtPublisherType *publisher = static_cast<DtPublisherType*>( brokerObject->publisherPtr() ); \
if (publisher && brokerObject->isPublishable()) \
{ \
publisher->tick(); \
} \
}
#define DT_DECLARE_INTERACTION_PORTAL_CALLBACKS (   DtPortalInteractionType,
  DtInteractionType 
)
Value:
virtual void createPortalInteraction( const DtInteractionType& incomming ); \
static void receivePortalInteraction( const DtPortalInteractionType &inter, void *usr);
#define DT_DEFINE_CREATE_PORTAL_INTERACTION (   DtTranslatorClass,
  DtPortalInteractionType,
  DtInteractionType,
  DtObjectKind 
)
Value:
void DtTranslatorClass::createPortalInteraction( const DtInteractionType& in ) \
{ \
DtPortalInteractionType out; \
out.setKind(DtObjectKind); \
\
translate( &out, in ); \
\
if (broker()->isTranslatorDebuggingOn( virtualTranslatorName() )) \
{ \
printIncomingOutgoingInteractions( in, out); \
} \
broker()->portalConnection()->send(out); \
}
#define DT_DEFINE_RECEIVE_PORTAL_INTERACTION (   DtTranslatorClass,
  DtPortalInteractionType,
  DtProtocol 
)
Value:
void DtTranslatorClass::receivePortalInteraction( \
const DtPortalInteractionType &inter, void *usr) \
{ \
DtTranslatorClass *trans = (DtTranslatorClass*)usr; \
trans->create##DtProtocol##Interaction(inter); \
}

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)