MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disDescriptor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef disDescriptor_H_
10 #define disDescriptor_H_
11 
12 #if DtDIS
13 
14 #include <lgrSim/lgrSim.h>
15 #include <vlutil/vlMachineTypes.h>
17 #include <lgrUtil/multiKeyMap.h>
18 
19 namespace MAKLogger
20 {
21 
22 
23  struct DtGenDisDesc
24  {
25  int size;
26  int numPduKinds;
27  int bufPduKindSz;
28  };
29 
30  struct DtPduKindDesc
31  {
32  int size;
33  DtU32 kind;
34  bool filtered;
35  int enIdOff;
36  int typeOff;
37  char name[4];
38  };
39 
40 
41  struct DtPduSubsMap
42  {
43  int size;
44  int pduSubsOnNum;
45  int pduSubsOnPos;
46  int pduSubsOffNum;
47  int pduSubsOffPos;
48  };
49 
50  class DtPduDescriptor;
51 
55  class DT_DLL_LGRSIM DtDisDescriptor
56  {
57  public:
58  typedef DtU32 PduKind;
59  typedef DtMultiKeyMap<PduKind,DtString,DtPduDescriptor*> PduDescriptorMap;
60  typedef PduDescriptorMap::iterator iterator;
61  typedef PduDescriptorMap::const_iterator const_iterator;
62 
63  public:
64 
66  DT_VIRTUAL_CTR(DtDisDescriptor,())
67 
68 
69  DT_VIRTUAL_COPY_ASSIGN(DtDisDescriptor)
70 
72  virtual ~DtDisDescriptor();
73 
74 
77  void addPduDesc(const DtPduDescriptor& desc);
78 
80  virtual DtPduDescriptor* addPduKind(const DtString& name, PduKind kind,
81  int enIdOff, int typeOff );
82 
84  virtual int setFromSerialForm( const void* p );
85 
87  virtual char* serialize( int* pSize = 0 ) const;
88 
90  virtual DtPduDescriptor* pduDesc( PduKind kind );
92  virtual const DtPduDescriptor* pduDesc( PduKind kind ) const;
94 
96  virtual DtPduDescriptor* pduDesc( const DtString& name );
101  virtual const DtPduDescriptor* pduDesc( const DtString& name ) const;
103 
105  int count() const;
106 
108  iterator begin();
112  const_iterator begin() const;
114 
116  iterator end();
120  const_iterator end() const;
122 
124  virtual bool equivalent( const DtDisDescriptor& rhs ) const;
125 
127  virtual void setFilterByPduKind( const DtPduSubsMap* map );
128  virtual void setFilterAllPduKinds();
129  virtual void setFilterNoPduKinds();
130 
132  virtual void clear();
133 
136  void registerAlias(const DtString& alias,PduKind kind);
137 
139  void unregisterAlias(const DtString& alias);
140 
141  public:
142  static void addKnownPdus( DtDisDescriptor* dsc );
143 
144  protected:
145 
148  virtual int unserialize( const char* bfr );
149 
151  virtual void initFromSource( const DtDisDescriptor& src );
152 
153  protected:
154 
155  PduDescriptorMap myPdus;
156 
157  typedef std::map<DtString,PduKind> AliasMap;
158  AliasMap myAliases;
159  };
160 
161 }
162 
163 #endif
164 #endif
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
#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
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Contains MAKLogger::DtMultiKeyMap class.
#define DT_VIRTUAL_COPY_ASSIGN(CLASS_NAME)
Declare a Virtual Copy Constructor Create using DT_VIRTUAL_COPY_CTR(CLASS_NAME) Where CLASS_NAME = th...
Definition: virtualConstructor.h:93

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)