/* Generated by GOB (v2.0.9) (do not edit directly) */ /* gnomebt-controller: GNOME bluetooth system operation * * Copyright (c) 2003 Edd Dumbill */ #include #include #ifndef __GNOMEBT_CONTROLLER_H__ #define __GNOMEBT_CONTROLLER_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #include #include #include typedef struct _GnomebtServiceDesc { guint id; GSList *channels; int ref_count; } GnomebtServiceDesc; typedef struct _GnomebtDeviceDesc { gchar *name; gchar *bdaddr; guint deviceclass; int ref_count; } GnomebtDeviceDesc; typedef void (*GnomebtDeviceCallback)(GObject *m, gchar *bdaddr, gpointer data); typedef int (*GnomebtDeviceFilter)(GObject *m, gchar *bdaddr, gpointer data); #define GNOMEBT_IS_MAJOR_CLASS(t, cls) (((t>>8)&0x1f)==cls) enum MajorDeviceClass { GNOMEBT_MAJOR_MISC = 0, GNOMEBT_MAJOR_COMPUTER, GNOMEBT_MAJOR_PHONE, GNOMEBT_MAJOR_LAN, GNOMEBT_MAJOR_AUDIOVIDEO, GNOMEBT_MAJOR_PERIPHERAL, GNOMEBT_MAJOR_IMAGING }; /* ASK is first, it is the default */ enum ConnectPermissions { GNOMEBT_PERM_ASK = 0, GNOMEBT_PERM_NEVER, GNOMEBT_PERM_ALWAYS }; GType gnomebt_service_desc_get_type (void); GType gnomebt_device_desc_get_type (void); #define GNOMEBT_TYPE_SERVICE_DESC (gnomebt_service_desc_get_type ()) #define GNOMEBT_TYPE_DEVICE_DESC (gnomebt_device_desc_get_type ()) GnomebtServiceDesc *gnomebt_service_desc_new (void); GnomebtDeviceDesc *gnomebt_device_desc_new (void); void gnomebt_service_desc_ref (GnomebtServiceDesc *desc); void gnomebt_service_desc_unref (GnomebtServiceDesc *desc); void gnomebt_device_desc_ref (GnomebtDeviceDesc *desc); void gnomebt_device_desc_unref (GnomebtDeviceDesc *desc); void gnomebt_channel_list_free (GSList *list); void gnomebt_service_list_free (GSList *list); void gnomebt_device_desc_list_free (GSList *list); void gnomebt_string_list_free (GSList *list); void gnomebt_entry_list_free (GSList *list); gchar *gnomebt_device_desc_get_name (GnomebtDeviceDesc *desc); gchar *gnomebt_device_desc_get_bdaddr (GnomebtDeviceDesc *desc); guint gnomebt_device_desc_get_deviceclass (GnomebtDeviceDesc *desc); /* * Type checking and casting macros */ #define GNOMEBT_TYPE_CONTROLLER (gnomebt_controller_get_type()) #define GNOMEBT_CONTROLLER(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gnomebt_controller_get_type(), GnomebtController) #define GNOMEBT_CONTROLLER_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gnomebt_controller_get_type(), GnomebtController const) #define GNOMEBT_CONTROLLER_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gnomebt_controller_get_type(), GnomebtControllerClass) #define GNOMEBT_IS_CONTROLLER(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gnomebt_controller_get_type ()) #define GNOMEBT_CONTROLLER_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gnomebt_controller_get_type(), GnomebtControllerClass) /* Private structure type */ typedef struct _GnomebtControllerPrivate GnomebtControllerPrivate; /* * Main object structure */ #ifndef __TYPEDEF_GNOMEBT_CONTROLLER__ #define __TYPEDEF_GNOMEBT_CONTROLLER__ typedef struct _GnomebtController GnomebtController; #endif struct _GnomebtController { BtctlController __parent__; /*< private >*/ GnomebtControllerPrivate *_priv; }; /* * Class definition */ typedef struct _GnomebtControllerClass GnomebtControllerClass; struct _GnomebtControllerClass { BtctlControllerClass __parent__; }; /* * Public methods */ GType gnomebt_controller_get_type (void); void gnomebt_controller_discover_devices (GnomebtController * self); gchar * gnomebt_controller_get_device_name (GnomebtController * self, const gchar * bdaddr); void gnomebt_controller_set_device_alias (GnomebtController * self, const gchar * bdaddr, const gchar * name); void gnomebt_controller_set_device_permission (GnomebtController * self, const gchar * bdaddr, gint flag); gint gnomebt_controller_get_device_permission (GnomebtController * self, const gchar * bdaddr); void gnomebt_controller_remove_device_alias (GnomebtController * self, const gchar * bdaddr); gchar * gnomebt_controller_get_device_alias (GnomebtController * self, const gchar * bdaddr); gchar * gnomebt_controller_get_device_preferred_name (GnomebtController * self, const gchar * bdaddr); guint gnomebt_controller_get_device_class (GnomebtController * self, const gchar * bdaddr); GSList * gnomebt_controller_services_for_device (GnomebtController * self, const gchar * bdaddr); GSList * gnomebt_controller_channels_for_service (GnomebtController * self, const gchar * bdaddr, guint svcid); void gnomebt_controller_remove_device (GnomebtController * self, const gchar * name); void gnomebt_controller_remove_all_devices (GnomebtController * self); void gnomebt_controller_for_each_known_device_filtered (GnomebtController * self, GnomebtDeviceCallback cb, GnomebtDeviceFilter filt, gpointer data, gpointer filterdata); GnomebtDeviceDesc * gnomebt_controller_get_device_desc (GnomebtController * self, const gchar * bdaddr); void gnomebt_controller_for_each_known_device (GnomebtController * self, GnomebtDeviceCallback cb, gpointer data); GSList * gnomebt_controller_known_devices (GnomebtController * self); GSList * gnomebt_controller_known_devices_of_class (GnomebtController * self, const guint clsid); gint gnomebt_controller_get_rfcomm_port (GnomebtController * self, const gchar * bdaddr, guint channel); guint gnomebt_controller_get_rfcomm_port_by_service (GnomebtController * self, const gchar * bdaddr, guint service); gint gnomebt_controller_connect_rfcomm_port (GnomebtController * self, const gchar * bdaddr, guint channel); gint gnomebt_controller_connect_rfcomm_port_by_service (GnomebtController * self, const gchar * bdaddr, guint service); GnomebtController * gnomebt_controller_new (void); #ifdef __cplusplus } #endif /* __cplusplus */ #endif