VR-Exchange 2.5 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 
51  public:
52 
53  virtual unsigned int netSize() const;
54  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
55  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
56 
57  virtual std::ostream& printDataToStream( std::ostream& str ) const;
58 
59  };
60 
61 
67  template <DtPortalMessageKind V_MessageKind>
69  {
70  public:
71 
72  typedef void (*DtPortalControlMessageCb)(
73  const DtPortalControlMessageTemplate<V_MessageKind>& msg, void* usr );
74 
75  public:
76 
78 
80 
81  static void addCallback( DtPortalConnection* pConn,
82  DtPortalControlMessageCb cb, void* usr );
83 
84  static void removeCallback( DtPortalConnection* pConn,
85  DtPortalControlMessageCb cb, void* usr );
86 
87  public:
88 
90 
91  static DtPortalMessage* create();
92 
93  };
94 
95 
99  : public DtPortalControlMessageTemplate<DtObjectFilterKind>
100  {
101  public:
102 
104 
105  typedef void (*MessageCallbackType)(
106  const DtFilterObjectMessage& message, void* userData );
107 
108  public:
109 
111  static DtPortalMessage* create();
112 
115 
118 
120  virtual ~DtFilterObjectMessage();
121 
123  DtFilterObjectMessage& operator = ( const DtFilterObjectMessage& other );
124 
127 
128  bool operator == ( const DtFilterObjectMessage& other ) const;
129  bool operator != ( const DtFilterObjectMessage& other ) const;
130 
132 
133  static void addCallback( DtPortalConnection* connection,
134  MessageCallbackType callbackFunction, void* userData );
135  static void removeCallback( DtPortalConnection* connection,
136  MessageCallbackType callbackFunction, void* userData);
137 
138  virtual unsigned int netSize() const;
139  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
140  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
141 
142  virtual std::ostream& printDataToStream( std::ostream& stream ) const;
143 
146 
149  DtDEC_ATTRIBUTE( DtString, ObjectId, objectId );
150 
154  DtDEC_ATTRIBUTE( DtEntityIdentifier, EntityId, entityId );
155 
159  DtDEC_ATTRIBUTE( DtEntityType, EntityType, entityType );
160 
162  DtDEC_ATTRIBUTE( DtU16, FilterType, filterType );
163 
165  DtDEC_ATTRIBUTE( DtString, MarkingText, markingText );
166 
168  DtDEC_ATTRIBUTE( bool, FilterFlag, filterFlag );
169 
171 
172  };
173 
174 
180 
185 
186 
191 
197 
202 
207 
212 
217 
223 
227 
231 
232 }
233 
234 #define _pControlMessage_INL_
235 #include <portal/pControlMessage.inl>
236 #undef _pControlMessage_INL_

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)