Alexandria
2.16
Please provide a description of the project.
XYDataset
XYDataset
FileSystemProvider.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2020 Euclid Science Ground Segment
3
*
4
* This library is free software; you can redistribute it and/or modify it under
5
* the terms of the GNU Lesser General Public License as published by the Free
6
* Software Foundation; either version 3.0 of the License, or (at your option)
7
* any later version.
8
*
9
* This library is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12
* details.
13
*
14
* You should have received a copy of the GNU Lesser General Public License
15
* along with this library; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
26
#ifndef FILESYSTEMPROVIDER_H_
27
#define FILESYSTEMPROVIDER_H_
28
29
30
#include <memory>
31
#include <vector>
32
#include <string>
33
#include <map>
34
35
#include "
ElementsKernel/Export.h
"
36
37
#include "
XYDataset/XYDataset.h
"
38
#include "
XYDataset/XYDatasetProvider.h
"
39
#include "
XYDataset/FileParser.h
"
40
41
namespace
Euclid
{
42
namespace
XYDataset {
43
58
class
ELEMENTS_API
FileSystemProvider
:
public
XYDatasetProvider
59
{
60
public
:
61
80
FileSystemProvider
(
const
std::string
& root_path,
std::unique_ptr<FileParser>
parser);
81
90
std::unique_ptr<XYDataset>
getDataset(
const
QualifiedName
& qualified_name)
override
;
91
118
std::vector<QualifiedName>
listContents(
const
std::string
& group)
override
;
119
120
121
122
std::string
getParameter(
const
QualifiedName
& qualified_name,
const
std::string
& key_word)
override
;
123
124
// Default destructor
125
~FileSystemProvider
() =
default
;
126
127
private
:
128
129
std::string
m_root_path
;
130
std::unique_ptr<FileParser>
m_parser
;
131
std::map<QualifiedName, std::string>
m_name_file_map
;
132
std::vector<QualifiedName>
m_order_names
;
133
};
134
135
}
/* namespace XYDataset */
136
}
// end of namespace Euclid
137
138
#endif // FILESYSTEMPROVIDER_H_
std::string
STL class.
Euclid::XYDataset::FileSystemProvider::m_name_file_map
std::map< QualifiedName, std::string > m_name_file_map
Definition:
FileSystemProvider.h:131
Export.h
Euclid::XYDataset::FileSystemProvider::m_root_path
std::string m_root_path
Definition:
FileSystemProvider.h:129
std::vector
STL class.
XYDatasetProvider.h
Euclid::XYDataset::QualifiedName
Represents a name qualified with a set of groups.
Definition:
QualifiedName.h:66
Euclid::XYDataset::FileSystemProvider
The FileSystemProvider handles files in a directory tree.
Definition:
FileSystemProvider.h:59
Euclid::XYDataset::FileSystemProvider::~FileSystemProvider
~FileSystemProvider()=default
ELEMENTS_API
#define ELEMENTS_API
Euclid::XYDataset::XYDatasetProvider
This interface class provides the dataset following a qualified name object.
Definition:
XYDatasetProvider.h:50
std::map
STL class.
FileParser.h
Euclid::XYDataset::FileSystemProvider::m_order_names
std::vector< QualifiedName > m_order_names
Definition:
FileSystemProvider.h:132
Euclid::XYDataset::FileSystemProvider::m_parser
std::unique_ptr< FileParser > m_parser
Definition:
FileSystemProvider.h:130
std::unique_ptr
STL class.
Euclid
Definition:
InstOrRefHolder.h:29
XYDataset.h
Generated by
1.8.18