Make 'struct sr_dev_inst' opaque.

This commit is contained in:
Uwe Hermann 2014-11-11 12:24:08 +01:00
parent e437da2b86
commit 96727ef016
2 changed files with 35 additions and 29 deletions

View File

@ -892,36 +892,12 @@ enum sr_configkey {
SR_CONF_TEST_MODE, SR_CONF_TEST_MODE,
}; };
/** Device instance data /**
* Opaque structure representing a libsigrok device instance.
*
* None of the fields of this structure are meant to be accessed directly.
*/ */
struct sr_dev_inst { struct sr_dev_inst;
/** Device driver. */
struct sr_dev_driver *driver;
/** Device instance status. SR_ST_NOT_FOUND, etc. */
int status;
/** Device instance type. SR_INST_USB, etc. */
int inst_type;
/** Device vendor. */
char *vendor;
/** Device model. */
char *model;
/** Device version. */
char *version;
/** Serial number. */
char *serial_num;
/** Connection string to uniquely identify devices. */
char *connection_id;
/** List of channels. */
GSList *channels;
/** List of sr_channel_group structs */
GSList *channel_groups;
/** Device instance connection data (used?) */
void *conn;
/** Device instance private data (used?) */
void *priv;
/** Session to which this device is currently assigned. */
struct sr_session *session;
};
/** Types of device instance, struct sr_dev_inst.type */ /** Types of device instance, struct sr_dev_inst.type */
enum sr_dev_inst_type { enum sr_dev_inst_type {

View File

@ -490,6 +490,36 @@ enum {
SR_PRIV struct sr_channel *sr_channel_new(int index, int type, SR_PRIV struct sr_channel *sr_channel_new(int index, int type,
gboolean enabled, const char *name); gboolean enabled, const char *name);
/** Device instance data */
struct sr_dev_inst {
/** Device driver. */
struct sr_dev_driver *driver;
/** Device instance status. SR_ST_NOT_FOUND, etc. */
int status;
/** Device instance type. SR_INST_USB, etc. */
int inst_type;
/** Device vendor. */
char *vendor;
/** Device model. */
char *model;
/** Device version. */
char *version;
/** Serial number. */
char *serial_num;
/** Connection string to uniquely identify devices. */
char *connection_id;
/** List of channels. */
GSList *channels;
/** List of sr_channel_group structs */
GSList *channel_groups;
/** Device instance connection data (used?) */
void *conn;
/** Device instance private data (used?) */
void *priv;
/** Session to which this device is currently assigned. */
struct sr_session *session;
};
/* Generic device instances */ /* Generic device instances */
SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int status, SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int status,
const char *vendor, const char *model, const char *version); const char *vendor, const char *model, const char *version);