VR-Forces 4.1 Class Documentation
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"
13 #include "vrfutil/callbackList.h"
14 #include <map>
15 #include <vlutil/vlSmartPointers.h>
16 
18 #include "vrftasks/radioMsgTypes.h"
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 Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)