VR-Exchange 2.2 API Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
broker
baseObjectTranslator.h
Go to the documentation of this file.
1
/****************************************************************************
2
* Copyright (c) 2012 VT MAK
3
* All rights reserved.
4
****************************************************************************/
5
6
#pragma once
7
8
#include <
broker/translator.h
>
9
#include <
portal/pReflectedObjectManager.h
>
10
#include <
portal/pReflectedObject.h
>
11
12
#define OBJECT_TRANSLATOR_TEMPLATE_LIST \
13
template \
14
< class T_DtBrokerObject \
15
, class T_DtPortalObject \
16
, class T_ParentClass >
17
18
19
namespace
MAKVrExchange
20
{
21
class
DtBaseObjectTranslator
:
public
DtTranslator
22
{
23
public
:
24
26
DtBaseObjectTranslator
(
DtBroker
*
broker
,
const
DtString
&
name
,
DtPortalMessageKind
kind );
27
28
virtual
void
enableTranslator
(
bool
enabled );
29
virtual
void
initializePortalCallbacks
() = 0;
30
virtual
void
removePortalCallbacks
() = 0;
31
32
typedef
void (*
BrokerObjectCbPtr
) (
const
void
*brokerObjectPointer,
void
*userData);
33
virtual
void
addObjectDiscoveredCallback
(
BrokerObjectCbPtr
funcPtr,
void
*userData);
34
virtual
void
addObjectUpdatedCallback
(
BrokerObjectCbPtr
funcPtr,
void
*userData);
35
virtual
void
addObjectRemovedCallback
(
BrokerObjectCbPtr
funcPtr,
void
*userData);
36
37
protected
:
38
39
struct
CallbackPair
{
BrokerObjectCbPtr
fcn
;
void
*
userData
; };
40
typedef
std::list<CallbackPair>
CallbackPairList
;
41
42
CallbackPairList
myDiscoverCallbacks
;
43
CallbackPairList
myUpdateCallbacks
;
44
CallbackPairList
myRemoveCallbacks
;
45
};
46
52
OBJECT_TRANSLATOR_TEMPLATE_LIST
53
class
DtObjectTranslator
:
public
T_ParentClass
54
{
55
public
:
56
58
DtObjectTranslator
(
DtBroker
* broker,
const
DtString
& name,
DtPortalMessageKind
kind );
59
61
virtual
~DtObjectTranslator
();
62
63
virtual
void
initializePortalCallbacks
();
64
virtual
void
removePortalCallbacks
();
65
66
virtual
void
discoverPortalObject
(
const
DtPortalReflectedObjectTemplate< T_DtPortalObject >
&obj) = 0;
67
virtual
void
receivePortalUpdate
(
const
DtPortalReflectedObjectTemplate< T_DtPortalObject >
&obj) = 0;
68
virtual
void
removePortalObject
(
const
DtPortalReflectedObjectTemplate< T_DtPortalObject >
&obj) = 0;
69
70
72
virtual
void
callObjectDiscoverCallbacks
(
const
T_DtBrokerObject* brokerObject);
73
75
virtual
void
callObjectUpdateCallbacks
(
const
T_DtBrokerObject* brokerObject);
76
78
virtual
void
callObjectRemoveCallbacks
(
const
T_DtBrokerObject* brokerObject);
79
82
virtual
bool
isPortalPublishable
(
const
T_DtBrokerObject* brokerObject)
const
;
83
87
virtual
bool
isPortalDiscoverable
(
const
DtPortalReflectedObject
* brokerObject)
const
;
88
91
static
void
portalObjectAddedCb
(
const
DtPortalReflectedObjectTemplate< T_DtPortalObject >
&obj,
void
*ud);
92
95
static
void
portalObjectUpdatedCb
(
const
DtPortalReflectedObjectTemplate< T_DtPortalObject >
&obj,
void
*ud);
96
99
static
void
portalObjectDeletedCb
(
const
DtPortalReflectedObjectTemplate< T_DtPortalObject >
&obj,
void
*ud);
100
103
static
bool
portalDiscoveryCriteria
(
const
DtPortalReflectedObject
* obj,
void
* usr );
104
105
protected
:
106
DtPortalReflectedObjectManager< DtPortalReflectedObjectTemplate< T_DtPortalObject >
> *
myPortalReflectedManager
;
107
};
108
};
Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (
www.mak.com
)