VR-Exchange 2.1 API Documentation
tenaBroker/emitterSystemTrans.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2006 M�K Technologies, Inc.** All rights reserved.
3 ******************************************************************************/
4 /*******************************************************************************
5 * $RCSfile: emitterSystemTrans.h,v $ $Revision: 1.9 $ $State:
6 $******************************************************************************/
7 
8 #ifndef emitterSystemTrans_H_
9 #define emitterSystemTrans_H_
10 
14 
15 #include "objectTrans.h" //DtObjectTranslator
16 
17 /* Portal header files */
18 #include <portal/pReflectedObjectManagerTypes.h> //typedef DtPortalReflectedEmitterSystemObjectManager
19  //typedef DtPortalReflectedEmitterSystemObject
20  //class DtPortalEmitterSystemObject
21 
22 class DtEmitterBeamRepository;
23 class DtEmitterSystemRepository;
24 class DtReflectedEmitterSystem;
25 class DtReflectedEmitterSystemList;
26 
27 namespace MAKVrExchange
28 {
29  namespace DtTenaBroker
30  {
31 
36  {
37  public:
38 
60 
63 
64  private:
65 
68 
71 
72  public:
73 
77  virtual const char* virtualTranslatorName() const;
78 
84  static const char* translatorName();
85 
87  virtual void enableTranslator(bool enabled);
88 
93  virtual void tick();
94 
95  virtual DtEmitterBeamData* translate( DtEmitterBeamData* destination,
96  const DtEmitterBeamRepository& source );
97 
113  virtual DtPortalEmitterSystemObject* translate( DtPortalEmitterSystemObject* destination,
114  const DtEmitterSystemRepository& source );
115 
116  virtual DtEmitterBeamRepository* translate( DtEmitterBeamRepository* destination,
117  const DtEmitterBeamData& source );
118 
135  virtual DtEmitterSystemRepository* translate( DtEmitterSystemRepository* destination,
136  const DtPortalEmitterSystemObject& source );
137 
138  protected:
139 
155  static bool tenaDiscoveryCriteria( DtReflectedObject* object, void* userData );
156 
171  static void tenaAdditionCallback( DtReflectedEmitterSystem* object, void* userData );
172 
184  static void tenaUpdateCallback( DtReflectedEmitterSystem* object, void* userData );
185 
199  static void tenaRemovalCallback( DtReflectedEmitterSystem* object, void* userData );
200 
216  static bool portalDiscoveryCriteria( const DtPortalReflectedObject* object,
217  void* userData );
218 
232  static void portalAdditionCallback( const DtPortalReflectedEmitterSystemObject& object,
233  void* userData );
234 
246  static void portalUpdateCallback( const DtPortalReflectedEmitterSystemObject& object,
247  void* userData );
248 
262  static void portalRemovalCallback( const DtPortalReflectedEmitterSystemObject& object,
263  void* userData );
264 
286  virtual void discoverTenaObject( DtReflectedEmitterSystem* object );
287 
304  virtual void discoverPortalObject( const DtPortalReflectedEmitterSystemObject& object );
305 
329  virtual void receiveTenaUpdate( DtReflectedEmitterSystem* object);
330 
351  virtual void receivePortalUpdate( const DtPortalReflectedEmitterSystemObject& object );
352 
370  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
371 
394  virtual void createTenaPublisher( DtBrokerObject* brokerObject );
395 
396  //Destroy the DtPortalEmitterSystemObjectPublisher of the brokerObject.
408  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
409 
422  virtual void deleteTenaPublisher( DtBrokerObject* brokerObject );
423 
430  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject ) const;
431 
438  virtual bool isTenaPublishable( const DtBrokerObject* brokerObject ) const;
439 
441  static const char thisTranslatorName[];
442 
444  DtReflectedEmitterSystemList* myTenaReflectedList;
445 
448 
451 
454 
455  private:
456 
458  int operator==( const DtEmitterSystemObjectTranslator& rightOperand );
459 
461  int operator!=( const DtEmitterSystemObjectTranslator& rightOperand );
462 
463  };
464 
465  }
466 }
467 
468 #endif

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)