FluxioProvider.cpp
Go to the documentation of this file.
1 #include "FluxioProvider.h"
2 
3 #include <experimental/memory>
4 #include <memory>
5 
7 
11 
12 namespace armarx
13 {
14  namespace skills
15  {
16  manager::dto::FluxioProvider
18  {
19  manager::dto::FluxioProvider ret;
20 
21  ret.id = id;
22  ret.name = name;
23 
24  return ret;
25  }
26 
27  manager::dto::FluxioIdentificator
29  {
30  manager::dto::FluxioIdentificator ret;
31 
32  ret.id = id;
33  ret.hint = name;
34 
35  return ret;
36  }
37 
38  manager::arondto::FluxioIdentificator
40  {
41  manager::arondto::FluxioIdentificator ret;
42 
43  ret.id = id;
44  ret.hint = name;
45 
46  return ret;
47  }
48 
51  const manager::dto::FluxioIdentificator& i,
52  std::map<std::string, FluxioProvider>& providersMap)
53  {
54  const auto& providerIt = providersMap.find(i.id);
55 
56  if (providerIt == providersMap.end())
57  {
58  ARMARX_WARNING << "Provider with id " << i.id << " not found";
59  return nullptr;
60  }
61 
62  return std::experimental::make_observer(&(providersMap[providerIt->first]));
63  }
64 
65 
68  const manager::arondto::FluxioIdentificator& i,
69  std::map<std::string, FluxioProvider>& providersMap)
70  {
71  const auto& providerIt = providersMap.find(i.id);
72 
73  if (providerIt == providersMap.end())
74  {
75  ARMARX_WARNING << "Provider with id " << i.id << " not found";
76  return nullptr;
77  }
78 
79  return std::experimental::make_observer(&(providersMap[providerIt->first]));
80  }
81 
83  FluxioProvider::FromIce(const manager::dto::FluxioProvider& i)
84  {
86 
87  ret.id = i.id;
88  ret.name = i.name;
89 
90  return ret;
91  }
92 
95  {
97  dict->addElement("id", aron::make_string(this->id));
98  dict->addElement("hint", aron::make_string(this->name));
99  return dict;
100  }
101  } // namespace skills
102 } // namespace armarx
armarx::aron::ret
ReaderT::InputType T & ret
Definition: rw.h:13
skills
This file is part of ArmarX.
armarx::skills::FluxioProvider::toFluxioIdentificatorIce
manager::dto::FluxioIdentificator toFluxioIdentificatorIce() const
Definition: FluxioProvider.cpp:28
armarx::aron::make_dict
aron::data::DictPtr make_dict(_Args &&... args)
Definition: Dict.h:107
armarx::skills::FluxioProvider::FromFluxioIdentificatorIce
static std::experimental::observer_ptr< const FluxioProvider > FromFluxioIdentificatorIce(const manager::dto::FluxioIdentificator &i, std::map< std::string, FluxioProvider > &providersMap)
Definition: FluxioProvider.cpp:50
FluxioProvider.h
armarx::aron::make_string
aron::data::StringPtr make_string(_Args &&... args)
Definition: String.h:76
std::experimental::fundamentals_v2::make_observer
observer_ptr< _Tp > make_observer(_Tp *__p) noexcept
std::experimental::fundamentals_v2::observer_ptr
Definition: ManagedIceObject.h:53
Dict.h
armarx::skills::FluxioProvider::FromFluxioIdentificatorAron
static std::experimental::observer_ptr< const FluxioProvider > FromFluxioIdentificatorAron(const manager::arondto::FluxioIdentificator &i, std::map< std::string, FluxioProvider > &providersMap)
Definition: FluxioProvider.cpp:67
armarx::skills::FluxioProvider
Definition: FluxioProvider.h:14
armarx::skills::FluxioProvider::toManagerIce
manager::dto::FluxioProvider toManagerIce() const
Definition: FluxioProvider.cpp:17
armarx::skills::FluxioProvider::name
std::string name
Definition: FluxioProvider.h:17
forward_declarations.h
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::skills::FluxioProvider::toFluxioIdentificatorAron
manager::arondto::FluxioIdentificator toFluxioIdentificatorAron() const
Definition: FluxioProvider.cpp:39
armarx::skills::FluxioProvider::toAron
aron::data::DictPtr toAron() const
Definition: FluxioProvider.cpp:94
armarx::skills::FluxioProvider::FromIce
static FluxioProvider FromIce(const manager::dto::FluxioProvider &i)
Definition: FluxioProvider.cpp:83
Logging.h
ARMARX_WARNING
#define ARMARX_WARNING
Definition: Logging.h:193
String.h
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::skills::FluxioProvider::id
std::string id
Definition: FluxioProvider.h:16