libosmscout  1.1.1
ImportModule.h
Go to the documentation of this file.
1 #ifndef OSMSCOUT_IMPORTMODULE_H
2 #define OSMSCOUT_IMPORTMODULE_H
3 
4 /*
5  This source is part of the libosmscout library
6  Copyright (C) 2009 Tim Teulings
7 
8  This library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU Lesser General Public
10  License as published by the Free Software Foundation; either
11  version 2.1 of the License, or (at your option) any later version.
12 
13  This library 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 GNU
16  Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public
19  License along with this library; if not, write to the Free Software
20  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
22 
26 
27 namespace osmscout {
28 
29 class OSMSCOUT_IMPORT_API ImportModuleDescription CLASS_FINAL
30 {
31 private:
32  std::string name;
33  std::string description;
34  std::list<std::string> providedFiles;
35  std::list<std::string> providedOptionalFiles;
36  std::list<std::string> providedDebuggingFiles;
37  std::list<std::string> providedTemporaryFiles;
38  std::list<std::string> providedAnalysisFiles;
39  std::list<std::string> requiredFiles;
40 
41 public:
42  void SetName(const std::string& name);
43  void SetDescription(const std::string& description);
44 
45  void AddProvidedFile(const std::string& providedFile);
46  void AddProvidedOptionalFile(const std::string& providedFile);
47  void AddProvidedDebuggingFile(const std::string& providedFile);
48  void AddProvidedTemporaryFile(const std::string& providedFile);
49  void AddProvidedAnalysisFile(const std::string& providedFile);
50  void AddRequiredFile(const std::string& requiredFile);
51 
52  inline std::string GetName() const
53  {
54  return name;
55  }
56 
57  inline std::string GetDescription() const
58  {
59  return description;
60  }
61 
62  inline std::list<std::string> GetProvidedFiles() const
63  {
64  return providedFiles;
65  }
66 
67  inline std::list<std::string> GetProvidedOptionalFiles() const
68  {
69  return providedOptionalFiles;
70  }
71 
72  inline std::list<std::string> GetProvidedDebuggingFiles() const
73  {
74  return providedDebuggingFiles;
75  }
76 
77  inline std::list<std::string> GetProvidedTemporaryFiles() const
78  {
79  return providedTemporaryFiles;
80  }
81 
82  inline std::list<std::string> GetProvidedAnalysisFiles() const
83  {
84  return providedAnalysisFiles;
85  }
86 
87  inline std::list<std::string> GetRequiredFiles() const
88  {
89  return requiredFiles;
90  }
91 };
92 
101 {
102 public:
103  virtual ~ImportModule() = default;
104 
105  virtual void GetDescription(const ImportParameter& parameter,
106  ImportModuleDescription& description) const;
107 
118  virtual bool Import(const TypeConfigRef& typeConfig,
119  const ImportParameter& parameter,
120  Progress& progress) = 0;
121 };
122 
123 using ImportModuleRef = std::shared_ptr<ImportModule>;
124 
125 }
126 #endif //OSMSCOUT_IMPORTMODULE_H
std::string GetName() const
Definition: ImportModule.h:52
std::shared_ptr< ImportModule > ImportModuleRef
Definition: ImportModule.h:123
#define OSMSCOUT_IMPORT_API
Definition: ImportImportExport.h:45
std::list< std::string > GetProvidedOptionalFiles() const
Definition: ImportModule.h:67
std::list< std::string > GetRequiredFiles() const
Definition: ImportModule.h:87
Definition: Area.h:38
std::list< std::string > GetProvidedFiles() const
Definition: ImportModule.h:62
#define CLASS_FINAL
Definition: Compiler.h:26
std::list< std::string > GetProvidedDebuggingFiles() const
Definition: ImportModule.h:72
std::list< std::string > GetProvidedTemporaryFiles() const
Definition: ImportModule.h:77
std::string GetDescription() const
Definition: ImportModule.h:57
std::list< std::string > GetProvidedAnalysisFiles() const
Definition: ImportModule.h:82
Definition: ImportModule.h:100
Definition: Progress.h:34
std::shared_ptr< TypeConfig > TypeConfigRef
Definition: TypeConfig.h:1227