VR-Exchange 2.2 API Documentation
baseObjectTranslator.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2012 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
6 #pragma once
7 
8 #include <broker/translator.h>
11 
12 #define OBJECT_TRANSLATOR_TEMPLATE_LIST \
13  template \
14  < class T_DtBrokerObject \
15  , class T_DtPortalObject \
16  , class T_ParentClass >
17 
18 
19 namespace MAKVrExchange
20 {
22  {
23  public:
24 
27 
28  virtual void enableTranslator( bool enabled );
29  virtual void initializePortalCallbacks() = 0;
30  virtual void removePortalCallbacks() = 0;
31 
32  typedef void (*BrokerObjectCbPtr) ( const void *brokerObjectPointer, void *userData);
33  virtual void addObjectDiscoveredCallback(BrokerObjectCbPtr funcPtr, void *userData);
34  virtual void addObjectUpdatedCallback(BrokerObjectCbPtr funcPtr, void *userData);
35  virtual void addObjectRemovedCallback(BrokerObjectCbPtr funcPtr, void *userData);
36 
37  protected:
38 
40  typedef std::list<CallbackPair> CallbackPairList;
41 
45  };
46 
54  {
55  public:
56 
58  DtObjectTranslator( DtBroker* broker, const DtString& name, DtPortalMessageKind kind );
59 
61  virtual ~DtObjectTranslator();
62 
63  virtual void initializePortalCallbacks();
64  virtual void removePortalCallbacks();
65 
69 
70 
72  virtual void callObjectDiscoverCallbacks(const T_DtBrokerObject* brokerObject);
73 
75  virtual void callObjectUpdateCallbacks(const T_DtBrokerObject* brokerObject);
76 
78  virtual void callObjectRemoveCallbacks(const T_DtBrokerObject* brokerObject);
79 
82  virtual bool isPortalPublishable(const T_DtBrokerObject* brokerObject) const;
83 
87  virtual bool isPortalDiscoverable(const DtPortalReflectedObject* brokerObject) const;
88 
92 
96 
100 
103  static bool portalDiscoveryCriteria( const DtPortalReflectedObject* obj, void* usr );
104 
105  protected:
107  };
108 };

Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)