VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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_INTERACTION_PORTAL_CALLBACKS (   DtPortalInteractionType,
  DtInteractionType 
)
Value:
virtual void createPortalInteraction( const DtInteractionType& incomming ); \
static void receivePortalInteraction( const DtPortalInteractionType& inter, void* usr );
#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_INTERACTION (   DtTranslatorClass,
  DtPortalInteractionType,
  DtInteractionType,
  DtObjectKind 
)
Value:
void DtTranslatorClass::createPortalInteraction( const DtInteractionType& in ) \
{ \
DtPortalInteractionType out; \
out.setKind( DtObjectKind ); \
\
translate( &out, in ); \
\
if ( broker()->isTranslatorDebuggingOn(name()) ) \
{ \
printIncomingOutgoingInteractions( in, out ); \
} \
broker()->portalConnection()->send( out ); \
}
#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_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_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_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_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 ); \
}
#define DT_DEFINE_RECEIVE_PORTAL_UPDATE (   DtTranslatorClass,
  DtBrokerObjectNamespace,
  DtPortalReflectedObjType,
  DtPortalObjType,
  DtProtocolPublisher,
  DtProtocolStateRepository,
  DtProtocol 
)
#define DT_TICK_ALL_PUBLISHERS (   DtPublisherContainerType,
  DtBrokerObjectNamespace,
  DtPublisherContainer,
  DtPublisherType 
)
Value:
DtPublisherContainerType::iterator pubItr = DtPublisherContainer.begin(); \
DtPublisherContainerType::iterator pubEnd = DtPublisherContainer.end(); \
for ( ; pubItr != pubEnd; ++pubItr ) \
{ \
DtBrokerObjectNamespace::DtBrokerObject* brokerObject = pubItr->second; \
DtPublisherType* publisher = static_cast<DtPublisherType*>( brokerObject->publisherPtr() ); \
if ( publisher && brokerObject->isPublishable() ) \
{ \
publisher->tick(); \
} \
}

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)