VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker/disBroker/linearObjectTranslator.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/linearObjectPublisher.h>
14 #include <vl/reflectedLinearObjectList.h>
15 
16 class DtReflectedLinearObject;
17 class DtLinearObjectRepository;
18 
19 #define LINEAR_OBJECT_TEMPLATE_ARGS \
20  DtPortalLinearObject, DtPortalReflectedLinearObject, \
21  DtReflectedLinearObject, DtReflectedLinearObjectList, \
22  DtLinearObjectRepository, DtLinearObjectPublisher
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtPortalLinearObject;
28 
29  namespace DtDisBroker
30  {
31 
32  template <>
33  DT_DLL_DISBROKER DtEntityIdentifier
35  const DtPortalReflectedLinearObject* refObj, const DtString& identifier );
36 
37  template <>
38  DT_DLL_DISBROKER DtObjectPublisher*
40  const DtPortalReflectedLinearObject* refObj, const DtEntityIdentifier& name );
41 
42 
46  : public DtDisObjectTranslator<LINEAR_OBJECT_TEMPLATE_ARGS>
47  {
48  public:
49 
51  Dt_DEF_TRANSLATOR_NAME( "Linear Object" );
52 
54  DtLinearObjectTranslator( DtBroker* disBroker );
55 
57  virtual ~DtLinearObjectTranslator();
58 
59  protected:
60 
63  virtual bool isDisPublishable( const DtBrokerObject* brokerObject,
64  const DtPortalReflectedLinearObject& refObj ) const;
65 
67  virtual DtString disObjectName( const DtPortalReflectedLinearObject* refObj );
68 
70  virtual void updateDisBrokerObject( DtBrokerObject* brokerObj,
71  const DtLinearObjectRepository& sr );
72 
75  virtual DtString portalObjectName( const DtReflectedLinearObject* refObj ) const;
76 
78  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
79  const DtPortalLinearObject& sr );
80 
81  // Translate from PDU to Portal.
82  virtual DtPortalLinearObject* translate( DtPortalLinearObject* dest,
83  const DtLinearObjectRepository& src, const DtReflectedLinearObject& refObj );
84 
85  // Translate segment data from PDU to Portal.
86  DtLinearSegmentData* translate( DtLinearSegmentData* dest,
87  const DtLinearSegmentRecord& src );
88 
89  // Translate from Portal to PDU.
90  virtual DtLinearObjectRepository* translate( DtLinearObjectRepository* dest,
91  const DtPortalLinearObject& src, const DtPortalReflectedLinearObject& refObj );
92 
93  // Translate segment data from Portal to PDU.
94  DtLinearSegmentRecord* translate( DtLinearSegmentRecord* dest,
95  const DtLinearSegmentData& src );
96 
97  };
98 
99  }
100 }

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)