00001
00029 #ifndef INC_RVC_METADATA_H
00030 #define INC_RVC_METADATA_H
00031
00032 #ifndef INC_RVC_TEXTOBJ_H
00033 #include <rvc/textobj.h>
00034 #endif
00035
00036 namespace RVC {
00037
00045 class METADATA : public RVC::TEXTOBJ {
00046 public:
00047
00048 enum FORMAT {
00049 FORMAT_Unknown = 0,
00050 FORMAT_ISO19115 = 1,
00051 FORMAT_FGDC_STD_001_1998 = 2,
00052 FORMAT_ISO19139 = 3
00053 };
00054
00056 METADATA (
00057 );
00058
00060 METADATA (
00061 const RVC::METADATA& obj
00062 );
00063
00065 virtual ~METADATA (
00066 );
00067
00069 RVC::METADATA& operator= (
00070 const RVC::METADATA& rhs
00071 );
00072
00075 FORMAT GetMetadataFormat (
00076 );
00077
00080 static RVC::OBJTYPESET GetValidParentSet (
00081 );
00082
00085 ERRVALUE Link (
00086 RVC::OBJECT& parent,
00087 const FILEPATH& LinkPath,
00088 #ifdef RVC_CREDENTIALS_MANDATORY
00089 CHAR_ENCODING encoding,
00090 FORMAT Format,
00091 const CREDENTIALS* Credentials
00092 #else
00093 CHAR_ENCODING encoding = CHAR_ENCODING_ISO_2022,
00094 FORMAT Format = FORMAT_Unknown,
00095 const CREDENTIALS* Credentials = 0
00096 #endif
00097 );
00098
00101 ERRVALUE Make (
00102 RVC::OBJECT& parent,
00103 const MISTRING& string,
00104 #ifdef RVC_CREDENTIALS_MANDATORY
00105 FORMAT Format,
00106 const CREDENTIALS* Credentials
00107 #else
00108 FORMAT Format = FORMAT_Unknown,
00109 const CREDENTIALS* Credentials = 0
00110 #endif
00111 );
00112
00114 ERRVALUE Read (
00115 MISTRING& string
00116 );
00117
00118 private:
00119 #ifndef GENERATING_DOXYGEN_OUTPUT
00120
00122 virtual OBJTYPE v_GetDftObjectType () const;
00123
00124 #endif // GENERATING_DOXYGEN_OUTPUT
00125
00126 };
00127
00128 }
00129
00130 #endif