![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: specAttrib.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef specAttrib_H_ 00010 #define specAttrib_H_ 00011 00012 #include "gdb/gdbDefines.h" 00013 #include <stdio.h> 00014 00015 #include <vlutil/vlNetTypes.h> 00016 00017 #include <vlutil/vlString.h> 00018 #include "tdbutil/symStr.h" 00019 00020 // class DtSpecificationAttribute: 00021 // 00022 // DtSpecificationAttribute is the base member for attributes. 00023 00024 class DT_DLL_gdb DtSpecificationAttribute 00025 { 00026 public: 00027 00028 // SEDRIS enumerations for type 00029 enum DtSedrisType 00030 { 00031 ENUMERATION, 00032 LOGICAL, 00033 NULLVALUE, 00034 STRING, 00035 KEY, 00036 INDEX, 00037 COUNT, 00038 INTEGER, 00039 REAL 00040 }; 00041 00042 // default constructor 00043 DtSpecificationAttribute(); 00044 00045 // destructor 00046 virtual ~DtSpecificationAttribute(); 00047 00048 // copy constructor 00049 DtSpecificationAttribute(const DtSpecificationAttribute& orig); 00050 00051 // assignment operator 00052 DtSpecificationAttribute& operator=(const DtSpecificationAttribute& orig); 00053 00054 // Comparison operators 00055 // ==, <, and > return false if the labels or types don't match 00056 // != returns true if the labels or types don't match 00057 virtual bool operator==(const DtSpecificationAttribute& other) const; 00058 virtual bool operator!=(const DtSpecificationAttribute& other) const; 00059 virtual bool operator<(const DtSpecificationAttribute& other) const; 00060 virtual bool operator>(const DtSpecificationAttribute& other) const; 00061 00062 // get/set label 00063 virtual DtSymbolString label() const; 00064 00065 virtual void setLabel(const DtString& label); 00066 virtual void setLabel(DtSymbolString label); 00067 00068 // input from file 00069 virtual bool readFrom(FILE* fp); 00070 00071 // write to a file 00072 virtual bool writeTo(FILE* fp); 00073 00074 // get specification 00075 virtual unsigned int type() const=0; 00076 00077 // virtual constructor 00078 virtual DtSpecificationAttribute* clone() const=0; 00079 00080 private: 00081 DtSymbolString myLabel; 00082 }; 00083 00084 #endif