VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
97 #if THREADING_ISSUES
98 This is not thread safe. Will need to make the addition/removal of message types thread safe (if need be) -- see evalReceiveTextMessage.cxx
99 #endif
101 {
102 public:
103 
104  typedef std::map<int, DtMessageCallbackList > DtIntCallbackMap;
105 
108 
110  virtual ~DtIntMessageExecutive();
111 
114  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
115  void* usrData);
116 
117  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
118  void* usrData);
119 
121  virtual void processMessage(const DtSimMessage& msg) const;
122 
124  virtual int numCallbacks(int type) const;
125 
129  virtual int messageType(const DtSimMessage & message) const = 0;
130 
131 protected:
134 
137 
139 };
140 
142 {
143 public:
144 
145  typedef std::map<DtString, DtMessageCallbackList > DtStringCallbackMap;
146 
149 
151  virtual ~DtStringMessageExecutive();
152 
155  virtual void addMessageCallback(DtString type, DtMessageCallbackFcn fcn,
156  void* usrData);
157 
158  virtual void removeMessageCallback(DtString type, DtMessageCallbackFcn fcn,
159  void* usrData);
160 
162  virtual void processMessage(const DtSimMessage& msg) const;
163 
165  virtual int numCallbacks(DtString type) const;
166 
170  virtual DtString messageType(const DtSimMessage & message) const = 0;
171 
172 protected:
175 
178 
180 };
DtIntCallbackMap myIntCallbackMap
Definition: messageExecutive.h:138
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
std::list< DtMessageCallbackInfo > DtMessageCallbackList
Definition: messageExecutive.h:22
virtual void processMessage(const DtSimMessage &msg) const
Call the callbacks registered for the Radio message&#39;s type.
DtMessageExecutive & operator=(const DtMessageExecutive &orig)
assignment operator not implemented
static DtTime theTimeoutDuration
Definition: messageExecutive.h:94
std::map< DtString, DtMessageCallbackList > DtStringCallbackMap
Definition: messageExecutive.h:145
static DtTime theTimeoutCheckInterval
Definition: messageExecutive.h:93
static unsigned theSplitId
Definition: messageExecutive.h:91
File: simMsg.h.
Definition: simMessage.h:35
DtStringCallbackMap myStringCallbackMap
Definition: messageExecutive.h:179
class DtMessageExecutive:
Definition: messageExecutive.h:36
std::map< int, DtMessageCallbackList > DtIntCallbackMap
Definition: messageExecutive.h:104
void(* DtMessageCallbackFcn)(DtSimMessage *msg, void *usr)
Message callback function signature.
Definition: messageExecutive.h:21
static unsigned theMaxSignalDataSize
Definition: messageExecutive.h:89
static int theMaximumContentSize
Definition: messageExecutive.h:88
Definition: messageExecutive.h:141
Definition: messageExecutive.h:100
std::vector< DtMessageCallbackInfo > mySimMessageCallbackList
Definition: messageExecutive.h:86
Instances of DtMessageCallbackInfo are used by DtMessageExecutive to keep track of radio message call...
Definition: messageCallbackInfo.h:20

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)