API Reference | OSGeo FDO Provider for MySQL |
00001 #ifndef FDO_SqlServerOVTABLE_H 00002 #define FDO_SqlServerOVTABLE_H 00003 /* 00004 * Copyright (C) 2004-2008 Autodesk, Inc. 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of version 2.1 of the GNU Lesser 00008 * General Public License as published by the Free Software Foundation. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00018 * 00019 */ 00020 00021 #include <Rdbms/Override/RdbmsOvTable.h> 00022 #include <Rdbms/Override/SQLServerSpatial/SqlServerOv.h> 00023 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvTextInRowOption.h> 00024 00025 00026 /// \brief 00027 /// Concrete class defining physical schema overrides for a table. 00028 class FdoSqlServerOvTable : public FdoRdbmsOvTable 00029 { 00030 00031 public: 00032 /// \brief 00033 /// Constructs a default of an FdoSqlServerOvTable 00034 /// 00035 /// \return 00036 /// Returns FdoSqlServerOvTable 00037 /// 00038 FDOSQLSERVER_OV_API static FdoSqlServerOvTable* Create(); 00039 00040 /// \brief 00041 /// Constructs an instance of an FdoSqlServerOvTable using the specified arguments 00042 /// 00043 /// \param name 00044 /// Input name 00045 /// 00046 /// \return 00047 /// Returns FdoSqlServerOvTable 00048 /// 00049 FDOSQLSERVER_OV_API static FdoSqlServerOvTable* Create(FdoString *name); 00050 00051 /// \brief 00052 /// Gets the table filegroup 00053 /// 00054 /// \return 00055 /// Returns the table filegroup 00056 /// 00057 FDOSQLSERVER_OV_API FdoString *GetTableFilegroup(); 00058 00059 /// \brief 00060 /// Sets the table filegroup 00061 /// 00062 /// \return 00063 /// Returns nothing 00064 /// 00065 FDOSQLSERVER_OV_API void SetTableFilegroup(FdoString *tableFilegroup); 00066 00067 /// \brief 00068 /// Gets the text filegroup 00069 /// 00070 /// \return 00071 /// Returns the text filegroup 00072 /// 00073 FDOSQLSERVER_OV_API FdoString *GetTextFilegroup(); 00074 00075 /// \brief 00076 /// Sets the text filegroup 00077 /// 00078 /// \return 00079 /// Returns nothing 00080 /// 00081 FDOSQLSERVER_OV_API void SetTextFilegroup(FdoString *textFilegroup); 00082 00083 /// \brief 00084 /// Gets the index filegroup 00085 /// 00086 /// \return 00087 /// Returns the index filegroup 00088 /// 00089 FDOSQLSERVER_OV_API FdoString *GetIndexFilegroup(); 00090 00091 /// \brief 00092 /// Sets the index filegroup 00093 /// 00094 /// \return 00095 /// Returns nothing 00096 /// 00097 FDOSQLSERVER_OV_API void SetIndexFilegroup(FdoString *indexFilegroup); 00098 00099 /// \brief 00100 /// Gets the text-in-row option 00101 /// 00102 /// \return 00103 /// Returns the text-in-row option 00104 /// 00105 FDOSQLSERVER_OV_API SqlServerOvTextInRowOption GetTextInRow(); 00106 00107 /// \brief 00108 /// Sets the text-in-row option 00109 /// 00110 /// \return 00111 /// Returns nothing 00112 /// 00113 FDOSQLSERVER_OV_API void SetTextInRow(SqlServerOvTextInRowOption textInRow); 00114 00115 /// \brief 00116 /// Gets the database 00117 /// 00118 /// \return 00119 /// Returns the database 00120 /// 00121 FDOSQLSERVER_OV_API FdoString *GetDatabase(); 00122 00123 /// \brief 00124 /// Sets the database 00125 /// 00126 /// \return 00127 /// Returns nothing 00128 /// 00129 FDOSQLSERVER_OV_API void SetDatabase(FdoString *database); 00130 00131 /// \brief 00132 /// Gets the owner 00133 /// 00134 /// \return 00135 /// Returns the owner 00136 /// 00137 FDOSQLSERVER_OV_API FdoString *GetOwner(); 00138 00139 /// \brief 00140 /// Sets the owner 00141 /// 00142 /// \return 00143 /// Returns nothing 00144 /// 00145 FDOSQLSERVER_OV_API void SetOwner(FdoString *owner); 00146 00147 00148 /// \cond DOXYGEN-IGNORE 00149 00150 /// XML Serialization functions, not part of the API. 00151 00152 /// Serialize this property to XML. 00153 virtual void _writeXmlContents(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags); 00154 00155 /// Initialize this element from its XML attributes 00156 virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs); 00157 00158 /// Sets the parent of this object. Not part of the API. 00159 void SetParent(FdoPhysicalElementMapping* value); 00160 00161 /// Common initializer for all constructors: 00162 void Init(); 00163 00164 /// \endcond 00165 00166 protected: 00167 FdoSqlServerOvTable(); 00168 FdoSqlServerOvTable(FdoString *name); 00169 virtual ~FdoSqlServerOvTable(); 00170 virtual void Dispose(); 00171 00172 private: 00173 FdoStringP mTableFilegroup; 00174 FdoStringP mTextFilegroup; 00175 FdoStringP mIndexFilegroup; 00176 SqlServerOvTextInRowOption mTextInRow; 00177 FdoStringP mDatabase; 00178 FdoStringP mOwner; 00179 }; 00180 00181 /// \brief 00182 /// FdoSqlServerOvTableP is a FdoPtr on FdoSqlServerOvTable, provided for convenience. 00183 typedef FdoPtr<FdoSqlServerOvTable> FdoSqlServerOvTableP; 00184 00185 #endif 00186 00187
Comments? |