FDO .NET API Reference | Feature Data Objects |
00001 /* 00002 * Copyright (C) 2004-2006 Autodesk, Inc. 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of version 2.1 of the GNU Lesser 00006 * General Public License as published by the Free Software Foundation. 00007 * 00008 * This library is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this library; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00016 * 00017 */ 00018 00019 #pragma once 00020 00021 #include "FDO\Connections\Capabilities\mgISchemaCapabilities.h" 00022 00023 class FdoISchemaCapabilities; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES 00026 00027 /// \ingroup (OSGeoFDOConnectionsCapabilities) 00028 /// \brief 00029 /// The ISchemaCapbilities interface declares the feature provider's level 00030 /// of support for the Feature Schema. 00031 private __gc class ISchemaCapabilitiesImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, 00032 public NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::ISchemaCapabilities 00033 { 00034 public: 00035 /// \brief 00036 /// Returns an array of the ClassType objects the feature provider supports. 00037 /// 00038 /// \return 00039 /// Returns the list of class types. 00040 /// 00041 __property NAMESPACE_OSGEO_FDO_SCHEMA::ClassType get_ClassTypes() []; 00042 00043 /// \brief 00044 /// Returns an array of the DataType objects the feature provider supports. 00045 /// 00046 /// \return 00047 /// Returns the list of data types 00048 /// 00049 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_DataTypes() []; 00050 00051 /// \brief 00052 /// Returns the maximum supported length of String, BLOB, or CLOB data 00053 /// properties. For decimal, it is the combination of the maximum scale 00054 /// and precision. For other data types that are not variable in size, 00055 /// the value returned is the byte length. 00056 /// 00057 /// \param dataType 00058 /// The data type for which the information is to retrieved. 00059 /// 00060 /// \return 00061 /// Returns the maximum data value length for the identified data type. 00062 /// 00063 __property System::Int64 get_MaximumDataValueLength(NAMESPACE_OSGEO_FDO_SCHEMA::DataType dataType); 00064 00065 /// \brief 00066 /// Returns the maximum supported precision for a decimal data property. 00067 /// 00068 /// \return 00069 /// Returns the maximum supported precision for a decimal data property. 00070 /// 00071 __property System::Int32 get_MaximumDecimalPrecision(); 00072 00073 /// \brief 00074 /// Returns the maximum supported scale for a decimal data property. 00075 /// 00076 /// \return 00077 /// Returns the maximum supported scale for a decimal data property. 00078 /// 00079 __property System::Int32 get_MaximumDecimalScale(); 00080 00081 /// \brief 00082 /// Returns the maximum size of a value of the given type. It includes 00083 /// limits for the data store name, shema name, class name, property name 00084 /// and description. 00085 /// 00086 /// \param name 00087 /// The schema element name type identifier for which the information is to 00088 /// be retrieved. Can be any of the following options: SchemaElementNameType_Datastore, 00089 /// SchemaElementNameType_Schema, SchemaElementNameType_Class, SchemaElementNameType_Property or 00090 /// SchemaElementNameType_Description 00091 /// 00092 /// \return 00093 /// Returns the size limitation for the identified schema element. 00094 /// 00095 __property System::Int32 get_NameSizeLimit(NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::SchemaElementNameType name); 00096 00097 /// \brief 00098 /// Returns a string that includes all the reserved characters that cannot be 00099 /// used for the various schema element names for the provider. 00100 /// 00101 /// \return 00102 /// Returns a string with the reserved characters for the identified schema element. 00103 /// 00104 __property System::String* get_ReservedCharactersForName(); 00105 00106 /// \brief 00107 /// Returns an array of the DataType objects the feature provider supports for auto-generation. 00108 /// 00109 /// \return 00110 /// Returns the list of data types 00111 /// 00112 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_SupportedAutoGeneratedTypes() []; 00113 00114 /// \brief 00115 /// Returns a list of property types that can be used for identity properties. 00116 /// 00117 /// \return 00118 /// Returns a string with the reserved characters for the identified schema element. 00119 /// 00120 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_SupportedIdentityPropertyTypes() []; 00121 00122 /// \brief 00123 /// Determines if the provider supports association property. 00124 /// 00125 /// \return 00126 /// Returns true if the provider support the association property. 00127 /// 00128 __property System::Boolean get_SupportsAssociationProperties(); 00129 00130 /// \brief 00131 /// Determines if the provider can auto-generate unique ID values for a class. 00132 /// 00133 /// \return 00134 /// Returns true if the provider supports id autogeneration. 00135 /// 00136 __property System::Boolean get_SupportsAutoIdGeneration(); 00137 00138 /// \brief 00139 /// Determines if the provider supports multiple identity properties per class. 00140 /// 00141 /// \return 00142 /// Returns true if the provider supports multiple identity properties per class. 00143 /// 00144 __property System::Boolean get_SupportsCompositeId(); 00145 00146 /// \brief 00147 /// Determines if the provider supports composite unique value constraint. 00148 /// 00149 /// \return 00150 /// Returns true if the provider supports composite unique value constraint. 00151 /// 00152 __property System::Boolean get_SupportsCompositeUniqueValueConstraints(); 00153 00154 /// \brief 00155 /// Determines if the provider can auto-generate unique ID values that are unique for the entire datastore, rather than just for a particular class. 00156 /// 00157 /// \return 00158 /// Returns true if the provider supports id autogeneration unique across an datastore. 00159 /// 00160 __property System::Boolean get_SupportsDataStoreScopeUniqueIdGeneration(); 00161 00162 /// \brief 00163 /// Returns TRUE if default values can be specified for a data property 00164 /// definition, FALSE otherwise. 00165 /// 00166 /// \return 00167 /// Returns TRUE if default values can be specified for a data property 00168 /// definition, FALSE otherwise. 00169 /// 00170 __property System::Boolean get_SupportsDefaultValue(); 00171 00172 /// \brief 00173 /// Determines if the provider supports inclusive value range constraints. 00174 /// 00175 /// \return 00176 /// Returns true if the provider supports inclusive value range constraints. 00177 /// 00178 __property System::Boolean get_SupportsInclusiveValueRangeConstraints(); 00179 00180 /// \brief 00181 /// Determines if the provider supports exclusive value range constraints. 00182 /// 00183 /// \return 00184 /// Returns true if the provider supports exclusive value range constraints. 00185 /// 00186 __property System::Boolean get_SupportsExclusiveValueRangeConstraints(); 00187 00188 /// \brief 00189 /// Determines if the feature provider supports inheritance. 00190 /// 00191 /// \return 00192 /// Returns true if the feature provider supports inheritance 00193 /// 00194 __property System::Boolean get_SupportsInheritance(); 00195 00196 /// \brief 00197 /// Determines if the provider supports multiple schemas. Returns false if the provider supports only a single schema. 00198 /// 00199 /// \return 00200 /// Returns true if the provider supports multiple schemas. 00201 /// 00202 __property System::Boolean get_SupportsMultipleSchemas(); 00203 00204 /// \brief 00205 /// Determines if the provider supports the network model. 00206 /// 00207 /// \return 00208 /// Returns true if the provider supports the network model. 00209 /// 00210 __property System::Boolean get_SupportsNetworkModel(); 00211 00212 /// \brief 00213 /// Determines if the provider supports nullable value constraint. 00214 /// 00215 /// \return 00216 /// Returns true if the provider supports nullable value constraint. 00217 /// 00218 __property System::Boolean get_SupportsNullValueConstraints(); 00219 00220 /// \brief 00221 /// Determines if the provider supports object properties. Returns false if the provider supports only data and geometric properties. 00222 /// 00223 /// \return 00224 /// Returns true if the provider supports object properties. 00225 /// 00226 __property System::Boolean get_SupportsObjectProperties(); 00227 00228 /// \brief 00229 /// Determines if the provider support update a schema through the ApplySchema command. 00230 /// If False, then an application can only create a schema once for the provider. They can use the ApplySchema 00231 /// command once for a given datastore. Once the schema is defined, it cannot be changed. If True, then the provider 00232 /// supports the ability to modify or add to the schema after it is defined initially. 00233 /// 00234 /// \return 00235 /// Returns true if the provider supports the update of the schema. 00236 /// 00237 __property System::Boolean get_SupportsSchemaModification(); 00238 00239 /// \brief 00240 /// Determines if the provider supports Schema Mapping Overrides 00241 /// (overrides to the default rules for mapping Feature Schemas to provider-specific 00242 /// physical schemas) 00243 /// 00244 /// \return 00245 /// Returns true if the provider supports Schema Overrides 00246 /// 00247 __property System::Boolean get_SupportsSchemaOverrides(); 00248 00249 /// \brief 00250 /// Determines if the provider supports unique value constraint. 00251 /// 00252 /// \return 00253 /// Returns true if the provider supports unique value constraint. 00254 /// 00255 __property System::Boolean get_SupportsUniqueValueConstraints(); 00256 00257 /// \brief 00258 /// Determines if the provider supports value constraints list. 00259 /// 00260 /// \return 00261 /// Returns true if the provider supports value constraints list. 00262 /// 00263 __property System::Boolean get_SupportsValueConstraintsList(); 00264 00265 /// \cond DOXYGEN-IGNORE 00266 protected: 00267 System::Void ReleaseUnmanagedObject(); 00268 /// \endcond 00269 00270 public private: 00271 ISchemaCapabilitiesImp(System::IntPtr unmanaged, System::Boolean autoDelete); 00272 00273 inline FdoISchemaCapabilities* GetImpObj(); 00274 }; 00275 00276 END_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES 00277 00278
Comments or suggestions? Send us feedback. |