MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrCommandFunctor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 // No export declaration as these classes are inline and templates.
14 #include <vlutil/vlSmartPointers.h>
15 
16 namespace MAKLogger
17 {
18 
23  {
24  public:
28  virtual ~DtCommandFunctor() {}
30  virtual DtResponse operator()(const DtCommand& command) = 0;
31  };
32 
37  {
38  public:
42  virtual ~DtResponseFunctor(){}
44  virtual void operator()(DtResponse command) = 0;
45  };
46 
47 
49  typedef DtBoost::shared_ptr<DtCommandFunctor> DtCommandFunctorSP;
50  typedef DtBoost::shared_ptr<DtResponseFunctor> DtResponseFunctorSP;
51 
52 
55 
56  template <typename T>
58  {
59  public:
61  typedef DtResponse (T::*ProcCmdFunction)(const DtCommand& command);
62 
77  DtLgrCommandHandlerFunctor(T* object,ProcCmdFunction function);
78 
81 
84  virtual DtResponse operator()(const DtCommand& command);
85 
86  protected:
91  };
92 
95 
96  template <typename T>
98  {
99  public:
101  typedef void (T::*ProcCmdFunction)(DtResponse command);
102 
117  DtCommandInterfaceFunctor(T* object,ProcCmdFunction function);
118 
119 
121  virtual ~DtCommandInterfaceFunctor();
122 
125  virtual void operator()(DtResponse command);
126 
127  protected:
132  };
133 
136  template <typename T>
137  DtCommandFunctorSP createHandler(T* const object,
139 
142  template <typename T>
143  DtResponseFunctorSP createHandler(T* const object,
145 
146 #define lgrCommandFunctor_inl_
147 #include "lgrCommandFunctor.inl"
148 #undef lgrCommandFunctor_inl_
149 
150 }

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)