FDO .NET API Reference Feature Data Objects

mgIApplySchema.h

Go to the documentation of this file.
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.