9 #ifndef disDescriptor_H_
10 #define disDescriptor_H_
15 #include <vlutil/vlMachineTypes.h>
50 class DtPduDescriptor;
58 typedef DtU32 PduKind;
59 typedef DtMultiKeyMap<PduKind,DtString,DtPduDescriptor*> PduDescriptorMap;
60 typedef PduDescriptorMap::iterator iterator;
61 typedef PduDescriptorMap::const_iterator const_iterator;
72 virtual ~DtDisDescriptor();
77 void addPduDesc(const DtPduDescriptor& desc);
80 virtual DtPduDescriptor* addPduKind(const
DtString& name, PduKind kind,
81 int enIdOff,
int typeOff );
84 virtual
int setFromSerialForm( const
void* p );
87 virtual
char* serialize(
int* pSize = 0 ) const;
91 virtual DtPduDescriptor* pduDesc( PduKind kind );
92 virtual const DtPduDescriptor* pduDesc( PduKind kind ) const;
100 virtual DtPduDescriptor* pduDesc( const
DtString& name );
101 virtual const DtPduDescriptor* pduDesc( const
DtString& name ) const;
112 const_iterator begin() const;
120 const_iterator end() const;
124 virtual
bool equivalent( const DtDisDescriptor& rhs ) const;
127 virtual
void setFilterByPduKind( const DtPduSubsMap* map );
128 virtual
void setFilterAllPduKinds();
129 virtual
void setFilterNoPduKinds();
132 virtual
void clear();
136 void registerAlias(const
DtString& alias,PduKind kind);
139 void unregisterAlias(const
DtString& alias);
142 static
void addKnownPdus( DtDisDescriptor* dsc );
148 virtual
int unserialize( const
char* bfr );
151 virtual
void initFromSource( const DtDisDescriptor& src );
155 PduDescriptorMap myPdus;
157 typedef std::map<
DtString,PduKind> AliasMap;