Version: 0.6.0
catalog.h
1 /******************************************************************************
2  * Project: wxGIS (GIS Catalog)
3  * Purpose: Catalog main header.
4  * Author: Dmitry Baryshnikov (aka Bishop), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2009-2012 Dmitry Baryshnikov
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  ****************************************************************************/
21 
22 #pragma once
23 
24 #include "wxgis/core/config.h"
25 #include "wxgis/datasource/dataset.h"
26 
27 #undef LT_OBJDIR
28 #include "gdal_priv.h"
29 #include "gdal.h"
30 
31 #include <wx/filename.h>
32 
33 #define NOTFIRESELID 1010
34 #define CONNDIR wxT("connections")
35 
36 enum wxGISEnumSaveObjectResults
37 {
38  enumGISSaveObjectNone = 0x0000,
39  enumGISSaveObjectAccept = 0x0001,
40  enumGISSaveObjectExists = 0x0002,
41  enumGISSaveObjectDeny = 0x0004
42 };
43 
52 {
53 public:
54  virtual ~IGxObjectEdit(void){};
55  virtual bool Delete(void){return false;};
56  virtual bool CanDelete(void){ return false; };
57  virtual bool Rename(const wxString& NewName){return false;};
58  virtual bool CanRename(void){ return false; };
59  virtual bool Copy(const CPLString &szDestPath, ITrackCancel* const pTrackCancel){return false;};
60  virtual bool CanCopy(const CPLString &szDestPath){ return false; };
61  virtual bool Move(const CPLString &szDestPath, ITrackCancel* const pTrackCancel){return false;};
62  virtual bool CanMove(const CPLString &szDestPath){return false;};
63 };
64 
73 {
74 public:
75  virtual ~IGxRootObjectProperties(void){};
76  virtual void Init(wxXmlNode* const pConfigNode) = 0;
77  virtual void Serialize(wxXmlNode* const pConfigNode) = 0;
78 };
79 
88 {
89 public:
90  virtual ~IGxRemoteConnection(void){};
91  virtual bool Connect(void) = 0;
92  virtual bool Disconnect(void) = 0;
93  virtual bool IsConnected(void) = 0;
94 };
95 
104 {
105 public:
106  virtual ~IGxDataset(void){};
107  virtual wxGISDataset* const GetDataset(bool bCached = true, ITrackCancel* const pTrackCancel = NULL) = 0;
108  virtual wxGISEnumDatasetType GetType(void) const = 0;
109  virtual int GetSubType(void) const = 0;
110  virtual wxULongLong GetSize(void) const = 0;
111  virtual wxDateTime GetModificationDate(void) const = 0;
112  virtual void FillMetadata(bool bForce = false) = 0;
113  virtual bool IsMetadataFilled() const = 0;
114 };
115 
124 {
125 public:
126  virtual ~IGxObjectNoFilter(void){};
127 };
128 
137 {
138 public:
139  virtual ~IGxObjectNotifier(void){};
140  virtual void OnGetUpdates() = 0;
141 };
142 
143 /*
144 class IGxFile
145 {
146 public:
147  virtual ~IGxFile(void){};
148  //virtual bool Open(void) = 0;
149  //virtual bool Close(bool bSaveEdits) = 0;
150  //virtual void Edit(void) = 0;
151  //virtual void New(void) = 0;
152  //virtual bool Save(void) = 0;
153 };
154 
155 */
156 
157 
Definition: catalog.h:103
Definition: catalog.h:72
Definition: catalog.h:136
Definition: catalog.h:87
A TrackCancel interface class.
Definition: core.h:144
Definition: dataset.h:33
Definition: catalog.h:51
Definition: catalog.h:123