Alexandria
2.19
Please provide a description of the project.
XYDataset
XYDataset
FileSystemProvider.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2021 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
#include <map>
30
#include <memory>
31
#include <string>
32
#include <vector>
33
34
#include "
ElementsKernel/Export.h
"
35
36
#include "
XYDataset/FileParser.h
"
37
#include "
XYDataset/XYDataset.h
"
38
#include "
XYDataset/XYDatasetProvider.h
"
39
40
namespace
Euclid
{
41
namespace
XYDataset {
42
57
class
ELEMENTS_API
FileSystemProvider
:
public
XYDatasetProvider
{
58
public
:
77
FileSystemProvider
(
const
std::string
& root_path,
std::unique_ptr<FileParser>
parser);
78
87
std::unique_ptr<XYDataset>
getDataset(
const
QualifiedName
& qualified_name)
override
;
88
115
std::vector<QualifiedName>
listContents(
const
std::string
& group)
override
;
116
117
std::string
getParameter(
const
QualifiedName
& qualified_name,
const
std::string
& key_word)
override
;
118
119
// Default destructor
120
~FileSystemProvider
() =
default
;
121
122
private
:
123
std::string
m_root_path
;
124
std::unique_ptr<FileParser>
m_parser
;
125
std::map<QualifiedName, std::string>
m_name_file_map
;
126
std::vector<QualifiedName>
m_order_names
;
127
};
128
129
}
/* namespace XYDataset */
130
}
// end of namespace Euclid
131
132
#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:125
Export.h
Euclid::XYDataset::FileSystemProvider::m_root_path
std::string m_root_path
Definition:
FileSystemProvider.h:123
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:57
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:49
std::map
STL class.
FileParser.h
Euclid::XYDataset::FileSystemProvider::m_order_names
std::vector< QualifiedName > m_order_names
Definition:
FileSystemProvider.h:126
Euclid::XYDataset::FileSystemProvider::m_parser
std::unique_ptr< FileParser > m_parser
Definition:
FileSystemProvider.h:124
std::unique_ptr
STL class.
Euclid
Definition:
InstOrRefHolder.h:29
XYDataset.h
Generated by
1.8.20