VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker/disBroker/iffTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2015 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <disBroker/disTrans.h>
13 #include <vl/reflectedIffList.h>
14 #include <vl/iffPublisher.h>
15 
16 class DtReflectedIff;
17 class DtIffStateRepository;
18 
19 #define IFF_TEMPLATE_ARGS \
20  DtPortalIffObject, DtPortalReflectedIffObject, \
21  DtReflectedIff, DtReflectedIffList, \
22  DtIffStateRepository, DtIffPublisher
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtPortalIffObject;
28 
29  namespace DtDisBroker
30  {
31 
32  template <>
33  DT_DLL_DISBROKER DtEntityIdentifier
35  const DtPortalReflectedIffObject* refObj,
36  const DtString& identifier );
37 
38  template <>
39  DT_DLL_DISBROKER DtObjectPublisher*
41  const DtPortalReflectedIffObject* refObj,
42  const DtEntityIdentifier& name );
43 
44 
48  : public DtDisObjectTranslator<IFF_TEMPLATE_ARGS>
49  {
50  public:
51 
53  Dt_DEF_TRANSLATOR_NAME( "IFF" );
54 
56  DtIffObjectTranslator( DtBroker* disBroker );
57 
59  virtual ~DtIffObjectTranslator();
60 
61  protected:
62 
65  virtual bool isDisPublishable( const DtBrokerObject* brokerObject,
66  const DtPortalReflectedIffObject* refObj );
67 
73  virtual DtString disObjectName( const DtPortalReflectedIffObject* refObj ) const;
74 
76  virtual void updateDisBrokerObject( DtBrokerObject* brokerObj,
77  const DtIffStateRepository& sr );
78 
81  virtual bool performDisGlobalIdMapping( const DtObjectPublisher* publisher,
82  const DtPortalReflectedIffObject& refObj,
83  DtGlobalIdMapper::ObjectType type /* = DtGlobalIdMapper::EntityType */,
84  int systemId /* = DtGlobalIdMapper::NoSystemId */,
85  int beamId /* = DtGlobalIdMapper::NoBeamId */ );
86 
89  virtual DtString portalObjectName( const DtReflectedIff* refObj ) const;
90 
92  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
93  const DtPortalIffObject& sr );
94 
98  virtual bool performPortalGlobalIdMapping(
99  const DtPortalIffObjectPublisher* publisher,
100  const DtReflectedIff& refObj,
101  DtGlobalIdMapper::ObjectType type /* = DtGlobalIdMapper::EntityType */,
102  int systemId /* = DtGlobalIdMapper::NoSystemId */,
103  int beamId /* = DtGlobalIdMapper::NoBeamId */ );
104 
107  virtual void deleteDisPublisher( DtBrokerObject* object );
108 
110  virtual DtPortalIffObject* translate( DtPortalIffObject* destination,
111  const DtIffStateRepository& source, const DtReflectedIff& refObj );
112 
114  virtual DtIffStateRepository* translate( DtIffStateRepository* destination,
115  const DtPortalIffObject& source, const DtPortalReflectedIffObject& refObj );
116 
117  };
118 
119  }
120 }

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)