C++: Make Driver inherit Configurable.
This commit is contained in:
parent
4f7bcf0ec3
commit
59b74d28c9
|
@ -248,6 +248,7 @@ shared_ptr<Input> Context::open_stream(string header)
|
||||||
|
|
||||||
Driver::Driver(struct sr_dev_driver *structure) :
|
Driver::Driver(struct sr_dev_driver *structure) :
|
||||||
ParentOwned(structure),
|
ParentOwned(structure),
|
||||||
|
Configurable(structure, NULL, NULL),
|
||||||
initialized(false)
|
initialized(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -281,29 +281,6 @@ protected:
|
||||||
friend class Driver;
|
friend class Driver;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** A hardware driver provided by the library */
|
|
||||||
class SR_API Driver :
|
|
||||||
public ParentOwned<Driver, Context, struct sr_dev_driver>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/** Name of this driver. */
|
|
||||||
string get_name();
|
|
||||||
/** Long name for this driver. */
|
|
||||||
string get_long_name();
|
|
||||||
/** Scan for devices and return a list of devices found.
|
|
||||||
* @param options Mapping of (ConfigKey, value) pairs. */
|
|
||||||
vector<shared_ptr<HardwareDevice> > scan(
|
|
||||||
map<const ConfigKey *, Glib::VariantBase> options = {});
|
|
||||||
protected:
|
|
||||||
bool initialized;
|
|
||||||
vector<HardwareDevice *> devices;
|
|
||||||
Driver(struct sr_dev_driver *structure);
|
|
||||||
~Driver();
|
|
||||||
friend class Context;
|
|
||||||
friend class HardwareDevice;
|
|
||||||
friend class ChannelGroup;
|
|
||||||
};
|
|
||||||
|
|
||||||
/** An object that can be configured. */
|
/** An object that can be configured. */
|
||||||
class SR_API Configurable
|
class SR_API Configurable
|
||||||
{
|
{
|
||||||
|
@ -329,6 +306,30 @@ protected:
|
||||||
struct sr_channel_group *config_channel_group;
|
struct sr_channel_group *config_channel_group;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** A hardware driver provided by the library */
|
||||||
|
class SR_API Driver :
|
||||||
|
public ParentOwned<Driver, Context, struct sr_dev_driver>,
|
||||||
|
public Configurable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/** Name of this driver. */
|
||||||
|
string get_name();
|
||||||
|
/** Long name for this driver. */
|
||||||
|
string get_long_name();
|
||||||
|
/** Scan for devices and return a list of devices found.
|
||||||
|
* @param options Mapping of (ConfigKey, value) pairs. */
|
||||||
|
vector<shared_ptr<HardwareDevice> > scan(
|
||||||
|
map<const ConfigKey *, Glib::VariantBase> options = {});
|
||||||
|
protected:
|
||||||
|
bool initialized;
|
||||||
|
vector<HardwareDevice *> devices;
|
||||||
|
Driver(struct sr_dev_driver *structure);
|
||||||
|
~Driver();
|
||||||
|
friend class Context;
|
||||||
|
friend class HardwareDevice;
|
||||||
|
friend class ChannelGroup;
|
||||||
|
};
|
||||||
|
|
||||||
/** A generic device, either hardware or virtual */
|
/** A generic device, either hardware or virtual */
|
||||||
class SR_API Device : public Configurable
|
class SR_API Device : public Configurable
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue