Rumba C++ SDK
NodeDelegateRumbaAttributeObserver.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2021
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 
16 #pragma once
17 
19 
21 {
22 public:
23  ObserverRumbaAttribute(std::shared_ptr<maquina::NodeDelegate::Observer> notification_observer, const std::string & attribute_owner, const std::string & attribute_name);
24  std::shared_ptr<maquina::NodeDelegate::AttributeDelegate> attribute();
25 
26  static std::shared_ptr<maquina::NodeDelegate::Observer> create(const std::function<void()> & func,
27  std::shared_ptr<maquina::NodeDelegate::AttributeDelegate> attribute_to_observe, bool in_interactive=true);
28 
29 private:
30  std::shared_ptr<maquina::NodeDelegate::Observer> _notification_observer;
31  std::string _attribute_owner, _attribute_name;
32 };
Definition: NodeDelegateRumbaAttributeObserver.h:20
virtual std::shared_ptr< AttributeDelegate > attribute()=0
Return the observed attribute.
An object to keep an observer alive.
Definition: NodeDelegate.h:190
#define MAQUINA_EXPORT
Definition: Export.h:31