FDO .NET API Reference Feature Data Objects

mgIUpdateImp.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\mgIFeatureCommandImp.h"
00022 #include "FDO\Commands\Feature\mgIUpdate.h"
00023 
00024 class FdoIUpdate;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00027 
00028 /// \ingroup (OSGeoFDOCommandsFeature)
00029 /// \brief
00030 /// The IUpdateImp class is a concrete implementation of interface IUpdate.
00031 /// The IUpdate interface defines the Update command, which modifies instances
00032 /// of a given class that match the specified criteria. Input to the update
00033 /// command includes the name of the class, the list of property name/value
00034 /// pairs to be updated, and the filter criteria by which to identify the
00035 /// instances to be updated. The filter may be specified either as text or as an
00036 /// expression tree (most likely produced by a query builder). The update
00037 /// command can update instances at global scope or nested within an
00038 /// object collection property. Instances at global scope are referred to simply
00039 /// by the class name. Instances at a nested scope (i.e., instances within an
00040 /// object collection property) are referred to by the containing class name,
00041 /// followed by a '.', followed by the object collection property name.
00042 private __gc class IUpdateImp : public NAMESPACE_OSGEO_FDO_COMMANDS::IFeatureCommandImp, 
00043                                 public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IUpdate
00044 {
00045 public:
00046     /// \brief
00047     /// Gets the PropertyValueCollection that specifies the names and values of the 
00048     /// properties to be updated.
00049     /// 
00050     /// \return
00051     /// Returns the list of properties and their values.
00052     /// 
00053     __property NAMESPACE_OSGEO_FDO_COMMANDS::PropertyValueCollection* get_PropertyValues();
00054 
00055     /// \brief
00056     /// Executes the update command and returns the number of modified 
00057     /// instances.
00058     /// 
00059     /// \return
00060     /// Returns nothing
00061     /// 
00062     System::Int32 Execute();
00063 
00064     /// \brief
00065     ///  Updating objects might result in lock conflicts if objects
00066     /// to be updated are not exclusively locked for the user attempting to
00067     /// update the object. If objects to be updated are not exclusively locked for the 
00068     /// user attempting to update the object, a lock conflict report is generated.
00069     /// The function GetLockConflicts returns a lock conflict reader providing
00070     /// access to the list of lock conflicts that occurred during the execution
00071     /// of the update operation.
00072     /// 
00073     /// \return
00074     /// Returns a lock conflict reader.
00075     /// 
00076     __property NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::ILockConflictReader* get_LockConflicts();
00077 
00078 public private:
00079     IUpdateImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS::IFeatureCommandImp(unmanaged, autoDelete)
00080     {
00081 
00082     }
00083 
00084     inline FdoIUpdate* GetImpObj();
00085 };
00086 
00087 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00088 
00089 

Comments or suggestions? Send us feedback.