Elements
5.8
A C++ base framework for the Euclid Software.
ElementsServices
ElementsServices
DataSync
DependencyConfiguration.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
19
#ifndef ELEMENTSSERVICES_ELEMENTSSERVICES_DATASYNC_DEPENDENCYCONFIGURATION_H_
20
#define ELEMENTSSERVICES_ELEMENTSSERVICES_DATASYNC_DEPENDENCYCONFIGURATION_H_
21
22
#include <map>
23
#include <vector>
24
#include <string>
25
26
#include "
ElementsServices/DataSync/DataSyncUtils.h
"
27
28
namespace
ElementsServices
{
29
namespace
DataSync {
30
38
class
ELEMENTS_API
DependencyConfiguration
{
39
40
public
:
41
42
virtual
~
DependencyConfiguration
() =
default
;
43
44
DependencyConfiguration
(
45
path
distantRoot,
46
path
localRoot,
47
path
configFile);
48
49
std::map<path, path>
fileMap()
const
;
50
51
path
distantPathOf(
path
localFile)
const
;
52
53
size_t
dependencyCount()
const
;
54
55
std::vector<path>
distantPaths()
const
;
56
57
std::vector<path>
localPaths()
const
;
58
59
protected
:
60
61
void
parseConfigurationFile(
path
filename);
62
63
void
parseConfigurationLine(
std::string
line);
64
65
char
aliasSeparator()
const
;
66
67
bool
lineHasAlias(
std::string
line)
const
;
68
69
void
parseLineWithAlias(
std::string
line);
70
71
void
parseLineWithoutAlias(
std::string
line);
72
73
private
:
74
75
char
m_aliasSeparator
;
76
path
m_distantRoot
;
77
path
m_localRoot
;
78
std::map<path, path>
m_fileMap
;
79
80
};
81
82
}
// namespace DataSync
83
}
// namespace ElementsServices
84
85
#endif // ELEMENTSSERVICES_ELEMENTSSERVICES_DATASYNC_DEPENDENCYCONFIGURATION_H_
std::string
STL class.
std::vector
STL class.
ElementsServices::DataSync::path
boost::filesystem::path path
Definition:
DataSyncUtils.h:33
ELEMENTS_API
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition:
Export.h:74
ElementsServices::DataSync::DependencyConfiguration::m_fileMap
std::map< path, path > m_fileMap
Definition:
DependencyConfiguration.h:78
ElementsServices::DataSync::DependencyConfiguration::m_distantRoot
path m_distantRoot
Definition:
DependencyConfiguration.h:76
ElementsServices::DataSync::DependencyConfiguration
The dependency configurations holds, for each test file to be retrieved:
Definition:
DependencyConfiguration.h:38
ElementsServices
Definition:
ConnectionConfiguration.h:28
std::map< path, path >
DataSyncUtils.h
ElementsServices::DataSync::DependencyConfiguration::m_localRoot
path m_localRoot
Definition:
DependencyConfiguration.h:77
ElementsServices::DataSync::DependencyConfiguration::m_aliasSeparator
char m_aliasSeparator
Definition:
DependencyConfiguration.h:75
Generated by
1.8.17