VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
messageExecutive.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfmsgs/simMessage.h"
12 #include <vlutil/vlTime.h>
13 
14 #include <map>
15 #include <list>
16 
17 
19 
21 typedef void (*DtMessageCallbackFcn)(DtSimMessage * msg, void * usr);
22 typedef std::list<DtMessageCallbackInfo> DtMessageCallbackList;
32 
33 #include "vrfmsgs/vrfmsgsDefines.h"
34 #include <vector>
35 
37 {
38 public:
39 
42 
44  virtual ~DtMessageExecutive();
45 
47  virtual void addSimMessageCallback(DtMessageCallbackFcn fcn,
48  void* usrData);
49 
50  virtual void removeSimMessageCallback(DtMessageCallbackFcn fcn,
51  void* usrData);
52 
54  virtual void processMessage(const DtSimMessage& msg) const;
55 
57  virtual int numSimCallbacks() const;
58 
59 public:
61  static unsigned generateMessageId();
62 
66  static int maximumContentSize();
67  static void setMaximumContentSize(int sz);
69 
72  static unsigned maximumSignalDataSize();
73 
74  static DtTime timeoutCheckInterval();
75  static void setTimeoutCheckInterval(DtTime nSecs);
76  static DtTime timeoutDuration();
77  static void setTimeoutDuration(DtTime nSecs);
78 
79 protected:
82 
84  DtMessageExecutive& operator=(const DtMessageExecutive& orig);
85 
86  std::vector<DtMessageCallbackInfo> mySimMessageCallbackList;
87 
89  static unsigned theMaxSignalDataSize;
90 
91  static unsigned theSplitId;
92 
95 };
96 
98 {
99 public:
100 
101  typedef std::map<int, DtMessageCallbackList > DtIntCallbackMap;
102 
105 
107  virtual ~DtIntMessageExecutive();
108 
111  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
112  void* usrData);
113 
114  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
115  void* usrData);
116 
118  virtual void processMessage(const DtSimMessage& msg) const;
119 
121  virtual int numCallbacks(int type) const;
122 
126  virtual int messageType(const DtSimMessage & message) const = 0;
127 
128 protected:
131 
134 
136 };
137 
139 {
140 public:
141 
142  typedef std::map<DtString, DtMessageCallbackList > DtStringCallbackMap;
143 
146 
148  virtual ~DtStringMessageExecutive();
149 
152  virtual void addMessageCallback(DtString type, DtMessageCallbackFcn fcn,
153  void* usrData);
154 
155  virtual void removeMessageCallback(DtString type, DtMessageCallbackFcn fcn,
156  void* usrData);
157 
159  virtual void processMessage(const DtSimMessage& msg) const;
160 
162  virtual int numCallbacks(DtString type) const;
163 
167  virtual DtString messageType(const DtSimMessage & message) const = 0;
168 
169 protected:
172 
175 
177 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)