Elements
6.2
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 <string>
29
#include <vector>
30
31
#include "
ElementsServices/DataSync/DataSyncUtils.h
"
32
33
namespace
Elements
{
34
inline
namespace
Services {
35
namespace
DataSync {
36
45
class
ELEMENTS_API
DependencyConfiguration
{
46
47
public
:
48
virtual
~
DependencyConfiguration
() =
default
;
49
50
DependencyConfiguration
(
path
distantRoot,
path
localRoot,
path
configFile);
51
52
std::map<path, path>
fileMap()
const
;
53
54
path
distantPathOf(
path
localFile)
const
;
55
56
size_t
dependencyCount()
const
;
57
58
std::vector<path>
distantPaths()
const
;
59
60
std::vector<path>
localPaths()
const
;
61
62
protected
:
63
void
parseConfigurationFile(
path
filename);
64
65
void
parseConfigurationLine(
std::string
line);
66
67
char
aliasSeparator()
const
;
68
69
bool
lineHasAlias(
std::string
line)
const
;
70
71
void
parseLineWithAlias(
std::string
line);
72
73
void
parseLineWithoutAlias(
std::string
line);
74
75
private
:
76
char
m_aliasSeparator
;
77
path
m_distantRoot
;
78
path
m_localRoot
;
79
std::map<path, path>
m_fileMap
;
80
};
81
82
}
// namespace DataSync
83
}
// namespace Services
84
}
// namespace Elements
85
86
namespace
ElementsServices
=
Elements::Services
;
87
88
#endif // ELEMENTSSERVICES_ELEMENTSSERVICES_DATASYNC_DEPENDENCYCONFIGURATION_H_
89
std::string
STL class.
std::vector
STL class.
Elements::Services::DataSync::DependencyConfiguration::m_aliasSeparator
char m_aliasSeparator
Definition:
DependencyConfiguration.h:76
ELEMENTS_API
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition:
Export.h:74
Elements::Services::DataSync::DependencyConfiguration::m_localRoot
path m_localRoot
Definition:
DependencyConfiguration.h:78
Elements::Services::DataSync::DependencyConfiguration
The dependency configurations holds, for each test file to be retrieved:
Definition:
DependencyConfiguration.h:45
std::map< path, path >
DataSyncUtils.h
Elements::Services
Definition:
ConnectionConfiguration.h:34
Elements::Services::DataSync::DependencyConfiguration::m_fileMap
std::map< path, path > m_fileMap
Definition:
DependencyConfiguration.h:79
Elements::Services::DataSync::DependencyConfiguration::m_distantRoot
path m_distantRoot
Definition:
DependencyConfiguration.h:77
Elements
Definition:
callBackExample.h:35
Elements::Services::DataSync::path
Path::Item path
importing the path item from ElementsKernel
Definition:
DataSyncUtils.h:41
Generated by
1.8.17