📄 main.h
字号:
public: VisibleStringType(); virtual const char * GetAncestorClass() const;};class UnrestrictedCharacterStringType : public StringTypeBase{ PCLASSINFO(UnrestrictedCharacterStringType, StringTypeBase); public: UnrestrictedCharacterStringType(); virtual const char * GetAncestorClass() const;};class GeneralizedTimeType : public TypeBase{ PCLASSINFO(GeneralizedTimeType, TypeBase); public: GeneralizedTimeType(); virtual const char * GetAncestorClass() const;};class UTCTimeType : public TypeBase{ PCLASSINFO(UTCTimeType, TypeBase); public: UTCTimeType(); virtual const char * GetAncestorClass() const;};class ObjectDescriptorType : public TypeBase{ PCLASSINFO(ObjectDescriptorType, TypeBase); public: ObjectDescriptorType(); virtual const char * GetAncestorClass() const;};class ObjectIdentifierType : public TypeBase{ PCLASSINFO(ObjectIdentifierType, TypeBase); public: ObjectIdentifierType(); virtual int GetIdentifierTokenContext() const; virtual int GetBraceTokenContext() const; virtual const char * GetAncestorClass() const;};class ObjectClassFieldType : public TypeBase{ PCLASSINFO(ObjectClassFieldType, TypeBase); public: ObjectClassFieldType(PString * objclass, PString * field); virtual const char * GetAncestorClass() const; void PrintOn(ostream &) const; virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); virtual BOOL CanReferenceType() const; virtual BOOL ReferencesType(const TypeBase & type); protected: PString asnObjectClassName; PString asnObjectClassField;};class ImportedType : public TypeBase{ PCLASSINFO(ImportedType, TypeBase); public: ImportedType(PString * name, BOOL parameterised); virtual const char * GetAncestorClass() const; virtual void AdjustIdentifier(); virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); virtual void SetImportPrefix(const PString &); virtual BOOL IsParameterisedImport() const; protected: PString modulePrefix; BOOL parameterised;};class SearchType : public TypeBase{ PCLASSINFO(SearchType, TypeBase); public: SearchType(const PString & name); virtual const char * GetAncestorClass() const;};// Valuesclass ValueBase : public PObject{ PCLASSINFO(ValueBase, PObject); public: void SetValueName(PString * name); const PString & GetName() const { return valueName; } virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); protected: void PrintBase(ostream &) const; PString valueName;};PLIST(ValuesList, ValueBase);class DefinedValue : public ValueBase{ PCLASSINFO(DefinedValue, ValueBase); public: DefinedValue(PString * name); void PrintOn(ostream &) const; const PString & GetReference() const { return referenceName; } virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); protected: PString referenceName; ValueBase * actualValue; BOOL unresolved;};class BooleanValue : public ValueBase{ PCLASSINFO(BooleanValue, ValueBase); public: BooleanValue(BOOL newVal); void PrintOn(ostream &) const; virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); protected: BOOL value;};class IntegerValue : public ValueBase{ PCLASSINFO(IntegerValue, ValueBase); public: IntegerValue(PInt64 newVal); void PrintOn(ostream &) const; virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); operator PInt64() const { return value; } operator long() const { return (long)value; } protected: PInt64 value;};class RealValue : public ValueBase{ PCLASSINFO(RealValue, ValueBase); public: RealValue(double newVal); protected: double value;};class OctetStringValue : public ValueBase{ PCLASSINFO(OctetStringValue, ValueBase); public: OctetStringValue() { } OctetStringValue(PString * newVal); protected: PBYTEArray value;};class BitStringValue : public ValueBase{ PCLASSINFO(BitStringValue, ValueBase); public: BitStringValue() { } BitStringValue(PString * newVal); BitStringValue(PStringList * newVal); protected: PBYTEArray value;};class NullValue : public ValueBase{ PCLASSINFO(NullValue, ValueBase);};class CharacterValue : public ValueBase{ PCLASSINFO(CharacterValue, ValueBase); public: CharacterValue(BYTE c); CharacterValue(BYTE t1, BYTE t2); CharacterValue(BYTE q1, BYTE q2, BYTE q3, BYTE q4); void PrintOn(ostream &) const; virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); protected: unsigned value;};class CharacterStringValue : public ValueBase{ PCLASSINFO(CharacterStringValue, ValueBase); public: CharacterStringValue() { } CharacterStringValue(PString * newVal); CharacterStringValue(PStringList * newVal); void PrintOn(ostream &) const; virtual void GenerateCplusplus(ostream & hdr, ostream & cxx); protected: PString value;};class ObjectIdentifierValue : public ValueBase{ PCLASSINFO(ObjectIdentifierValue, ValueBase); public: ObjectIdentifierValue(PString * newVal); ObjectIdentifierValue(PStringList * newVal); void PrintOn(ostream &) const; protected: PStringList value;};class MinValue : public ValueBase{ PCLASSINFO(MinValue, ValueBase); public: void PrintOn(ostream &) const; virtual void GenerateCplusplus(ostream & hdr, ostream & cxx);};class MaxValue : public ValueBase{ PCLASSINFO(MaxValue, ValueBase); public: void PrintOn(ostream &) const; virtual void GenerateCplusplus(ostream & hdr, ostream & cxx);};class SequenceValue : public ValueBase{ PCLASSINFO(SequenceValue, ValueBase); public: SequenceValue(ValuesList * list = NULL); void PrintOn(ostream &) const; protected: ValuesList values;};class MibBase : public PObject{ PCLASSINFO(MibBase, PObject); public: MibBase(PString * name, PString * descr, PString * refer, ValueBase * val); virtual ~MibBase(); protected: PString name; PString description; PString reference; ValueBase * value;};PLIST(MibList, MibBase);class MibObject : public MibBase{ PCLASSINFO(MibObject, MibBase); public: enum Access { read_only, read_write, write_only, not_accessible, }; enum Status { mandatory, optional, obsolete, deprecated }; MibObject(PString * name, TypeBase * type, Access acc, Status stat, PString * descr, PString * refer, PStringList * idx, ValueBase * defVal, ValueBase * setVal); ~MibObject(); void PrintOn(ostream &) const; protected: TypeBase * type; Access access; Status status; PStringList index; ValueBase * defaultValue;};class MibTrap : public MibBase{ PCLASSINFO(MibTrap, MibBase); public: MibTrap(PString * nam, ValueBase * ent, ValuesList * var, PString * descr, PString * refer, ValueBase * val); ~MibTrap(); void PrintOn(ostream &) const; protected: ValueBase * enterprise; ValuesList variables;};class ImportModule : public PObject{ PCLASSINFO(ImportModule, PObject); public: ImportModule(PString * name, TypesList * syms); void PrintOn(ostream &) const; void GenerateCplusplus(ostream & hdr, ostream & cxx); protected: PString fullModuleName; PString shortModuleName; TypesList symbols;};PLIST(ImportsList, ImportModule);class ModuleDefinition : public PObject{ PCLASSINFO(ModuleDefinition, PObject); public: ModuleDefinition(PString * name, PStringList * id, Tag::Mode defTagMode); void PrintOn(ostream &) const; Tag::Mode GetDefaultTagMode() const { return defaultTagMode; } void SetExportAll(); void SetExports(TypesList * syms); void AddImport(ImportModule * mod) { imports.Append(mod); } void AddType(TypeBase * type) { types.Append(type); } void AddValue(ValueBase * val) { values.Append(val); } void AddMIB(MibBase * mib) { mibs.Append(mib); } void AppendType(TypeBase * type); TypeBase * FindType(const PString & name); const ValuesList & GetValues() const { return values; } const PString & GetModuleName() const { return moduleName; } const PString & GetPrefix() const { return classNamePrefix; } PString GetImportModuleName(const PString & moduleName); int GetIndentLevel() const { return indentLevel; } void SetIndentLevel(int delta) { indentLevel += delta; } BOOL UsingInlines() const { return usingInlines; } void GenerateCplusplus(const PFilePath & path, const PString & modName, unsigned numFiles, BOOL useNamespaces, BOOL useInlines, BOOL verbose); protected: PString moduleName; PString classNamePrefix; BOOL separateClassFiles; PStringList definitiveId; Tag::Mode defaultTagMode; TypesList exports; BOOL exportAll; ImportsList imports; PStringToString importNames; TypesList types; SortedTypesList sortedTypes; ValuesList values; MibList mibs; int indentLevel; BOOL usingInlines;};extern ModuleDefinition * Module;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -