IOLink IOL_v1.8.0_release
Loading...
Searching...
No Matches
ViewOriginExtension.h
1#pragma once
2#include <memory>
3#include <string>
4
5#include <iolink/view/Extension.h>
6
7namespace iolink
8{
9// forward declaration
10class View;
11
16{
20 UNKNOWN = 0,
21
25 CPU_MEMORY = 1,
26
30 DRIVE = 2,
31
35 GPU_MEMORY = 3,
36
40 NETWORK = 4,
41
45 GENERATED = 5,
46
50 COMPOSITE = 6
51};
52
61class IOLINK_API ViewOriginExtension : public Extension
62{
63public:
67 static constexpr size_t EXTENSION_ID = 0x3;
68
74 virtual uint64_t uid() const = 0;
75
82 virtual size_t parentCount() const = 0;
83
92 virtual std::shared_ptr<ViewOriginExtension> parent(size_t idx) const = 0;
93
99 virtual ViewDataOrigin dataOrigin() const = 0;
100
106 virtual std::string displayName() const = 0;
107
111 std::string toString() const;
112};
113
114} // end namespace iolink