actions.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4
5#include <RobotAPI/interface/armem/actions.h>
6
8{
9 // Business objects to make working with the Armem
10 // action interface easier. To see an example usage,
11 // check the ExampleMemory.
12
13 struct MenuEntry
14 {
15 MenuEntry(const std::string& id,
16 const std::string& text,
17 const std::vector<MenuEntry>& entries = {});
18
19 MenuEntry& add(const std::string& id,
20 const std::string& text,
21 const std::vector<MenuEntry>& entries = {});
22
23 data::MenuEntryPtr toIce() const;
24
25 static MenuEntry fromIce(const data::MenuEntryPtr& ice);
26
27 public:
28 std::string id;
29 std::string text;
30 std::vector<MenuEntry> entries;
31 };
32
33 struct Action : public MenuEntry
34 {
35 Action(const std::string& id, const std::string& text);
36 };
37
38 struct SubMenu : public MenuEntry
39 {
40 SubMenu(const std::string& id,
41 const std::string& text,
42 const std::vector<MenuEntry>& entries = {});
43
44 MenuEntry& add(const std::string& id,
45 const std::string& text,
46 const std::vector<MenuEntry>& entries = {});
47 };
48
49 class Menu
50 {
51
52 public:
53 Menu(std::initializer_list<MenuEntry> entries);
54
55 Menu(const std::vector<MenuEntry>& entries = {});
56
57 MenuEntry& add(const std::string& id,
58 const std::string& text,
59 const std::vector<MenuEntry>& entries = {});
60
61 data::MenuPtr toIce() const;
62
63 static Menu fromIce(const data::MenuPtr& ice);
64
65 public:
66 std::vector<MenuEntry> entries;
67 };
68
69 using data::ActionPath;
70 using data::ExecuteActionInputSeq;
71 using data::ExecuteActionOutputSeq;
72 using data::GetActionsInputSeq;
73 using data::GetActionsOutputSeq;
74
75} // namespace armarx::armem::actions
data::MenuPtr toIce() const
Definition actions.cpp:90
MenuEntry & add(const std::string &id, const std::string &text, const std::vector< MenuEntry > &entries={})
Definition actions.cpp:84
std::vector< MenuEntry > entries
Definition actions.h:66
static Menu fromIce(const data::MenuPtr &ice)
Definition actions.cpp:101
Menu(std::initializer_list< MenuEntry > entries)
Definition actions.cpp:75
::IceInternal::Handle< Menu > MenuPtr
Action(const std::string &id, const std::string &text)
Definition actions.cpp:56
MenuEntry(const std::string &id, const std::string &text, const std::vector< MenuEntry > &entries={})
Definition actions.cpp:8
MenuEntry & add(const std::string &id, const std::string &text, const std::vector< MenuEntry > &entries={})
Definition actions.cpp:16
static MenuEntry fromIce(const data::MenuEntryPtr &ice)
Definition actions.cpp:40
std::vector< MenuEntry > entries
Definition actions.h:30
data::MenuEntryPtr toIce() const
Definition actions.cpp:24
MenuEntry & add(const std::string &id, const std::string &text, const std::vector< MenuEntry > &entries={})
Definition actions.cpp:68
SubMenu(const std::string &id, const std::string &text, const std::vector< MenuEntry > &entries={})
Definition actions.cpp:60