MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrSystemInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrSystemInterface_H_
11 #define lgrSystemInterface_H_
12 
13 #include <lgrCore/lgrCore.h>
14 #include <lgrCore/lgrInterface.h>
16 #include <lgrUtil/signalSlot.h>
17 #include <lgrUtil/threadSafe.h>
18 
19 #include <vlutil/vlTime.h>
20 
21 #include <memory>
22 
23 namespace MAKLogger
24 {
25  class DtLgrSystemCommandFactory;
26  class DtLgrMessageOutputListener;
27 
32  {
33  public:
34 
36 
39 
40 
41  virtual ~DtLgrSystemInterface();
42 
43  private:
45  DtLgrSystemInterface(const DtLgrSystemInterface&);
47  DtLgrSystemInterface& operator=(const DtLgrSystemInterface&);
48  public:
49 
51  virtual void issueTextCommand(const DtString& commandString) const;
52 
54  virtual void cancelLongOperation() const;
55 
57  virtual void deleteFile(const DtString& filename) const;
58 
60  virtual void setNotifyLevel(int vlLevel,int lgrLevel) const;
61 
63  virtual void shutdown() const;
64 
66  virtual bool timeToShutdown() const;
67 
69  virtual const DtString& operationName() const;
70 
72  virtual const DtString& operationMessage() const;
73 
75  virtual int operationProgress() const;
76 
78  virtual bool operationInterruptible() const;
79 
81  virtual bool wasOperationCanceled() const;
82 
84  virtual void installOutputListener(
85  std::auto_ptr<DtLgrMessageOutputListener> listener) const;
86 
88  DtValueSignal<DtString> messageSignal;
89 
91  DtValueSignal<DtString> consoleMessageSignal;
92 
95  DtValueSignal<bool> operationSignal;
96 
98  DtValueSignal<bool> shutdownSignal;
99 
101  DtValueSignal<DtString> operationMessageSignal;
102 
104  DtValueSignal<int> operationProgressSignal;
105 
107  DtValueSignal<bool> performanceWarningSignal;
108 
110  bool basicGuiFlag() const;
111 
113  void setGuiConfigFilename(DtString guiConfigFilename);
114 
116  DtString guiConfigFilename() const;
117 
119  void setPerformanceWarning(bool behind, DtTime amountBehind);
120 
122  bool isPerformanceWarningEnabled() const;
123 
125  DtTime tickOverheadTime() const;
126 
127  protected:
128  void connectResponseHandler(DtLgrCommandId id,
129  void (DtLgrSystemInterface::* function)(DtResponse));
130 
131  void messageReceived(DtResponse);
132  void consoleMessageReceived(DtResponse);
133  void requestShutdown(DtResponse);
134 
135  void basicGuiFlagSet(DtResponse);
136 
137  void longOperationStarted(DtResponse);
138  void longOperationFinished(DtResponse);
139  void longOperationUpdated(DtResponse);
140 
141  void setGuiConfigFilename(DtResponse);
142  void performanceWarningReceived(DtResponse);
143 
144  DtThreadSafe<bool>* myCancelFlag;
145  DtString myMessage;
146  DtString myConsoleMessage;
147 
148  DtString myOperationName;
149  DtString myOperationMessage;
150  bool myOperationRunningFlag;
151  int myOperationProgress;
152  bool myOperationInterruptible;
153  bool myOperationCanceledFlag;
154 
155  bool myTimeToShutdown;
156  bool myBasicGuiFlag;
157  bool myPerformanceWarning;
158  DtString myGuiConfigFilename;
159  DtTime myTickOverheadTime;
160  };
161 
162 }
163 
164 #endif
Contains MAKLogger::DtSlot and MAKLogger::DtFunctionSlot and MAKLogger::DtMemberSlot and MAKLogger::S...
The base class for command interface which allows an interface to send and receive commands...
Definition: lgrInterface.h:33
#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
The factory for creating logger system commands.
Definition: lgrSystemCommandFactory.h:26
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::DtScopedSequenceLock and MAKLogger::DtThreadSafe classes.
DtLgrSystemCommandFactory Factory
Definition: lgrSystemInterface.h:35
Base class for an output listener.
Definition: messageOutputListener.h:20
a thread safe interface to a value.
Definition: threadSafe.h:101
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
The class responsible for interfacing with the low level logger system functions. ...
Definition: lgrSystemInterface.h:31
DtLogger provides the core system structure and controls the execution model for the underlying objec...
Definition: logger.h:35
short DtLgrCommandId
Definition: lgrCommand.h:25
Contains MAKLogger::DtCommandInterface class.
Contains lgrCore library definitions.
Definition: signalSlot.h:163

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)