OTB  9.0.0
Orfeo Toolbox
otbWrapperStringListInterface.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #ifndef otbWrapperStringListInterface_h
22 #define otbWrapperStringListInterface_h
23 
24 
25 #include <string>
26 #include <vector>
27 
28 #include "OTBApplicationEngineExport.h"
29 
30 #include "otbWrapperTypes.h"
31 
32 
33 namespace otb
34 {
35 
36 namespace Wrapper
37 {
38 
44 class OTBApplicationEngine_EXPORT StringListInterface
45 {
46 public:
48  typedef std::vector<std::string> StringVector;
49 
51  virtual void SetListFromFileName(const StringVector&) = 0;
52 
54  virtual void AddNullElement();
55 
57  virtual void InsertNullElement(std::size_t = -1) = 0;
58 
60  virtual void AddFromFileName(const std::string&) = 0;
61 
63  virtual void Insert(const std::string& filename, std::size_t = -1) = 0;
64 
66  virtual void SetNthFileName(std::size_t, const std::string&) = 0;
67 
69  virtual std::size_t SetStrings(const StringVector&);
70 
72  virtual std::size_t GetStrings(StringVector&) const;
73 
75  virtual StringVector GetFileNameList() const = 0;
76 
78  virtual std::string GetNthFileName(std::size_t i) const = 0;
79 
81  virtual void Erase(std::size_t id);
82 
84  virtual void Erase(std::size_t start, std::size_t count) = 0;
85 
87  virtual std::size_t Size() const = 0;
88 
90  virtual bool IsActive(std::size_t) const = 0;
91 
93  virtual const std::string& GetToolTip(std::size_t) const = 0;
94 
96  virtual void Swap(std::size_t, std::size_t) = 0;
97 
99  virtual Role GetDirection(std::size_t) const;
100 
102  virtual Role GetDirection() const = 0;
103 
105  virtual const std::string& GetFilenameFilter(std::size_t) const;
106 
108  virtual const std::string& GetFilenameFilter() const;
109 
111  virtual bool IsFilename() const;
112 
113 protected:
116 
117 private:
118 };
119 
120 } // End namespace Wrapper
121 
122 } // End namespace otb
123 
124 
125 #endif // otbWrapperStringListInterface_h
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::Wrapper::StringListInterface::StringListInterface
StringListInterface()
Definition: otbWrapperStringListInterface.h:115
otb::Wrapper::StringListInterface
This class represents a list of InputFilename parameter.
Definition: otbWrapperStringListInterface.h:44
otb::Wrapper::Role
Role
Definition: otbWrapperTypes.h:126
otb::Wrapper::StringListInterface::StringVector
std::vector< std::string > StringVector
Definition: otbWrapperStringListInterface.h:48
otbWrapperTypes.h