FDO .NET API Reference Feature Data Objects

mgIDeleteImp.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\mgIDelete.h"
00023 
00024 class FdoIDelete;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING
00027 public __gc __interface ILockConflictReader;
00028 END_NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING
00029 
00030 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00031 
00032 /// \ingroup (OSGeoFDOCommandsFeature)
00033 /// \brief
00034 /// The IDeleteImp class is a concrete implementation class for interface IDelete.
00035 /// The IDelete interface defines the FDO Delete command, which deletes instances of
00036 /// a given class that match the specified criteria. Input to the delete command
00037 /// includes the name of the class, and filter criteria by which to identify the
00038 /// instances to be deleted. The filter may be specified either as text or as an
00039 /// expression tree (most likely produced by a query builder). The delete
00040 /// command can delete instances at global scope or instances/values nested
00041 /// within an object collection property. Instances at global scope are referred
00042 /// to simply by the class name. Instances at a nested scope (i.e. instances
00043 /// within a object collection property) are referred to by the containing class
00044 /// name, followed by a '.', followed by the object collection property name.
00045 private __gc class IDeleteImp : public NAMESPACE_OSGEO_FDO_COMMANDS::IFeatureCommandImp, 
00046                                 public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IDelete
00047 {
00048 public:
00049     /// \brief
00050     /// Executes the delete command and returns the number of instances
00051     /// deleted
00052     /// 
00053     /// \return
00054     /// Returns the number of instances deleted.
00055     /// 
00056     System::Int32 Execute();
00057 
00058     /// \brief
00059     /// Deleting objects might result in lock conflicts if objects
00060     /// to be deleted are not exclusively locked for the user attempting to
00061     /// delete the object. A lock conflict report is generated.
00062     /// This function returns a lock conflict reader that provides
00063     /// access to the list of lock conflicts that occurred during the execution
00064     /// of the delete operation.
00065     /// 
00066     /// \return
00067     /// Returns a lock conflict reader.
00068     /// 
00069     __property NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::ILockConflictReader* get_LockConflicts();
00070 
00071 public private:
00072     IDeleteImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS::IFeatureCommandImp(unmanaged, autoDelete)
00073     {
00074 
00075     }
00076 
00077     inline FdoIDelete* GetImpObj();
00078 };
00079 
00080 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00081 
00082 

Comments or suggestions? Send us feedback.