VR-Forces 5.0.2 Developer's Guide
 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>
14 
15 #include <map>
16 #include <list>
17 
18 #include <tbb/recursive_mutex.h>
19 
22 
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);
55 
56 public:
58  static unsigned generateMessageId();
59 
63  static int maximumContentSize();
64  static void setMaximumContentSize(int sz);
66 
69  static unsigned maximumSignalDataSize();
70 
71  static DtTime timeoutCheckInterval();
72  static void setTimeoutCheckInterval(DtTime nSecs);
73  static DtTime timeoutDuration();
74  static void setTimeoutDuration(DtTime nSecs);
75 
76 protected:
79 
81  DtMessageExecutive& operator=(const DtMessageExecutive& orig);
82 
85 
87  static unsigned theMaxSignalDataSize;
88 
89  static unsigned theSplitId;
90 
93 };
94 
96 {
97 public:
98 
99  typedef std::map<int, DtSimMessageCallbackList > DtIntCallbackMap;
100 
103 
105  virtual ~DtIntMessageExecutive();
106 
109  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
110  void* usrData);
111 
112  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
113  void* usrData);
114 
116  virtual void processMessage(const DtSimMessage& msg);
117 
121  virtual int messageType(const DtSimMessage & message) const = 0;
122 
123 protected:
126 
129 
131  mutable tbb::recursive_mutex myListMutex;
132 };
133 
135 {
136 public:
137 
138  typedef std::map<DtString, DtSimMessageCallbackList > DtStringCallbackMap;
139 
142 
144  virtual ~DtStringMessageExecutive();
145 
148  virtual void addMessageCallback(const DtString& type, DtMessageCallbackFcn fcn,
149  void* usrData);
150 
151  virtual void removeMessageCallback(const DtString& type, DtMessageCallbackFcn fcn,
152  void* usrData);
153 
155  virtual void processMessage(const DtSimMessage& msg);
156 
160  virtual DtString messageType(const DtSimMessage & message) const = 0;
161 
162 protected:
165 
168 
170  mutable tbb::recursive_mutex myListMutex;
171 };
DtIntCallbackMap myIntCallbackMap
Definition: messageExecutive.h:130
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
std::map< DtString, DtSimMessageCallbackList > DtStringCallbackMap
Definition: messageExecutive.h:138
tbb::recursive_mutex myListMutex
Definition: messageExecutive.h:131
DtMessageExecutive & operator=(const DtMessageExecutive &orig)
assignment operator not implemented
static DtTime theTimeoutDuration
Definition: messageExecutive.h:92
static DtTime theTimeoutCheckInterval
Definition: messageExecutive.h:91
DtSimMessageCallbackList mySimMessageCallbackList
Definition: messageExecutive.h:84
static unsigned theSplitId
Definition: messageExecutive.h:89
File: simMsg.h.
Definition: simMessage.h:35
DtStringCallbackMap myStringCallbackMap
Definition: messageExecutive.h:169
std::map< int, DtSimMessageCallbackList > DtIntCallbackMap
Definition: messageExecutive.h:99
Definition: noArgumentCallbackList.h:91
DtCallbackList< DtSimMessage * > DtSimMessageCallbackList
Definition: messageExecutive.h:83
class DtMessageExecutive:
Definition: messageExecutive.h:36
tbb::recursive_mutex myListMutex
Definition: messageExecutive.h:170
static unsigned theMaxSignalDataSize
Definition: messageExecutive.h:87
static int theMaximumContentSize
Definition: messageExecutive.h:86
Definition: messageExecutive.h:134
Definition: messageExecutive.h:95
virtual void processMessage(const DtSimMessage &msg)
Call the callbacks registered for the Radio message&#39;s type.
DtCallbackList< DtSimMessage * >::DtCallbackFunctionType DtMessageCallbackFcn
Message callback function signature.
Definition: messageExecutive.h:21

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)