FDO .NET API Reference Feature Data Objects

mgIApplySchemaImp.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\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.