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\Commands\mgICommandImp.h" 00022 #include "FDO\Commands\Schema\mgIApplySchema.h" 00023 00024 class FdoIApplySchema; 00025 00026 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA 00027 public __gc class FeatureSchema; 00028 END_NAMESPACE_OSGEO_FDO_SCHEMA 00029 00030 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA 00031 public __gc class PhysicalSchemaMapping; 00032 00033 /// \ingroup (OSGeoFDOCommandsSchema) 00034 /// \brief 00035 /// The IApplySchemaImp class is a concrete implementation of IApplySchema. 00036 /// The IApplySchema interface defines the ApplySchema command, which creates or 00037 /// updates a feature schema within the DataStore. Input to the ApplySchema 00038 /// command is the feature schema instance to be created or updated. Optionally, 00039 /// a provider-specific IPhysicalSchemaMapping interface can be specified that can be 00040 /// used to control how the feature schema elements are mapped into physical 00041 /// storage. 00042 private __gc class IApplySchemaImp : public NAMESPACE_OSGEO_FDO_COMMANDS::ICommandImp, 00043 public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::IApplySchema 00044 { 00045 public: 00046 /// \brief 00047 /// Gets the name of the schema to create. 00048 /// 00049 /// \return 00050 /// Returns the name of the schema to create 00051 /// 00052 __property NAMESPACE_OSGEO_FDO_SCHEMA::FeatureSchema* get_FeatureSchema(); 00053 00054 /// \brief 00055 /// Sets the name of the schema to create. 00056 /// 00057 /// \param value 00058 /// Input the name of the schema to create 00059 /// 00060 /// \return 00061 /// Returns nothing 00062 /// 00063 __property System::Void set_FeatureSchema(NAMESPACE_OSGEO_FDO_SCHEMA::FeatureSchema* value); 00064 00065 /// \brief 00066 /// Gets the PhysicalSchemaMapping used to specify how the schema definition 00067 /// gets mapped into physical storage. 00068 /// 00069 /// \return 00070 /// Returns PhysicalSchemaMapping 00071 /// 00072 __property NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* get_PhysicalMapping(); 00073 00074 /// \brief 00075 /// Sets the PhysicalSchemaMapping used to specify how the schema definition 00076 /// gets mapped into physical storage. 00077 /// 00078 /// \param value 00079 /// Input the PhysicalSchemaMapping 00080 /// 00081 /// \return 00082 /// Returns nothing 00083 /// 00084 __property System::Void set_PhysicalMapping(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value); 00085 00086 /// \brief 00087 /// Indicates whether Execute() will ignore element states 00088 /// when applying the feature schema. 00089 /// 00090 /// \return 00091 /// Returns true if elements states will be ignored, false otherwise. 00092 /// 00093 /// 00094 __property System::Boolean get_IgnoreStates(); 00095 00096 /// \brief 00097 /// Changes the handling of element states by Execute(). 00098 /// 00099 /// \param ignoreStates 00100 /// Input True: Execute() will ignore the 00101 /// element states on the Feature Schema elements. Instead, it 00102 /// will additively merge the Feature Schema into the current DataStore. 00103 /// False: Execute() will use the element states to determine whether 00104 /// each element is inserted, modified or deleted. 00105 /// 00106 /// \return 00107 /// Returns nothing 00108 /// 00109 __property System::Void set_IgnoreStates(System::Boolean ignoreStates ); 00110 00111 /// \brief 00112 /// Executes the ApplySchema command that creates metadata and physical 00113 /// storage for the schema. An exception is thrown if the schema already 00114 /// exists or if a schema already exists and the feature provider only 00115 /// supports a single schema. If schema changes include deletion of classes 00116 /// or the schema itself, then those classes (or the schema, if it is marked 00117 /// as deleted) must not contain any instance data. If they do, an exception 00118 /// will be thrown. 00119 /// Implementors must call FeatureSchema::AcceptChanges() when Execute() succeeds. 00120 /// It must be called after the schema has been successfully applied, in 00121 /// order to synchronize the states of the schema elements. 00122 /// 00123 /// \return 00124 /// Returns nothing 00125 /// 00126 System::Void Execute(); 00127 00128 public private: 00129 IApplySchemaImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS::ICommandImp(unmanaged, autoDelete) 00130 { 00131 00132 } 00133 00134 inline FdoIApplySchema* GetImpObj(); 00135 }; 00136 00137 END_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA 00138 00139
Comments or suggestions? Send us feedback. |