MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrCommandDispatcher.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrCommandDispatcher_H_
10 #define lgrCommandDispatcher_H_
11 
12 #include <lgrCore/lgrCore.h>
13 #include <lgrUtil/absoluteTime.h>
14 #include <lgrUtil/collectors.h>
17 
18 #include <vlutil/vlSmartPointers.h>
19 #include <vlutil/vlMutex.h>
20 
21 namespace MAKLogger
22 {
23  class DtLogger;
24  class DtLgrSharedData;
25  class DtLgrCmdDescriptor;
26  class DtAnnotationManager;
27  class DtRuntimeCommandFactory;
28 
34  {
35  public:
38 
39 
40  virtual ~DtCommandDispatcher();
41 
58  virtual bool addResponseListener(DtResponseQueueSP listener);
59 
73  virtual void removeResponseListener(DtResponseQueueSP listener);
74 
76  virtual void sendResponse(DtResponse response);
77 
79  virtual void addCommand(const DtCommand& command);
80 
82  void moveQueuedCommands(DtCollector< DtCommand>& collector);
83 
84  private:
88  DtCommandDispatcher& operator=( const DtCommandDispatcher& src );
89 
90  public:
92  virtual DtAbsoluteTime tick();
93 
94  protected:
95  DtMutex myListenerMutex;
99  };
100 
101  typedef DtBoost::shared_ptr<DtCommandDispatcher> DtCommandDispatcherSP;
102 
103 }
104 
105 #endif
106 
The logger command which contains the command type and its parameters.
Definition: lgrCommand.h:109
DtResponseList myResponseList
Definition: lgrCommandDispatcher.h:97
DtLgrCommandQueue * myCommandQueue
Definition: lgrCommandDispatcher.h:96
The class provides two way command message communication.
Definition: lgrCommandDispatcher.h:33
DtRuntimeCommandFactory * myRuntimeCommandFactory
Definition: lgrCommandDispatcher.h:98
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
A Thread safe queue which can be used across thread boundaries.
Definition: lgrCommandQueue.h:22
DtBoost::shared_ptr< const DtCommand > DtResponse
Definition: lgrCommand.h:174
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Contains MAKLogger::DtLgrCommandQueue and MAKLogger::DtResponseQueue and MAKLogger::DtResponseQueueSP...
DtBoost::shared_ptr< DtCommandDispatcher > DtCommandDispatcherSP
Definition: lgrCommandDispatcher.h:101
The factory for decoding text commands.
Definition: lgrRuntimeCommandFactory.h:67
std::list< DtResponseQueueWP > DtResponseList
Definition: lgrCommandQueue.h:30
DtMutex myListenerMutex
Definition: lgrCommandDispatcher.h:95
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
DtBoost::shared_ptr< DtSharedQueue< DtResponse > > DtResponseQueueSP
Definition: lgrCommandQueue.h:27
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
Contains classes used for abstract collection of data Contails DtCollector interface and implementati...
Definition: lgrConfigLoader.h:22
Contains lgrCore library definitions.

Document ID: Generated on Thu Jul 14 15:45:33 EDT 2022 from SVN revision 244827
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)