OTB  6.7.0
Orfeo Toolbox
otbWrapperStringListInterface.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2019 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 
121 } // End namespace Wrapper
122 
123 } // End namespace otb
124 
125 
126 #endif // otbWrapperStringListInterface_h
This class represents a list of InputFilename parameter.