Loading...
Searching...
No Matches
Device::ProtocolFactory Class Referenceabstract
Inheritance diagram for Device::ProtocolFactory:
score::InterfaceBase Dataflow::AudioProtocolFactory Gfx::CameraProtocolFactory Gfx::GPhoto2::ProtocolFactory Gfx::GStreamer::ProtocolFactory Gfx::LibavProtocolFactory Gfx::SharedInputProtocolFactory Gfx::SharedOutputProtocolFactory Gfx::WindowCapture::WindowCaptureProtocolFactory Gfx::WindowProtocolFactory Protocols::DefaultProtocolFactory Protocols::MCUProtocolFactory Protocols::MIDIInputProtocolFactory Protocols::MIDIOutputProtocolFactory Protocols::PhidgetProtocolFactory

Classes

struct  StandardCategories
 

Public Types

enum  Flags { EditingReloadsEverything = (1 << 0) }
 
using FileMapper = std::function< QString(const QString &path, score::FileKind kind, bool output)>
 

Public Member Functions

virtual Flags flags () const noexcept
 
virtual QString prettyName () const noexcept=0
 
virtual QString category () const noexcept=0
 
virtual QUrl manual () const noexcept
 
virtual int visualPriority () const noexcept
 
virtual DeviceEnumerators getEnumerators (const score::DocumentContext &ctx) const
 
virtual DeviceInterfacemakeDevice (const Device::DeviceSettings &settings, const Explorer::DeviceDocumentPlugin &plugin, const score::DocumentContext &ctx)=0
 
virtual ProtocolSettingsWidgetmakeSettingsWidget ()=0
 
virtual AddressDialogmakeAddAddressDialog (const Device::DeviceInterface &dev, const score::DocumentContext &ctx, QWidget *)=0
 
virtual AddressDialogmakeEditAddressDialog (const Device::AddressSettings &, const Device::DeviceInterface &dev, const score::DocumentContext &ctx, QWidget *)=0
 
virtual const Device::DeviceSettingsdefaultSettings () const noexcept=0
 
virtual void serializeProtocolSpecificSettings (const QVariant &data, const VisitorVariant &visitor) const =0
 
template<typename T >
void serializeProtocolSpecificSettings_T (const QVariant &data, const VisitorVariant &visitor) const
 
virtual QVariant makeProtocolSpecificSettings (const VisitorVariant &visitor) const =0
 
template<typename T >
QVariant makeProtocolSpecificSettings_T (const VisitorVariant &vis) const
 
virtual QVariant relocateExternalFiles (const QVariant &settings, const FileMapper &map) const
 
virtual bool checkResourcesAvailable (const Device::DeviceSettings &a, const DeviceResourceMap &) const noexcept
 
virtual bool checkCompatibility (const Device::DeviceSettings &a, const Device::DeviceSettings &b) const noexcept=0
 
- Public Member Functions inherited from score::InterfaceBase
virtual InterfaceKey interfaceKey () const noexcept=0
 Identifies an interface uniquely.
 

Member Typedef Documentation

◆ FileMapper

using Device::ProtocolFactory::FileMapper = std::function<QString(const QString& path, score::FileKind kind, bool output)>

Callback handed to relocateExternalFiles: receives one path held in the settings and returns what it should become, or an empty string to leave it alone. output marks a file the device writes rather than reads.

Member Function Documentation

◆ checkResourcesAvailable()

bool Device::ProtocolFactory::checkResourcesAvailable ( const Device::DeviceSettings a,
const DeviceResourceMap &   
) const
virtualnoexcept

Returns true if the device can be instantiated. e.g. are the necessary ports available at the system level. Second argument is a map of all the used resources by other devices in the score.

◆ relocateExternalFiles()

QVariant Device::ProtocolFactory::relocateExternalFiles ( const QVariant &  settings,
const FileMapper map 
) const
virtual

Report — and optionally rewrite — the files these protocol-specific settings reference, so that project consolidation can collect them.

Returns updated settings, or an empty QVariant when nothing changed. The default implementation reports nothing, which is right for the many protocols that only ever talk to the network.

Reimplemented in Gfx::LibavProtocolFactory.

◆ visualPriority()

int Device::ProtocolFactory::visualPriority ( ) const
virtualnoexcept

The one with the highest priority will show up first in the protocol list


The documentation for this class was generated from the following files: