00001 #ifndef FDO_SqlServerOVDATAPROPERTYDEFINITION_H
00002 #define FDO_SqlServerOVDATAPROPERTYDEFINITION_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 <FdoCommon.h>
00022 #include <Rdbms/Override/RdbmsOvDataPropertyDefinition.h>
00023 #include <Rdbms/Override/SQLServerSpatial/SqlServerOv.h>
00024 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvColumn.h>
00025 #include <Rdbms/Override/SQLServerSpatial/SqlServerOvPropertyDefinition.h>
00026
00027 /// \brief
00028 /// Concrete class defining physical schema overrides for a data property definition.
00029 class FdoSqlServerOvDataPropertyDefinition : public FdoRdbmsOvDataPropertyDefinition, public FdoSqlServerOvPropertyDefinition
00030 {
00031 public:
00032 /// \brief
00033 /// Constructs a default of an FdoSqlServerOvDataPropertyDefinition
00034 ///
00035 /// \return
00036 /// Returns FdoSqlServerOvDataPropertyDefinition
00037 ///
00038 FDOSQLSERVER_OV_API static FdoSqlServerOvDataPropertyDefinition* Create();
00039
00040 /// \brief
00041 /// Constructs an instance of an FdoSqlServerOvDataPropertyDefinition using the specified arguments
00042 ///
00043 /// \param name
00044 /// Input name
00045 ///
00046 /// \return
00047 /// Returns FdoSqlServerOvDataPropertyDefinition
00048 ///
00049 FDOSQLSERVER_OV_API static FdoSqlServerOvDataPropertyDefinition* Create(FdoString* name);
00050
00051 /// \brief
00052 /// Gets the SqlServer column
00053 ///
00054 /// \return
00055 /// Returns the SqlServer column
00056 ///
00057 FDOSQLSERVER_OV_API FdoSqlServerOvColumn* GetColumn();
00058
00059 /// \brief
00060 /// Sets the SqlServer column
00061 ///
00062 /// \return
00063 /// Returns nothing
00064 ///
00065 FDOSQLSERVER_OV_API void SetColumn(FdoSqlServerOvColumn *column);
00066
00067 /* //TODO: enable this code when FdoSQLServerOvValidPropertyValueConstraint is ready
00068
00069 /// \brief
00070 /// Get the single ValidPropertyValueConstraint
00071 ///
00072 /// \return
00073 /// Returns the single ValidPropertyValueConstraint
00074 ///
00075 FDOSQLSERVER_OV_API FdoSQLServerOvValidPropertyValueConstraint* GetValidPropertyValueConstraint();
00076
00077 /// \brief
00078 /// Set the single ValidPropertyValueConstraint
00079 ///
00080 /// \return
00081 /// Returns nothing
00082 ///
00083 FDOSQLSERVER_OV_API void SetValidPropertyValueConstraint(FdoSQLServerOvValidPropertyValueConstraint* validPropertyValueConstraint);
00084 */
00085
00086 /// \cond DOXYGEN-IGNORE
00087
00088 /// \endcond
00089
00090 protected:
00091 FdoSqlServerOvDataPropertyDefinition();
00092 FdoSqlServerOvDataPropertyDefinition(FdoString* name);
00093 virtual ~FdoSqlServerOvDataPropertyDefinition();
00094 virtual void Dispose();
00095
00096 private:
00097 };
00098
00099
00100 /// \brief
00101 /// FdoSqlServerOvDataPropertyP is a FdoPtr on FdoSqlServerOvDataPropertyDefinition, provided for convenience.
00102 typedef FdoPtr<FdoSqlServerOvDataPropertyDefinition> FdoSqlServerOvDataPropertyP;
00103
00104 #endif
00105
00106