API Reference | OSGeo FDO Provider for ODBC |
00001 #ifndef FDO_SqlServerOVPHYSICALSCHEMAMAPPING_H 00002 #define FDO_SqlServerOVPHYSICALSCHEMAMAPPING_H 00003 // 00004 // 00005 // (C) Copyright 1990-2005 by Autodesk, Inc. 00006 // 00007 // 00008 // 00009 // By using this code, you are agreeing to the terms 00010 // and conditions of the License Agreement that appeared 00011 // and was accepted upon download or installation 00012 // (or in connection with the download or installation) 00013 // of the Autodesk software in which this code is included. 00014 // All permissions on use of this code are as set forth 00015 // in such License Agreement provided that the above copyright 00016 // notice appears in all authorized copies and that both that 00017 // copyright notice and the limited warranty and 00018 // restricted rights notice below appear in all supporting 00019 // documentation. 00020 // 00021 // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. 00022 // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF 00023 // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. 00024 // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE 00025 // UNINTERRUPTED OR ERROR FREE. 00026 // 00027 // Use, duplication, or disclosure by the U.S. Government is subject to 00028 // restrictions set forth in FAR 52.227-19 (Commercial Computer 00029 // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) 00030 // (Rights in Technical Data and Computer Software), as applicable. 00031 // 00032 #include <Rdbms/Override/RdbmsOvPhysicalSchemaMapping.h> 00033 #include <Rdbms/Override/SqlServer/SqlServerOv.h> 00034 #include <Rdbms/Override/SqlServer/SqlServerOvClassCollection.h> 00035 #include <Rdbms/Override/SqlServer/SqlServerOvTextInRowOption.h> 00036 00037 /// \brief 00038 /// Concrete class offering schema overrides for 00039 /// the SqlServer Provider. 00040 class FdoSqlServerOvPhysicalSchemaMapping : public FdoRdbmsOvPhysicalSchemaMapping 00041 { 00042 00043 public: 00044 00045 /// \brief 00046 /// Constructs a default of an FdoSqlServerOvPhysicalSchemaMapping 00047 /// 00048 /// \return 00049 /// Returns FdoSqlServerOvPhysicalSchemaMapping 00050 /// 00051 FDOSQLSERVER_OV_API static FdoSqlServerOvPhysicalSchemaMapping* Create(); 00052 00053 /// \brief 00054 /// Constructs an instance of an FdoSqlServerOvPhysicalSchemaMapping using the specified arguments 00055 /// 00056 /// \param name 00057 /// Input name 00058 /// 00059 /// \return 00060 /// Returns FdoSqlServerOvPhysicalSchemaMapping 00061 /// 00062 FDOSQLSERVER_OV_API static FdoSqlServerOvPhysicalSchemaMapping* Create(FdoString* name); 00063 00064 /// \brief 00065 /// Gets the classes 00066 /// 00067 /// \return 00068 /// Returns the classes 00069 /// 00070 FDOSQLSERVER_OV_API FdoSqlServerOvClassCollection* GetClasses(); 00071 00072 /// \brief 00073 /// Gets the table Filegroup 00074 /// 00075 /// \return 00076 /// Returns the table Filegroup 00077 /// 00078 FDOSQLSERVER_OV_API FdoString *GetTableFilegroup(); 00079 00080 /// \brief 00081 /// Sets the table Filegroup 00082 /// 00083 /// \return 00084 /// Returns nothing 00085 /// 00086 FDOSQLSERVER_OV_API void SetTableFilegroup(FdoString *tableFilegroup); 00087 00088 /// \brief 00089 /// Gets the text Filegroup 00090 /// 00091 /// \return 00092 /// Returns the text Filegroup 00093 /// 00094 FDOSQLSERVER_OV_API FdoString *GetTextFilegroup(); 00095 00096 /// \brief 00097 /// Sets the text Filegroup 00098 /// 00099 /// \return 00100 /// Returns nothing 00101 /// 00102 FDOSQLSERVER_OV_API void SetTextFilegroup(FdoString *textFilegroup); 00103 00104 /// \brief 00105 /// Gets the index Filegroup 00106 /// 00107 /// \return 00108 /// Returns the index Filegroup 00109 /// 00110 FDOSQLSERVER_OV_API FdoString *GetIndexFilegroup(); 00111 00112 /// \brief 00113 /// Sets the index Filegroup 00114 /// 00115 /// \return 00116 /// Returns nothing 00117 /// 00118 FDOSQLSERVER_OV_API void SetIndexFilegroup(FdoString *indexFilegroup); 00119 00120 /// \brief 00121 /// Gets the text-in-row option 00122 /// 00123 /// \return 00124 /// Returns the text-in-row option 00125 /// 00126 FDOSQLSERVER_OV_API SqlServerOvTextInRowOption GetTextInRow(); 00127 00128 /// \brief 00129 /// Sets the text-in-row option 00130 /// 00131 /// \return 00132 /// Returns nothing 00133 /// 00134 FDOSQLSERVER_OV_API void SetTextInRow(SqlServerOvTextInRowOption textInRow); 00135 00136 /// \brief 00137 /// Gets the database 00138 /// 00139 /// \return 00140 /// Returns the database 00141 /// 00142 FDOSQLSERVER_OV_API FdoString *GetDatabase(); 00143 00144 /// \brief 00145 /// Sets the database 00146 /// 00147 /// \return 00148 /// Returns nothing 00149 /// 00150 FDOSQLSERVER_OV_API void SetDatabase(FdoString *database); 00151 00152 /// \brief 00153 /// Gets the owner 00154 /// 00155 /// \return 00156 /// Returns the owner 00157 /// 00158 FDOSQLSERVER_OV_API FdoString *GetOwner(); 00159 00160 /// \brief 00161 /// Sets the owner 00162 /// 00163 /// \return 00164 /// Returns nothing 00165 /// 00166 FDOSQLSERVER_OV_API void SetOwner(FdoString *owner); 00167 00168 /// \brief 00169 /// Gets the provider name 00170 /// 00171 /// \return 00172 /// Returns the provider name 00173 /// 00174 FDOSQLSERVER_OV_API virtual FdoString *GetProvider(void); 00175 00176 /// \cond DOXYGEN-IGNORE 00177 00178 /// XML Serialization functions, not part of API. 00179 00180 /// Serialize this property to XML. 00181 virtual void _writeXmlAttributes(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags); 00182 00183 /// Initialize this element from its XML attributes 00184 virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs); 00185 00186 /// \endcond 00187 00188 protected: 00189 FdoSqlServerOvPhysicalSchemaMapping(); 00190 FdoSqlServerOvPhysicalSchemaMapping(FdoString* name); 00191 virtual ~FdoSqlServerOvPhysicalSchemaMapping(); 00192 virtual void Dispose(); 00193 00194 /// Create a class override from XML attributes 00195 virtual FdoRdbmsOvClassDefinition* CreateClass( 00196 FdoXmlSaxContext* context, 00197 FdoXmlAttributeCollection* atts 00198 ); 00199 00200 /// Add the given class override to this schema override set 00201 virtual void AddClass( 00202 FdoRdbmsOvClassDefinition* pClass 00203 ); 00204 00205 /// Common initializer for all constructors: 00206 void Init(); 00207 00208 private: 00209 FdoSqlServerOvClassesP mClasses; 00210 FdoStringP mTableFilegroup; 00211 FdoStringP mTextFilegroup; 00212 FdoStringP mIndexFilegroup; 00213 SqlServerOvTextInRowOption mTextInRow; 00214 FdoStringP mDatabase; 00215 FdoStringP mOwner; 00216 }; 00217 00218 /// \brief 00219 /// FdoSqlServerOvSchemaMappingP is a FdoPtr on FdoSqlServerOvPhysicalSchemaMapping, provided for convenience. 00220 typedef FdoPtr<FdoSqlServerOvPhysicalSchemaMapping> FdoSqlServerOvSchemaMappingP; 00221 00222 #endif 00223 00224
Comments? |