CVB++ 15.0
Loading...
Searching...
No Matches
non_streaming_device.hpp
1#pragma once
2
3#include <chrono>
4#include <limits>
5#include <memory>
6
7#include "../global.hpp"
8#include "../string.hpp"
9
10#include "driver.hpp"
11#include "../_decl/decl_device.hpp"
12
13namespace Cvb
14{
15
16 CVB_BEGIN_INLINE_NS
17
18 namespace Driver
19 {
20
22
23 class NonStreamingDevice : public Device
24 {
25 public:
26 NonStreamingDevice(HandleGuard<Device> &&guard, const String &fileName)
27 : Device(std::move(guard), fileName)
28 {
29 }
30
31 // Documentation intentionally left blank - function unsupported in this implementation.
32 void ChangeHandle(HandleGuard<Device> &&, DeviceUpdateMode) override
33 {
34 throw std::runtime_error("not implemented");
35 }
36
37 // Documentation intentionally left blank - function unsupported in this implementation.
38 StreamPtr Stream() const override
39 {
40 throw std::runtime_error("not implemented");
41 }
42 };
43
44 } // namespace Driver
45
46 using Driver::NonStreamingDevice;
47
48 CVB_END_INLINE_NS
49
50} // namespace Cvb
StreamPtr Stream() const override
Get the stream for this device.
Definition non_streaming_device.hpp:38
T move(T... args)
Namespace for driver or device related operations.
Definition decl_composite.hpp:27
std::shared_ptr< Stream > StreamPtr
Convenience shared pointer for Stream.
Definition driver.hpp:105
@ String
String value.
Definition driver.hpp:366
Root namespace for the Image Manager interface.
Definition version.hpp:11
DeviceUpdateMode
Defines how to treat the optional device image, when the device itself is updated.
Definition global.hpp:252