MAK Data Logger API Documentation for HLA
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
lgrCore
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
>
15
#include <
lgrCmds/lgrCommandQueue.h
>
16
#include <
lgrUtil/virtualConstructor.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
33
class
DT_DLL_LGRCORE
DtCommandDispatcher
34
{
35
public
:
37
DT_VIRTUAL_CTR
(
DtCommandDispatcher
,())
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
:
86
DtCommandDispatcher
(
const
DtCommandDispatcher
& src );
88
DtCommandDispatcher
& operator=(
const
DtCommandDispatcher
& src );
89
90
public
:
92
virtual
DtAbsoluteTime
tick();
93
94
protected
:
95
DtMutex
myListenerMutex
;
96
DtLgrCommandQueue
*
myCommandQueue
;
97
DtResponseList
myResponseList
;
98
DtRuntimeCommandFactory
*
myRuntimeCommandFactory
;
99
};
100
101
typedef
DtBoost::shared_ptr<DtCommandDispatcher>
DtCommandDispatcherSP
;
102
103
}
104
105
#endif
106
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
)