VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectMessageExecutive.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
11 
12 #include "vrfmsgs/vrfmsgsDefines.h"
14 #include <map>
15 #include <vlutil/vlSmartPointers.h>
16 
20 
21 class DtSimMessage;
22 
27 {
28 private:
33 
34 public:
36  virtual ~DtVrfObjectMessageExecutive();
37 
40  virtual void processMessage(const DtVrfObjectMessage* message);
41 
44 
45  virtual void addMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
46  virtual void removeMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
48 
51 
52  template<typename messageType>
53  void addMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
54  {
55  myVrfObjectMessageCallbacks.addMessageCallback(type, fcn, usr);
56  }
57 
58  template<typename messageType>
59  void removeMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
60  {
61  myVrfObjectMessageCallbacks.removeMessageCallback(type, fcn, usr);
62  }
64 
69 
70  virtual void addMessageCallbackByCategory(int category, DtVrfObjectMessageCallbackFcn fcn, void* usr);
71  virtual void removeMessageCallbackByCategory(int category, DtVrfObjectMessageCallbackFcn fcn, void* usr);
73 
75  virtual void removeAllCallbacks();
76 
77 protected:
79  typedef DtBoost::shared_ptr<DtObjectMessageCallbackList> DtObjectMessageCallbackListPtr;
80  typedef std::map<int, DtObjectMessageCallbackListPtr> DtObjectMessageCategoryCallbackMap;
81 
87 };
88 
void removeMessageCallback(const messageType &type, DtVrfObjectMessageCallbackFcn fcn, void *usr)
Definition: vrfObjectMessageExecutive.h:59
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
Definition: vrfObjectMessageTypeCallbackMap.h:42
Callback manager for DtVrfObjectMessage receipt.
Definition: vrfObjectMessageExecutive.h:26
File: simMsg.h.
Definition: simMessage.h:35
DtObjectMessageCallbackList myObjectMessageCallbacks
Callbacks registered on all messages.
Definition: vrfObjectMessageExecutive.h:84
std::map< int, DtObjectMessageCallbackListPtr > DtObjectMessageCategoryCallbackMap
Definition: vrfObjectMessageExecutive.h:80
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
DtVrfObjectMessageTypeCallbackMap myVrfObjectMessageCallbacks
Definition: vrfObjectMessageExecutive.h:82
DtCallbackList< const DtVrfObjectMessage * > DtObjectMessageCallbackList
Definition: vrfObjectMessageExecutive.h:78
void(* DtVrfObjectMessageCallbackFcn)(const DtVrfObjectMessage *msg, void *usr)
This class is a convenience object for callback functions on DtVrfObjectMessages particularly those d...
Definition: vrfObjectMessageTypeCallbackMap.h:29
DtBoost::shared_ptr< DtObjectMessageCallbackList > DtObjectMessageCallbackListPtr
Definition: vrfObjectMessageExecutive.h:79
void addMessageCallback(const messageType &type, DtVrfObjectMessageCallbackFcn fcn, void *usr)
Callback which is called when a specific type of object message is processed.
Definition: vrfObjectMessageExecutive.h:53
DtObjectMessageCategoryCallbackMap myObjectMessageCallbacksByCategory
Callbacks registered on specific categories.
Definition: vrfObjectMessageExecutive.h:86

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)