~ubuntu-branches/debian/sid/gdal/sid

« back to all changes in this revision

Viewing changes to ogr/ogrsf_frmts/couchdb/ogrcouchdbdriver.cpp

  • Committer: Package Import Robot
  • Author(s): Francesco Paolo Lovergine
  • Date: 2012-05-07 15:04:42 UTC
  • mfrom: (5.5.16 experimental)
  • Revision ID: package-import@ubuntu.com-20120507150442-2eks97loeh6rq005
Tags: 1.9.0-1
* Ready for sid, starting transition.
* All symfiles updated to latest builds.
* Added dh_numpy call in debian/rules to depend on numpy ABI.
* Policy bumped to 3.9.3, no changes required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/******************************************************************************
 
2
 * $Id: ogrcouchdbdriver.cpp 22229 2011-04-25 17:44:28Z rouault $
 
3
 *
 
4
 * Project:  CouchDB Translator
 
5
 * Purpose:  Implements OGRCouchDBDriver.
 
6
 * Author:   Even Rouault, even dot rouault at mines dash paris dot org
 
7
 *
 
8
 ******************************************************************************
 
9
 * Copyright (c) 2011, Even Rouault <even dot rouault at mines dash paris dot org>
 
10
 *
 
11
 * Permission is hereby granted, free of charge, to any person obtaining a
 
12
 * copy of this software and associated documentation files (the "Software"),
 
13
 * to deal in the Software without restriction, including without limitation
 
14
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 
15
 * and/or sell copies of the Software, and to permit persons to whom the
 
16
 * Software is furnished to do so, subject to the following conditions:
 
17
 *
 
18
 * The above copyright notice and this permission notice shall be included
 
19
 * in all copies or substantial portions of the Software.
 
20
 *
 
21
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
22
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
23
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 
24
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
25
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 
26
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 
27
 * DEALINGS IN THE SOFTWARE.
 
28
 ****************************************************************************/
 
29
 
 
30
#include "ogr_couchdb.h"
 
31
 
 
32
// g++ -g -Wall -fPIC -shared -o ogr_CouchDB.so -Iport -Igcore -Iogr -Iogr/ogrsf_frmts -Iogr/ogrsf_frmts/couchdb ogr/ogrsf_frmts/couchdb/*.c* -L. -lgdal -Iogr/ogrsf_frmts/geojson/jsonc
 
33
 
 
34
CPL_CVSID("$Id: ogrcouchdbdriver.cpp 22229 2011-04-25 17:44:28Z rouault $");
 
35
 
 
36
extern "C" void RegisterOGRCouchDB();
 
37
 
 
38
/************************************************************************/
 
39
/*                         ~OGRCouchDBDriver()                          */
 
40
/************************************************************************/
 
41
 
 
42
OGRCouchDBDriver::~OGRCouchDBDriver()
 
43
 
 
44
{
 
45
}
 
46
 
 
47
/************************************************************************/
 
48
/*                              GetName()                               */
 
49
/************************************************************************/
 
50
 
 
51
const char *OGRCouchDBDriver::GetName()
 
52
 
 
53
{
 
54
    return "CouchDB";
 
55
}
 
56
 
 
57
/************************************************************************/
 
58
/*                                Open()                                */
 
59
/************************************************************************/
 
60
 
 
61
OGRDataSource *OGRCouchDBDriver::Open( const char * pszFilename, int bUpdate )
 
62
 
 
63
{
 
64
    OGRCouchDBDataSource   *poDS = new OGRCouchDBDataSource();
 
65
 
 
66
    if( !poDS->Open( pszFilename, bUpdate ) )
 
67
    {
 
68
        delete poDS;
 
69
        poDS = NULL;
 
70
    }
 
71
 
 
72
    return poDS;
 
73
}
 
74
 
 
75
 
 
76
/************************************************************************/
 
77
/*                          CreateDataSource()                          */
 
78
/************************************************************************/
 
79
 
 
80
OGRDataSource *OGRCouchDBDriver::CreateDataSource( const char * pszName,
 
81
                                               char **papszOptions )
 
82
 
 
83
{
 
84
    OGRCouchDBDataSource   *poDS = new OGRCouchDBDataSource();
 
85
 
 
86
    if( !poDS->Open( pszName, TRUE ) )
 
87
    {
 
88
        delete poDS;
 
89
        poDS = NULL;
 
90
    }
 
91
 
 
92
    return poDS;
 
93
}
 
94
 
 
95
/************************************************************************/
 
96
/*                           TestCapability()                           */
 
97
/************************************************************************/
 
98
 
 
99
int OGRCouchDBDriver::TestCapability( const char * pszCap )
 
100
 
 
101
{
 
102
    if (EQUAL(pszCap, ODrCCreateDataSource))
 
103
        return TRUE;
 
104
 
 
105
    return FALSE;
 
106
}
 
107
 
 
108
/************************************************************************/
 
109
/*                         RegisterOGRCouchDB()                         */
 
110
/************************************************************************/
 
111
 
 
112
void RegisterOGRCouchDB()
 
113
 
 
114
{
 
115
    OGRSFDriverRegistrar::GetRegistrar()->RegisterDriver( new OGRCouchDBDriver );
 
116
}
 
117