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