VR-Forces 4.7 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 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)