WebLVC 1.7d API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
baseInteractionTranslator.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <broker/translator.h>
13 
14 namespace MAKVrExchange
15 {
16 
22  {
23  public:
24 
26  DtInteractionTranslator( DtBroker* broker, const DtString& name,
27  DtPortalMessageKind kind );
28 
30  virtual ~DtInteractionTranslator();
31 
33  virtual unsigned int numInteractions() const;
35  virtual void setNumInteractions( unsigned int num );
36 
39 
40  virtual void initializePortalCallbacks() = 0;
41  virtual void removePortalCallbacks() = 0;
42 
44 
46  virtual void shutdown() = 0;
47 
48  protected:
49 
50  unsigned int myNumInteractions;
51 
52  };
53 
54 
59  template <class T_PortalInteraction,class T_ParentClass=DtInteractionTranslator>
61  {
62  public:
63 
66 
67  public:
68 
70  DtBaseInteractionTranslator( DtBroker* broker, const DtString& name,
71  DtPortalMessageKind kind );
72 
75 
79  virtual void enablePublishTranslator( bool enabled );
80 
81  virtual void initializePortalCallbacks();
82  virtual void removePortalCallbacks();
83 
85  virtual void shutdown();
86 
87  protected:
88 
91  static void receivePortalInteraction( const T_PortalInteraction& inter, void* usr );
92 
95  virtual void receivePortalInteraction( const T_PortalInteraction& inter );
96 
99  virtual bool isPortalDiscoverable( const T_PortalInteraction& inter );
100 
104  virtual void createInteraction( const T_PortalInteraction& incoming );
105 
106  };
107 
108 };
109 
110 #define _baseInteractionTranslator_INL_
111 #include "baseInteractionTranslator.inl"
112 #undef _baseInteractionTranslator_INL_
virtual void shutdown()
Performs any virtual shutdown logic prior to deletion.
virtual void createInteraction(const T_PortalInteraction &incoming)
This function is required for a translator to correctly publish objects from the portal to your proto...
Responsible for converting a specific message type between two protocols.
Definition: translator.h:35
DtBaseInteractionTranslator are responsible for translating messages for things that do not have stat...
Definition: baseInteractionTranslator.h:60
virtual bool isPortalDiscoverable(const T_PortalInteraction &inter)
Checks whether the interaction is discoverable and returns the verdict.
#define DT_DLL_BROKER
Definition: include/broker/dllExport.h:20
unsigned int myNumInteractions
Definition: baseInteractionTranslator.h:50
DtInteractionTranslators provide common logic for translating interactions.
Definition: baseInteractionTranslator.h:21
Base class for all broker objects.
Definition: broker.h:58
static void receivePortalInteraction(const T_PortalInteraction &inter, void *usr)
This callback is called when a portal interaction is received.
virtual ~DtBaseInteractionTranslator()
Virtual DTOR.
DtBaseInteractionTranslator(DtBroker *broker, const DtString &name, DtPortalMessageKind kind)
CTOR.
Contains the DtTranslator class declaration.
DtBaseInteractionTranslator< T_PortalInteraction, T_ParentClass > ParentClass
Definition: baseInteractionTranslator.h:65
DtPortalMessageKind
A List of message kinds distributed with the Portal.
Definition: pMessageKinds.h:23
virtual void enablePublishTranslator(bool enabled)
Enables or disables the translator from the protocol side.

Document ID: Generated on Wed Jun 21 15:05:44 EDT 2023 from SVN revision 256253
Copyright © 2005-2023 MAK Technologies. All Rights Reserved (www.mak.com)