VR-Exchange 2.6 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
translator.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 <broker/dllExport.h>
13 #include <portal/pMessageKinds.h>
14 #include <vlutil/vlString.h>
15 
16 #define Dt_DEF_TRANSLATOR_NAME( strname )\
17  static const DtString& translatorName()\
18  {\
19  static DtString tName = strname;\
20  return tName;\
21  }
22 
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtBroker;
28 
36  {
37 
38  template <typename ProducedType>
39  friend class DtTranslatorFactory;
40 
41  public:
42 
47  DtTranslator( DtBroker* broker, const DtString& name, DtPortalMessageKind kind );
48 
50  virtual ~DtTranslator();
51 
53  virtual DtString name() const;
54 
56  virtual void enableReflectTranslator( bool enabled );
57  virtual void enablePublishTranslator( bool enabled );
58 
59  virtual bool isReflectEnabled() const;
60  virtual bool isPublishEnabled() const;
61 
64 
65  virtual void initializePortalCallbacks() = 0;
66  virtual void removePortalCallbacks() = 0;
67 
69 
71  virtual void shutdown() = 0;
72 
75  virtual void tick() {};
76 
80  inline DtBroker* broker() const { return myBroker; }
81 
82  private:
83 
85  DtTranslator( const DtTranslator& other );
86 
88  DtTranslator& operator = ( const DtTranslator& other );
89 
90  protected:
91 
97 
98  };
99 
100 }

Document ID: Generated on Wed Jan 30 18:15:18 EST 2019 from SVN revision 195534
Copyright © 2005-2019 VT MÄK. All Rights Reserved (www.mak.com)