2 #ifndef __BSE_DEVICE_H__
3 #define __BSE_DEVICE_H__
10 #define BSE_TYPE_DEVICE (BSE_TYPE_ID (BseDevice))
11 #define BSE_DEVICE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_DEVICE, BseDevice))
12 #define BSE_DEVICE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_DEVICE, BseDeviceClass))
13 #define BSE_IS_DEVICE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_DEVICE))
14 #define BSE_IS_DEVICE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_DEVICE))
15 #define BSE_DEVICE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_DEVICE, BseDeviceClass))
17 #define BSE_DEVICE_OPEN(pdev) ((BSE_OBJECT_FLAGS (pdev) & BSE_DEVICE_FLAG_OPEN) != 0)
18 #define BSE_DEVICE_READABLE(pdev) ((BSE_OBJECT_FLAGS (pdev) & BSE_DEVICE_FLAG_READABLE) != 0)
19 #define BSE_DEVICE_WRITABLE(pdev) ((BSE_OBJECT_FLAGS (pdev) & BSE_DEVICE_FLAG_WRITABLE) != 0)
25 BSE_DEVICE_FLAG_OPEN = 1 << (BSE_OBJECT_FLAGS_USHIFT + 0),
26 BSE_DEVICE_FLAG_READABLE = 1 << (BSE_OBJECT_FLAGS_USHIFT + 1),
27 BSE_DEVICE_FLAG_WRITABLE = 1 << (BSE_OBJECT_FLAGS_USHIFT + 2)
29 #define BSE_DEVICE_FLAGS_USHIFT (BSE_OBJECT_FLAGS_USHIFT + 3)
35 gchar *open_device_name;
36 gchar *open_device_args;
40 const gchar *driver_name;
41 const gchar *driver_syntax;
42 const gchar *driver_blurb;
44 Bse::ErrorType (*open) (
BseDevice *device,
45 gboolean require_readable,
46 gboolean require_writable,
62 void bse_device_class_setup (gpointer klass,
68 Bse::ErrorType bse_device_open (
BseDevice *device,
69 gboolean need_readable,
70 gboolean need_writable,
71 const gchar *arg_string);
72 void bse_device_set_opened (
BseDevice *device,
73 const gchar *device_name,
76 void bse_device_close (
BseDevice *device);
87 void bse_device_entry_list_free (
SfiRing *list);
88 SfiRing* bse_device_class_list (GType type,
89 void (*request_callback) (
BseDevice *device,
92 void bse_device_dump_list (GType base_type,
95 void (*request_callback) (
BseDevice *device,
98 BseDevice* bse_device_open_best (GType base_type,
99 gboolean need_readable,
100 gboolean need_writable,
102 void (*request_callback) (
BseDevice *device,
105 Bse::ErrorType *errorp);
106 BseDevice* bse_device_open_auto (GType base_type,
107 gboolean need_readable,
108 gboolean need_writable,
109 void (*request_callback) (
BseDevice *device,
112 Bse::ErrorType *errorp);
Definition: bseobject.hh:60
Definition: bseobject.hh:93
Definition: sfiring.hh:23
Definition: bsedevice.hh:33
Definition: bsedevice.hh:38
Definition: bsedevice.hh:53