Loading...
Searching...
No Matches
GPhoto2Device.hpp
1#pragma once
2#include <Gfx/GfxDevice.hpp>
3#include <Gfx/GfxExecContext.hpp>
4#include <Gfx/GfxInputDevice.hpp>
5
6#include <Device/Protocol/DeviceInterface.hpp>
7#include <Device/Protocol/DeviceSettings.hpp>
8#include <Device/Protocol/ProtocolFactoryInterface.hpp>
9#include <Device/Protocol/ProtocolSettingsWidget.hpp>
10
11#include <Video/ExternalInput.hpp>
12#include <Video/FrameQueue.hpp>
13
14#include <ossia/gfx/texture_parameter.hpp>
15#include <ossia/network/base/device.hpp>
16#include <ossia/network/base/protocol.hpp>
17#include <ossia/network/generic/generic_device.hpp>
18#include <ossia/network/generic/generic_node.hpp>
19
20#include <verdigris>
21
22class QComboBox;
23class QFormLayout;
24class QLineEdit;
25
26namespace Gfx::GPhoto2
27{
28
30{
31 QString model;
32 QString port;
33};
34
36{
37 SCORE_CONCRETE("a7e5e6cc-3e7e-4f92-b5f6-0dca37e64c8a")
38public:
39 QString prettyName() const noexcept override;
40 QString category() const noexcept override;
41 QUrl manual() const noexcept override;
42
43 Device::DeviceEnumerators
44 getEnumerators(const score::DocumentContext& ctx) const override;
45
46 Device::DeviceInterface* makeDevice(
47 const Device::DeviceSettings& settings,
48 const Explorer::DeviceDocumentPlugin& plugin,
49 const score::DocumentContext& ctx) override;
50 const Device::DeviceSettings& defaultSettings() const noexcept override;
51
52 Device::AddressDialog* makeAddAddressDialog(
54 QWidget* parent) override;
55 Device::AddressDialog* makeEditAddressDialog(
57 const score::DocumentContext& ctx, QWidget*) override;
58
59 Device::ProtocolSettingsWidget* makeSettingsWidget() override;
60
61 QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
62
63 void serializeProtocolSpecificSettings(
64 const QVariant& data, const VisitorVariant& visitor) const override;
65
66 bool checkCompatibility(
68 const Device::DeviceSettings& b) const noexcept override;
69};
70
71}
72
73SCORE_SERIALIZE_DATASTREAM_DECLARE(, Gfx::GPhoto2::GPhoto2Settings);
74Q_DECLARE_METATYPE(Gfx::GPhoto2::GPhoto2Settings)
75W_REGISTER_ARGTYPE(Gfx::GPhoto2::GPhoto2Settings)
Definition ProtocolSettingsWidget.hpp:46
Definition DeviceInterface.hpp:66
Definition ProtocolFactoryInterface.hpp:49
Definition ProtocolSettingsWidget.hpp:27
Definition GPhoto2Device.hpp:36
Definition AddressSettings.hpp:49
Definition DeviceSettings.hpp:20
Definition GPhoto2Device.hpp:30
The VisitorVariant struct.
Definition VisitorInterface.hpp:26
Definition DocumentContext.hpp:18