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 <QString>
27 
28 #include <optional>
29 #include <set>
30 
31 namespace armarx
32 {
33 
35  {
36  struct StateMapping
37  {
38  QString stateName;
39  QString fromUuid;
40  QString toUuid;
41 
42  bool operator<(const StateMapping& rhs) const
43  {
44  return stateName.compare(rhs.stateName) < 0;
45  }
46  };
47 
48  struct GroupMapping
49  {
50  QString groupName;
51  QString newGroupName;
52  QString groupPackage;
53  std::set<StateMapping> stateMappings;
54 
55  bool operator<(const GroupMapping& rhs) const
56  {
57  return groupName.compare(rhs.groupName) < 0;
58  }
59  };
60  std::set<GroupMapping> groupMappings;
61 
62  static std::optional<StatechartGroupMapping> ReadStatechartGroupMappingFile(const QString& packageDir);
63 
64  std::optional<QString> queryMappedGroupName(const QString& sourceGroupName) const;
65  std::optional<QString> queryMappedUuid(const QString& sourceUuid) const;
66  void writeToFile(const QString& packageDir) const;
67  };
68 
69 }
70 
armarx::StatechartGroupMapping::StateMapping::fromUuid
QString fromUuid
Definition: StatechartGroupMapping.h:39
armarx::StatechartGroupMapping::StateMapping
Definition: StatechartGroupMapping.h:36
armarx::StatechartGroupMapping::queryMappedUuid
std::optional< QString > queryMappedUuid(const QString &sourceUuid) const
Definition: StatechartGroupMapping.cpp:101
armarx::StatechartGroupMapping::GroupMapping::groupPackage
QString groupPackage
Definition: StatechartGroupMapping.h:52
armarx::StatechartGroupMapping::StateMapping::toUuid
QString toUuid
Definition: StatechartGroupMapping.h:40
armarx::StatechartGroupMapping::writeToFile
void writeToFile(const QString &packageDir) const
Definition: StatechartGroupMapping.cpp:117
armarx::StatechartGroupMapping
Definition: StatechartGroupMapping.h:34
armarx::StatechartGroupMapping::StateMapping::operator<
bool operator<(const StateMapping &rhs) const
Definition: StatechartGroupMapping.h:42
armarx::StatechartGroupMapping::GroupMapping
Definition: StatechartGroupMapping.h:48
armarx::StatechartGroupMapping::groupMappings
std::set< GroupMapping > groupMappings
Definition: StatechartGroupMapping.h:60
armarx::StatechartGroupMapping::ReadStatechartGroupMappingFile
static std::optional< StatechartGroupMapping > ReadStatechartGroupMappingFile(const QString &packageDir)
Definition: StatechartGroupMapping.cpp:38
armarx::StatechartGroupMapping::GroupMapping::operator<
bool operator<(const GroupMapping &rhs) const
Definition: StatechartGroupMapping.h:55
armarx::StatechartGroupMapping::StateMapping::stateName
QString stateName
Definition: StatechartGroupMapping.h:38
armarx::StatechartGroupMapping::GroupMapping::groupName
QString groupName
Definition: StatechartGroupMapping.h:50
armarx::StatechartGroupMapping::GroupMapping::newGroupName
QString newGroupName
Definition: StatechartGroupMapping.h:51
armarx::StatechartGroupMapping::queryMappedGroupName
std::optional< QString > queryMappedGroupName(const QString &sourceGroupName) const
Definition: StatechartGroupMapping.cpp:88
armarx::StatechartGroupMapping::GroupMapping::stateMappings
std::set< StateMapping > stateMappings
Definition: StatechartGroupMapping.h:53
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28