00001
00031 #ifndef INC_MIE_DBLINKABLE_H
00032 #define INC_MIE_DBLINKABLE_H
00033
00034 #ifndef INC_MIE_FORMAT_H
00035 #include <mie/format.h>
00036 #endif
00037
00038 #ifndef INC_RVC_DBTABLE_H
00039 #include <rvc/dbtable.h>
00040 #endif
00041
00042
00043
00044 namespace MIE {
00045
00046
00047
00048
00049 class FORMAT_DBLINKABLE : public FORMAT {
00050 public:
00051 FORMAT_DBLINKABLE (
00052 const char *name,
00053 const char* extns,
00054 RVC::DBTABLE::LINKTYPE linktype,
00055 MIE::FORMATTYPE type,
00056 TEXTID desc,
00057 MIE::MODE mode = MIE::MODE_Import|MIE::MODE_Export
00058 );
00059
00060 virtual ~FORMAT_DBLINKABLE (
00061 );
00062
00063 private:
00064
00065 MIE::MODE m_mode;
00066 TEXTID m_FormatDesc;
00067 const char* m_FileExtn;
00068 RVC::DBTABLE::LINKTYPE m_LinkType;
00069 RVC::DBTABLE::GETOBJFILTER_ISSELECTABLE m_FiltExport;
00070
00071 virtual MIE::JOB_IMPORT* v_AllocJobImport (
00072 MIE::OBJTYPEFLAG ObjType,
00073 const MIE::SETTINGS& settings
00074 ) const;
00075
00076 virtual MIE::SETTINGS* v_AllocSettings (
00077 MIE::MODE mode,
00078 MIE::OBJTYPEFLAG ObjType
00079 ) const;
00080
00081 virtual bool v_CanExport (
00082 RVC::OBJTYPE ObjType
00083 ) const;
00084
00085 virtual bool v_CanImport (
00086 RVC::OBJTYPE ObjType
00087 ) const;
00088
00089 virtual ERRVALUE v_Export (
00090 const MISTRING& dest,
00091 const MIE::SETTINGS& settings,
00092 const SIMPLE_ARRAY<MIE::JOB_EXPORT*>& jobs
00093 ) const;
00094
00095 virtual const char* v_GetDefaultFileExtn (
00096 ) const;
00097
00098 virtual void v_GetFormatDesc (
00099 MISTRING& desc
00100 ) const;
00101
00102 virtual const char* v_GetSMLClassName (
00103 RVC::OBJTYPE objtype
00104 ) const;
00105
00106 virtual int v_GetObjItemList (
00107 const MISTRING& source,
00108 RVC::OBJITEMLIST& items,
00109 const MIE::SETTINGS& settings
00110 ) const;
00111
00112 virtual SMLCLASSMEMBER* v_GetSMLClassMembers (
00113 RVC::OBJTYPE ObjType
00114 ) const;
00115
00116 virtual ERRVALUE v_Import (
00117 const MISTRING& source,
00118 const MIE::SETTINGS& settings,
00119 const SIMPLE_ARRAY<MIE::JOB_IMPORT*>& jobs
00120 ) const;
00121
00122 };
00123
00124 }
00125
00126 #endif