VR-Exchange 2.6 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pControlMessage.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 <portal/pMessage.h>
13 
14 namespace MAKVrExchange
15 {
16 
17  class DtPortalConnection;
18 
23  {
24  public:
25 
26  typedef void (*MessageCbFcn)( const DtPortalMessage& message, void* usr );
27 
28  public:
29 
32 
35 
37  virtual ~DtPortalControlMessage();
38 
41 
43  DtDEC_ATTRIBUTE( DtString, BrokerName, brokerName );
44 
46  DtDEC_ATTRIBUTE( DtU32, BrokerId, brokerId );
47 
49  DtDEC_ATTRIBUTE( DtU32, BrokerType, brokerType );
50 
52 
54  public:
55 
56  virtual unsigned int netSize() const;
57  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
58  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
59 
60  virtual std::ostream& printDataToStream( std::ostream& str ) const;
61 
62  };
63 
64 
70  template <DtPortalMessageKind V_MessageKind>
72  {
73  public:
74 
75  typedef void (*DtPortalControlMessageCb)(
76  const DtPortalControlMessageTemplate<V_MessageKind>& msg, void* usr );
77 
78  public:
79 
81 
83 
84  static void addCallback( DtPortalConnection* pConn,
85  DtPortalControlMessageCb cb, void* usr );
86 
87  static void removeCallback( DtPortalConnection* pConn,
88  DtPortalControlMessageCb cb, void* usr );
89 
90  public:
91 
92 #ifdef _WIN32
93  static const DtPortalMessageKind theKind = V_MessageKind;
94 #else
96 #endif
97 
98  static DtPortalMessage* create();
99 
100  };
101 
102 
106  : public DtPortalControlMessageTemplate<DtObjectFilterKind>
107  {
108  public:
109 
111 
112  typedef void (*MessageCallbackType)(
113  const DtFilterObjectMessage& message, void* userData );
114 
115  public:
116 
118  static DtPortalMessage* create();
119 
122 
125 
127  virtual ~DtFilterObjectMessage();
128 
130  DtFilterObjectMessage& operator = ( const DtFilterObjectMessage& other );
131 
134 
135  bool operator == ( const DtFilterObjectMessage& other ) const;
136  bool operator != ( const DtFilterObjectMessage& other ) const;
137 
139 
140  static void addCallback( DtPortalConnection* connection,
141  MessageCallbackType callbackFunction, void* userData );
142  static void removeCallback( DtPortalConnection* connection,
143  MessageCallbackType callbackFunction, void* userData);
144 
145  virtual unsigned int netSize() const;
146  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
147  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
148 
149  virtual std::ostream& printDataToStream( std::ostream& stream ) const;
150 
153 
156  DtDEC_ATTRIBUTE( DtString, ObjectId, objectId );
157 
161  DtDEC_ATTRIBUTE( DtEntityIdentifier, EntityId, entityId );
162 
166  DtDEC_ATTRIBUTE( DtEntityType, EntityType, entityType );
167 
169  DtDEC_ATTRIBUTE( DtU16, FilterType, filterType );
170 
172  DtDEC_ATTRIBUTE( DtString, MarkingText, markingText );
173 
175  DtDEC_ATTRIBUTE( bool, FilterFlag, filterFlag );
176 
178 
179  };
180 
181 
187 
192 
193 
198 
204 
209 
214 
219 
224 
229 
235 
239 
243 
244 }
245 
246 #define _pControlMessage_INL_
247 #include <portal/pControlMessage.inl>
248 #undef _pControlMessage_INL_

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)