00001 #ifndef FDO_SqlServerOVGEOMETRICPROPERTYDEFINITION_H
00002 #define FDO_SqlServerOVGEOMETRICPROPERTYDEFINITION_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/RdbmsOvGeometricPropertyDefinition.h>
00022 #include <Rdbms/Override/SQLServerSpatial/SqlServerOv.h>
00023 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvGeometricColumn.h>
00024 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyDefinition.h>
00025
00026 /// \brief
00027 /// Concrete class defining physical schema overrides for a geometric property definition.
00028 class FdoSqlServerOvGeometricPropertyDefinition : public FdoRdbmsOvGeometricPropertyDefinition, public FdoSqlServerOvPropertyDefinition
00029 {
00030 public:
00031 /// \brief
00032 /// Constructs a default of an FdoSqlServerOvGeometricPropertyDefinition
00033 ///
00034 /// \return
00035 /// Returns FdoSqlServerOvGeometricPropertyDefinition
00036 ///
00037 FDOSQLSERVER_OV_API static FdoSqlServerOvGeometricPropertyDefinition* Create();
00038
00039 /// \brief
00040 /// Constructs an instance of an FdoSqlServerOvGeometricPropertyDefinition using the specified arguments
00041 ///
00042 /// \param name
00043 /// Input name
00044 ///
00045 /// \return
00046 /// Returns FdoSqlServerOvGeometricPropertyDefinition
00047 ///
00048 FDOSQLSERVER_OV_API static FdoSqlServerOvGeometricPropertyDefinition* Create(FdoString* name);
00049
00050 /// \brief
00051 /// Gets the column
00052 ///
00053 /// \return
00054 /// Returns the column
00055 ///
00056 FDOSQLSERVER_OV_API FdoSqlServerOvGeometricColumn* GetColumn();
00057
00058 /// \brief
00059 /// Sets the column
00060 ///
00061 /// \return
00062 /// Returns nothing
00063 ///
00064 FDOSQLSERVER_OV_API void SetColumn(FdoSqlServerOvGeometricColumn* geometricColumn);
00065
00066
00067 protected:
00068 /// \cond DOXYGEN-IGNORE
00069
00070 FdoSqlServerOvGeometricPropertyDefinition();
00071 FdoSqlServerOvGeometricPropertyDefinition(FdoString* name);
00072 virtual ~FdoSqlServerOvGeometricPropertyDefinition();
00073 virtual void Dispose();
00074 /// \endcond
00075
00076 private:
00077 };
00078
00079 /// \brief
00080 /// FdoSqlServerOvGeometricPropertyP is a FdoPtr on FdoSqlServerOvGeometricPropertyDefinition, provided for convenience.
00081 typedef FdoPtr<FdoSqlServerOvGeometricPropertyDefinition> FdoSqlServerOvGeometricPropertyP;
00082
00083 #endif
00084
00085