kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Agent.h
1#include <QExplicitlySharedDataPointer>
2
3#include <knowCore/Value.h>
4
5#include "Forward.h"
6
7namespace kDBRobotics
8{
13 class Agent
14 {
15 friend class Agents;
16 public:
20 Agent();
21 Agent(const Agent& _rhs);
22 Agent& operator=(const Agent& _rhs);
23 ~Agent();
27 knowCore::Uri uri() const;
31 knowCore::Uri type() const;
35 QString name() const;
36 knowCore::ReturnVoid addStream(const Stream& _stream);
40 knowCore::ReturnValue<QList<Stream>> streams() const;
44 knowCore::ReturnValue<bool> hasProperty(const knowCore::Uri& _property) const;
48 knowCore::ReturnValue<knowCore::Value> property(const knowCore::Uri& _property) const;
52 knowCore::ReturnVoid setProperty(const knowCore::Uri& _property, const knowCore::Value& _value) const;
56 template<typename _T_, std::enable_if_t<not std::is_base_of_v<knowCore::Value, _T_>, bool> = true>
57 knowCore::ReturnVoid setProperty(const knowCore::Uri& _property, const _T_& _value) const { return setProperty(_property, knowCore::Value::fromValue(_value)); }
58 public:
59 bool operator==(const Agent& _rhs) const;
60 public:
61 bool isValid() const;
62 private:
63 struct Private;
64 QExplicitlySharedDataPointer<Private> d;
65 };
66}
67
68#include <knowCore/Formatter.h>
Definition Agent.h:14
knowCore::ReturnValue< knowCore::Value > property(const knowCore::Uri &_property) const
Definition Agent.cpp:63
Agent()
Definition Agent.cpp:10
QString name() const
Definition Agent.cpp:36
knowCore::ReturnVoid setProperty(const knowCore::Uri &_property, const knowCore::Value &_value) const
Definition Agent.cpp:68
knowCore::ReturnValue< QList< Stream > > streams() const
Definition Agent.cpp:53
knowCore::Uri type() const
Definition Agent.cpp:31
knowCore::ReturnValue< bool > hasProperty(const knowCore::Uri &_property) const
Definition Agent.cpp:58
knowCore::ReturnVoid setProperty(const knowCore::Uri &_property, const _T_ &_value) const
Definition Agent.h:57
knowCore::Uri uri() const
Definition Agent.cpp:26
Definition Agents.h:15
Definition Stream.h:10
Definition Uri.h:15
Definition Value.h:21
static Value fromValue(const _T_ &_value)
Definition Value.h:241