icd/icd_scan.h

Go to the documentation of this file.
00001 #ifndef ICD_SCAN_H
00002 #define ICD_SCAN_H
00003 
00017 #include <glib.h>
00018 
00019 #include "network_api.h"
00020 #include "dbus_api.h"
00021 
00024 struct icd_scan_cache_list {
00026   GSList *cache_list;
00027 };
00028 
00030 struct icd_scan_srv_provider {
00032   gchar *service_type;
00034   gchar *service_name;
00036   guint service_attrs;
00038   gchar *service_id;
00040   gint service_priority;
00041 };
00042 
00044 struct icd_scan_cache {
00046   guint last_seen;
00047 
00049   gchar *network_type;
00051   gchar *network_name;
00053   guint network_attrs;
00055   gchar *network_id;
00057   gint network_priority;
00058 
00060   enum icd_nw_levels signal;
00061 
00063   gchar *station_id;
00065   gint dB;
00066 
00068   GSList *srv_provider_list;
00069 };
00070 
00075 struct icd_scan_cache_timeout {
00077   struct icd_network_module *module;
00079   guint id;
00080 };
00081 
00090 typedef void
00091 (*icd_scan_cb_fn) (enum icd_scan_status status,
00092                    const struct icd_scan_srv_provider *srv_provider,
00093                    const struct icd_scan_cache *cache_entry,
00094                    gpointer user_data);
00095 
00099 void icd_scan_cache_entry_free (struct icd_scan_cache *cache_entry);
00100 
00106 void icd_scan_cache_entry_add (struct icd_network_module *module,
00107                                struct icd_scan_cache_list *scan_cache,
00108                                struct icd_scan_cache *cache_entry);
00109 
00115 struct icd_scan_cache_list *
00116 icd_scan_cache_list_lookup (struct icd_network_module *module,
00117                             const gchar *network_id);
00118 
00125 struct icd_scan_cache *
00126 icd_scan_cache_entry_find (struct icd_scan_cache_list *scan_cache_list,
00127                            const gchar *network_type,
00128                            const guint network_attrs);
00129 
00137 gboolean icd_scan_cache_entry_remove(struct icd_scan_cache_list *scan_cache_list,
00138                                      const gchar *network_id,
00139                                      const gchar *network_type,
00140                                      const guint network_attrs);
00141 
00150 void icd_scan_listener_notify (struct icd_network_module *module,
00151                                struct icd_scan_srv_provider *srv_provider,
00152                                struct icd_scan_cache *cache_entry,
00153                                enum icd_scan_status status);
00154 
00155 gboolean icd_scan_results_request (const gchar *type,
00156                                    const guint scope,
00157                                    icd_scan_cb_fn cb,
00158                                    gpointer user_data);
00159 gboolean icd_scan_results_unregister (icd_scan_cb_fn cb,
00160                                       gpointer user_data);
00161 gboolean icd_scan_cache_init (struct icd_network_module *module);
00162 void icd_scan_cache_remove (struct icd_network_module *module);
00163 
00164 void icd_scan_cache_remove_iap(gchar *iap_name);
00165 
00168 #endif

Generated on Tue Feb 24 16:21:36 2009 for ICd2 by  doxygen 1.5.1