VR-Exchange 2.2 API Documentation
pControlMessage.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 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 
25  class DT_DLL_LIBPORTAL DtPortalControlMessage : public DtPortalMessage
26  {
27  public:
28 
29  typedef void (*MessageCbFcn)( const DtPortalMessage& message, void* usr );
30 
31  public:
32 
35 
37  virtual ~DtPortalControlMessage();
38 
41 
43  virtual DtPortalMessageKind kind() const = 0;
44 
46  virtual unsigned int netSize() const;
47 
49  virtual void writeSelfToBuffer( void* buffer ) const;
50 
52  virtual void readSelfFromBuffer( const void* buffer );
53 
55  DtDEC_ATTRIBUTE( DtString, BrokerName, brokerName );
56 
58  DtDEC_ATTRIBUTE( DtU32, BrokerId, brokerId );
59 
60  public:
61 
63  virtual std::ostream &printDataToStream( std::ostream &str ) const;
64 
65  };
66 
67 
73  template <DtPortalMessageKind V_MessageKind>
75  {
76  public:
77 
78  typedef void (*DtPortalControlMessageCb)(
79  const DtPortalControlMessageTemplate<V_MessageKind> &msg, void *usr );
80 
81  public:
82 
85 
86  virtual DtPortalMessageKind kind() const;
87  static DtPortalMessage *create();
88 
89  static void addCallback( DtPortalConnection* pConn,
90  DtPortalControlMessageCb cb, void *usr );
91 
92  static void removeCallback( DtPortalConnection* pConn,
93  DtPortalControlMessageCb cb, void *usr );
94 
96 
97  };
98 
99 
102  class DT_DLL_LIBPORTAL DtFilterObjectMessage
103  : public DtPortalControlMessageTemplate<DtObjectFilterKind>
104  {
105  public:
106 
108 
109  typedef void (*MessageCallbackType)(
110  const DtFilterObjectMessage& message, void* userData );
111 
112  public:
113 
115 
116  DtFilterObjectMessage( const DtFilterObjectMessage& original );
117 
118  DtFilterObjectMessage& operator = ( const DtFilterObjectMessage& original );
119 
120  virtual ~DtFilterObjectMessage();
121 
125 
128  DtDEC_ATTRIBUTE( DtString, ObjectId, objectId );
129 
133  DtDEC_ATTRIBUTE( DtEntityIdentifier, EntityId, entityId );
134 
138  DtDEC_ATTRIBUTE( DtEntityType, EntityType, entityType );
139 
141  DtDEC_ATTRIBUTE( DtU16, FilterType, filterType );
142 
144  DtDEC_ATTRIBUTE( DtString, MarkingText, markingText );
145 
147  DtDEC_ATTRIBUTE( bool, FilterFlag, filterFlag );
148 
150 
151  public: //NOTE: DtDEC_ATTRIBUTE resets the access specifier to protected.
152 
153  bool operator == ( const DtFilterObjectMessage& leftHandOperand ) const;
154  bool operator != ( const DtFilterObjectMessage& leftHandOperand ) const;
155 
156  virtual unsigned int netSize() const;
157 
158  virtual void writeSelfToBuffer( void* buffer ) const;
159 
160  virtual void readSelfFromBuffer( const void* buffer );
161 
162  virtual std::ostream& printDataToStream( std::ostream& stream ) const;
163 
164  public:
165 
166  static void addCallback(
167  DtPortalConnection* connection, MessageCallbackType callbackFunction, void *userData );
168 
169  static void removeCallback(
170  DtPortalConnection* connection, MessageCallbackType callbackFunction, void *userData);
171 
172  static DtPortalMessage *create();
173 
174  };
175 
176 
182 
187 
188 
193 
199 
204 
209 
215 
219 
223 
224 }
225 
226 #define pControlMessage_INL_
227 #include <portal/pControlMessage.inl>
228 #undef pControlMessage_INL_

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)