StatechartGroupMapping.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5 *
6 * ArmarX is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * ArmarX is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * @package
19 * @author
20 * @date
21 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22 * GNU General Public License
23 */
24#pragma once
25
26#include <optional>
27#include <set>
28
29#include <QString>
30
31namespace armarx
32{
33
35 {
37 {
38 QString stateName;
39 QString fromUuid;
40 QString toUuid;
41
42 bool
43 operator<(const StateMapping& rhs) const
44 {
45 return stateName.compare(rhs.stateName) < 0;
46 }
47 };
48
50 {
51 QString groupName;
52 QString newGroupName;
53 QString groupPackage;
54 std::set<StateMapping> stateMappings;
55
56 bool
57 operator<(const GroupMapping& rhs) const
58 {
59 return groupName.compare(rhs.groupName) < 0;
60 }
61 };
62
63 std::set<GroupMapping> groupMappings;
64
65 static std::optional<StatechartGroupMapping>
66 ReadStatechartGroupMappingFile(const QString& packageDir);
67
68 std::optional<QString> queryMappedGroupName(const QString& sourceGroupName) const;
69 std::optional<QString> queryMappedUuid(const QString& sourceUuid) const;
70 void writeToFile(const QString& packageDir) const;
71 };
72
73} // namespace armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
bool operator<(const GroupMapping &rhs) const
bool operator<(const StateMapping &rhs) const
std::optional< QString > queryMappedUuid(const QString &sourceUuid) const
std::set< GroupMapping > groupMappings
void writeToFile(const QString &packageDir) const
std::optional< QString > queryMappedGroupName(const QString &sourceGroupName) const
static std::optional< StatechartGroupMapping > ReadStatechartGroupMappingFile(const QString &packageDir)