MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrSimInput.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2024 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <lgrCore/lgrCore.h>
12 #include <lgrCore/messageInput.h>
13 #include <lgrCore/packet.h>
14 
15 #include <vlutil/vlTime.h>
16 
17 namespace MAKLogger
18 {
19  class DtLgrSimManager;
20  class DtLgrClock;
21 
25  {
26  public:
27 
29  virtual ~DtLgrSimInput();
30 
32  virtual void activate();
34  virtual void activateImplementation() = 0;
35 
37  virtual bool isActivated() const;
38 
40  virtual void deactivate();
41 
43  virtual void deactivateImplementation() = 0;
44 
46  virtual void startReadMessages();
47 
49  virtual void setClock(DtLgrClock* clockToUse);
50 
52 
53  virtual DtLgrClock* clock();
54  virtual const DtLgrClock* clock() const;
56 
58  virtual DtAbsoluteTime inputTime() const;
59 
61  virtual void getNextMessages(DtMessageBuffer&);
62 
64  virtual void dropNextMessages();
65 
67  virtual bool receivedPackets();
68 
70  virtual void connecting() = 0;
71 
73  virtual void disconnecting() = 0;
74 
75  virtual DtLgrEntityTracker* entityTracker();
76 
77  virtual void initializeTracker(DtLgrBaseSimManager* manager);
78 
79  protected:
80 
83 
85  virtual DtPacket* createPacket(size_t size,DtPacket::DtPacketType type );
86 
88  virtual void receivePacket(DtPacket* packet);
89 
91  virtual void filterPacket(DtPacket* packet);
92 
94  static const int theSmartBufferSize = 65536;
100  };
101 
102 }
DtLgrClock * myClock
Definition: lgrSimInput.h:99
DtMessageBuffer * myReceiveBuffer
Definition: lgrSimInput.h:95
DtSmartBuffer * mySmartBuffer
Definition: lgrSimInput.h:96
DtLgrSimManager & myManager
Definition: lgrSimInput.h:97
The message input is the interface for objects that provide messages into the pipeline.
Definition: messageInput.h:22
DtPacketType
MIGRATION Info Same values as LtPacketKind in Logger 3.x versions.
Definition: packet.h:47
Message buffer class responsible for storing a list of messages and iterating through that list...
Definition: messageBuffer.h:23
bool myReceivePacketsFlag
Definition: lgrSimInput.h:93
Implements a protocol independent Simulation manager.
Definition: lgrSimManager.h:40
bool myActivateFlag
Definition: lgrSimInput.h:98
A generic packed of typed binary data.
Definition: packet.h:41
A smart buffer has a shared pointer to the memory buffer and an offset and size of a &#39;smart&#39; sub buff...
Definition: smartBuffer.h:21
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
Shared implementation of the Sim Manager.
Definition: lgrBaseSimManager.h:29
Indexes packets in a file.
Definition: lgrEntityTracker.h:32
The base class to help simulation input.
Definition: lgrSimInput.h:24
Contains MAKLogger::DtMessageInput class.
Contains MAKLogger::DtPacket and MAKLogger::DtPacketAttribute classes.
A clock that provides current time via a time provider.
Definition: lgrClock.h:92
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
Contains lgrCore library definitions.

Document ID: Generated on Fri May 31 15:45:35 EDT 2024 from SVN revision 266500
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)