GDAL
ogremulatedtransaction.h
00001 /******************************************************************************
00002  * $Id$
00003  *
00004  * Project:  OpenGIS Simple Features Reference Implementation
00005  * Purpose:  Defines OGRDataSourceWithTransaction class
00006  * Author:   Even Rouault, even dot rouault at spatialys dot com
00007  *
00008  ******************************************************************************
00009  * Copyright (c) 2015, Even Rouault <even dot rouault at spatialys dot com>
00010  *
00011  * Permission is hereby granted, free of charge, to any person obtaining a
00012  * copy of this software and associated documentation files (the "Software"),
00013  * to deal in the Software without restriction, including without limitation
00014  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00015  * and/or sell copies of the Software, and to permit persons to whom the
00016  * Software is furnished to do so, subject to the following conditions:
00017  *
00018  * The above copyright notice and this permission notice shall be included
00019  * in all copies or substantial portions of the Software.
00020  *
00021  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00022  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00023  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00024  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00025  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00026  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00027  * DEALINGS IN THE SOFTWARE.
00028  ****************************************************************************/
00029 
00030 #ifndef _OGREMULATEDTRANSACTION_H_INCLUDED
00031 #define _OGREMULATEDTRANSACTION_H_INCLUDED
00032 
00033 #include "ogrsf_frmts.h"
00034 
00040 class CPL_DLL IOGRTransactionBehaviour
00041 {
00042     public:
00043         virtual ~IOGRTransactionBehaviour();
00044 
00058        virtual OGRErr StartTransaction(OGRDataSource*& poDSInOut,
00059                                        int& bOutHasReopenedDS) = 0;
00060 
00074        virtual OGRErr CommitTransaction(OGRDataSource*& poDSInOut,
00075                                         int& bOutHasReopenedDS) = 0;
00076 
00090        virtual OGRErr RollbackTransaction(OGRDataSource*& poDSInOut,
00091                                           int& bOutHasReopenedDS) = 0;
00092 };
00093 
00094 
00122 OGRDataSource CPL_DLL* OGRCreateEmulatedTransactionDataSourceWrapper(
00123                                 OGRDataSource* poBaseDataSource,
00124                                 IOGRTransactionBehaviour* poTransactionBehaviour,
00125                                 int bTakeOwnershipDataSource,
00126                                 int bTakeOwnershipTransactionBehaviour);
00127 
00128 #endif // _OGREMULATEDTRANSACTION_H_INCLUDED

Generated for GDAL by doxygen 1.7.6.1.