3#include <ossia/dataflow/dataflow_fwd.hpp> 
    4#include <ossia/dataflow/value_port.hpp> 
    5#include <ossia/detail/hash_map.hpp> 
    7#include <ossia/network/common/path.hpp> 
    9#include <ossia-qt/js_utilities.hpp> 
   27using qml_device_cache = ossia::small_vector<ossia::net::device_base*, 4>;
 
   28using qml_device_push_function
 
   31class OSSIA_EXPORT qml_engine_functions : 
public QObject
 
   33  W_OBJECT(qml_engine_functions)
 
   36      const qml_device_cache& state, qml_device_push_function push, QObject* parent)
 
   39      , on_push{std::move(push)}
 
   43  ~qml_engine_functions() 
override;
 
   45  QVariant read(
const QString& address);
 
   47  void write(
const QString& address, 
const QVariant& value);
 
   49  void exec(
const QString& code) W_SIGNAL(exec, code);
 
   50  void compute(
const QString& code, 
const QString& cb) W_SIGNAL(compute, code, cb);
 
   51  void system(
const QString& code) W_SIGNAL(system, code);
 
   54  QVariant asArray(QVariant) 
const noexcept;
 
   56  QVariant asColor(QVariant) 
const noexcept;
 
   58  QVariant asVec2(QVariant) 
const noexcept;
 
   60  QVariant asVec3(QVariant) 
const noexcept;
 
   62  QVariant asVec4(QVariant) 
const noexcept;
 
   66  find_node(qml_device_cache& devices, std::string_view name);
 
   67  const ossia::destination_t& find_address(
const QString&);
 
   69  qml_device_cache devices;
 
   72  qml_device_push_function on_push;
 
   74  ossia::hash_map<QString, ossia::destination_t> m_address_cache;
 
   75  ossia::value_port m_port_cache;
 
   79class OSSIA_EXPORT qml_device_engine_functions : 
public qml_engine_functions
 
   81  W_OBJECT(qml_device_engine_functions)
 
   85  using qml_engine_functions::qml_engine_functions;
 
   86  ~qml_device_engine_functions();
 
   88  void addNode(QString address, QString type);
 
   91  void removeNode(QString address, QString type);
 
Root of a device tree.
Definition ossia/network/base/device.hpp:58
The node_base class.
Definition node.hpp:48
The parameter_base class.
Definition ossia/network/base/parameter.hpp:48
Definition qml_device.cpp:43