VR-Exchange 2.1 API Documentation
genericTrans.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 #pragma once
6 
7 
8 
9 
10 #include <hlaBroker/objectTrans.h>
14 
15 #include <map>
16 
17 class DtReflectedGenericObject;
18 class DtReflectedGenericObjectList;
19 class DtGenericStateRepository;
20 class DtGenericObjectPublisher;
21 
22 namespace MAKVrExchange { namespace DtHlaBroker {
23 
27  //
33  {
34  public:
35 
36  DtGenericTranslator(DtHlaBroker *broker, const DtString &objClassName);
37  virtual ~DtGenericTranslator();
38 
39  private:
40 
43 
45  DtGenericTranslator& operator=(const DtGenericTranslator& other);
46 
47  public:
48 
49  virtual void tick();
50 
51  virtual const char* virtualTranslatorName() const;
52  static const char* translatorName() { return "Generic Object"; };
53 
55  virtual void enableTranslator(bool enabled);
56 
99  virtual DtPortalGenericObject* translate(
100  DtPortalGenericObject* destination,
101  const DtGenericStateRepository& source,
102  const DtReflectedObject& reflectedObject = *(DtReflectedObject*)NULL );
103 
143  virtual DtGenericStateRepository* translate(
144  DtGenericStateRepository* destination,
145  const DtPortalGenericObject& source,
146  const DtPortalReflectedObject& reflectedObject = *(DtPortalReflectedObject*)NULL );
147 
148  protected:
149 
150  virtual void discoverHlaObject(DtReflectedGenericObject *obj);
151  virtual void discoverPortalObject(const DtPortalReflectedGenericObject &obj);
152 
153  virtual void receiveHlaUpdate(DtReflectedObject *obj);
154  virtual void receivePortalUpdate(const DtPortalReflectedObject &obj);
155 
156  virtual void createHlaPublisher(DtBrokerObject* brokerObject);
157  virtual void createPortalPublisher(DtBrokerObject* brokerObject);
158 
159  virtual void deleteHlaPublisher(DtBrokerObject* brokerObject);
160  virtual void deletePortalPublisher(DtBrokerObject* brokerObject);
161 
163  virtual bool isHlaPublishable(const DtBrokerObject* brokerObject) const;
164 
166  virtual bool isPortalPublishable(const DtBrokerObject* brokerObject) const;
167 
168  protected:
169 
170  static void hlaObjectAddedCb(DtReflectedGenericObject *obj, void *ud);
171  static void hlaObjectUpdatedCb(DtReflectedGenericObject *obj, void *ud);
172  static void hlaObjectDeletedCb(DtReflectedGenericObject *obj, void *ud);
173 
174  static bool hlaDiscoveryCriteria(DtReflectedObject* obj, void *usr);
175  static bool portalDiscoveryCriteria(
176  const DtPortalReflectedObject *obj, void *usr);
177 
178  static void portalObjectAddedCb(
179  const DtPortalReflectedGenericObject& obj, void *ud);
180  static void portalObjectUpdatedCb(
181  const DtPortalReflectedGenericObject& obj, void *ud);
182  static void portalObjectDeletedCb(
183  const DtPortalReflectedGenericObject& obj, void *ud);
184 
185  protected:
186 
187  DtReflectedGenericObjectList *myHlaReflectedList;
189 
192 
193  };
194 }}
195 
196 

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)