Elements
5.10
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
24
#ifndef ELEMENTSSERVICES_ELEMENTSSERVICES_DATASYNC_DEPENDENCYCONFIGURATION_H_
25
#define ELEMENTSSERVICES_ELEMENTSSERVICES_DATASYNC_DEPENDENCYCONFIGURATION_H_
26
27
#include <map>
28
#include <vector>
29
#include <string>
30
31
#include "
ElementsServices/DataSync/DataSyncUtils.h
"
32
33
namespace
ElementsServices
{
34
namespace
DataSync {
35
44
class
ELEMENTS_API
DependencyConfiguration
{
45
46
public
:
47
48
virtual
~DependencyConfiguration
() =
default
;
49
50
DependencyConfiguration
(
51
path
distantRoot,
52
path
localRoot,
53
path
configFile);
54
55
std::map<path, path>
fileMap()
const
;
56
57
path
distantPathOf(
path
localFile)
const
;
58
59
size_t
dependencyCount()
const
;
60
61
std::vector<path>
distantPaths()
const
;
62
63
std::vector<path>
localPaths()
const
;
64
65
protected
:
66
67
void
parseConfigurationFile(
path
filename);
68
69
void
parseConfigurationLine(
std::string
line);
70
71
char
aliasSeparator()
const
;
72
73
bool
lineHasAlias(
std::string
line)
const
;
74
75
void
parseLineWithAlias(
std::string
line);
76
77
void
parseLineWithoutAlias(
std::string
line);
78
79
private
:
80
81
char
m_aliasSeparator
;
82
path
m_distantRoot
;
83
path
m_localRoot
;
84
std::map<path, path>
m_fileMap
;
85
86
};
87
88
}
// namespace DataSync
89
}
// namespace ElementsServices
90
91
#endif // ELEMENTSSERVICES_ELEMENTSSERVICES_DATASYNC_DEPENDENCYCONFIGURATION_H_
92
std::string
STL class.
std::vector
STL class.
ElementsServices::DataSync::DependencyConfiguration::~DependencyConfiguration
virtual ~DependencyConfiguration()=default
ElementsServices::DataSync::path
boost::filesystem::path path
Definition:
DataSyncUtils.h:38
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:84
ElementsServices::DataSync::DependencyConfiguration::m_distantRoot
path m_distantRoot
Definition:
DependencyConfiguration.h:82
ElementsServices::DataSync::DependencyConfiguration
The dependency configurations holds, for each test file to be retrieved:
Definition:
DependencyConfiguration.h:44
ElementsServices
Definition:
ConnectionConfiguration.h:33
std::map< path, path >
DataSyncUtils.h
ElementsServices::DataSync::DependencyConfiguration::m_localRoot
path m_localRoot
Definition:
DependencyConfiguration.h:83
ElementsServices::DataSync::DependencyConfiguration::m_aliasSeparator
char m_aliasSeparator
Definition:
DependencyConfiguration.h:81
Generated by
1.8.18