VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pControlMessage.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portal/pMessage.h>
13 
14 
15 namespace MAKVrExchange
16 {
17 
18  class DtPortalConnection;
19 
24  {
25  public:
26 
27  typedef void (*MessageCbFcn)( const DtPortalMessage& message, void* usr );
28 
29  public:
30 
33 
36 
38  virtual ~DtPortalControlMessage();
39 
42 
44  DtDEC_ATTRIBUTE( DtString, BrokerName, brokerName );
45 
47  DtDEC_ATTRIBUTE( DtU32, BrokerId, brokerId );
48 
50 
52  public:
53 
54  virtual unsigned int netSize() const;
55  virtual void writeSelfToBuffer( void* buffer ) const;
56  virtual void readSelfFromBuffer( const void* buffer );
57 
58  virtual std::ostream& printDataToStream( std::ostream& str ) const;
59 
60  };
61 
62 
68  template <DtPortalMessageKind V_MessageKind>
70  {
71  public:
72 
73  typedef void (*DtPortalControlMessageCb)(
74  const DtPortalControlMessageTemplate<V_MessageKind>& msg, void* usr );
75 
76  public:
77 
79 
81 
82  static void addCallback( DtPortalConnection* pConn,
83  DtPortalControlMessageCb cb, void* usr );
84 
85  static void removeCallback( DtPortalConnection* pConn,
86  DtPortalControlMessageCb cb, void* usr );
87 
88  public:
89 
91 
92  static DtPortalMessage* create();
93 
94  };
95 
96 
100  : public DtPortalControlMessageTemplate<DtObjectFilterKind>
101  {
102  public:
103 
105 
106  typedef void (*MessageCallbackType)(
107  const DtFilterObjectMessage& message, void* userData );
108 
109  public:
110 
113 
115  DtFilterObjectMessage( const DtFilterObjectMessage& original );
116 
118  virtual ~DtFilterObjectMessage();
119 
121  DtFilterObjectMessage& operator = ( const DtFilterObjectMessage& original );
122 
125 
126  bool operator == ( const DtFilterObjectMessage& leftHandOperand ) const;
127  bool operator != ( const DtFilterObjectMessage& leftHandOperand ) const;
128 
130 
131  static void addCallback( DtPortalConnection* connection,
132  MessageCallbackType callbackFunction, void* userData );
133 
134  static void removeCallback( DtPortalConnection* connection,
135  MessageCallbackType callbackFunction, void* userData);
136 
139 
142  DtDEC_ATTRIBUTE( DtString, ObjectId, objectId );
143 
147  DtDEC_ATTRIBUTE( DtEntityIdentifier, EntityId, entityId );
148 
152  DtDEC_ATTRIBUTE( DtEntityType, EntityType, entityType );
153 
155  DtDEC_ATTRIBUTE( DtU16, FilterType, filterType );
156 
158  DtDEC_ATTRIBUTE( DtString, MarkingText, markingText );
159 
161  DtDEC_ATTRIBUTE( bool, FilterFlag, filterFlag );
162 
164 
166  public:
167 
168  static DtPortalMessage* create();
169 
170  virtual unsigned int netSize() const;
171  virtual void writeSelfToBuffer( void* buffer ) const;
172  virtual void readSelfFromBuffer( const void* buffer );
173 
174  virtual std::ostream& printDataToStream( std::ostream& stream ) const;
175 
176  };
177 
178 
184 
189 
190 
195 
201 
206 
211 
217 
221 
225 
226 }
227 
228 #define pControlMessage_INL_
229 #include <portal/pControlMessage.inl>
230 #undef pControlMessage_INL_

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)