Editing Documentation/Maemo 5 Developer Guide/Using Connectivity Components/Maemo Connectivity
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
Warning: This page is 67 kilobytes long; some browsers may have problems editing pages approaching or longer than 32kb. Please consider breaking the page into smaller sections.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 428: | Line 428: | ||
====Getting List of User-Saved Connections ==== | ====Getting List of User-Saved Connections ==== | ||
+ | To query all user-saved connections (IAPs), use the ''con_ic_connection_get_all_iaps()'' function. The function returns simply a singly linked list of ConIcIap objects: | ||
- | + | <tt> <span>''<span><font color="#9A1900">/* ConIcConnection object named "connection" has already been created */</font></span>''</span> | |
+ | GSList <span><font color="#990000"><nowiki>*</nowiki></font></span>saved_iaps <span><font color="#990000"><nowiki>=</nowiki></font></span> <span>'''<span><font color="#000000">con_ic_connection_get_all_iaps</font></span>'''</span><span><font color="#990000">(</font></span>connection<span><font color="#990000">);</font></span> | ||
+ | <span>'''<span><font color="#000000">g_debug</font></span>'''</span><span><font color="#990000">(</font></span><span><font color="#FF0000">"The following connections have been saved by the user:"</font></span><span><font color="#990000">);</font></span> | ||
+ | <span>'''<span><font color="#0000FF">for</font></span>'''</span> <span><font color="#990000">(</font></span>GSList <span><font color="#990000"><nowiki>*</nowiki></font></span>iter <span><font color="#990000"><nowiki>=</nowiki></font></span> saved_iaps<span><font color="#990000"><nowiki>;</nowiki></font></span> iter <span><font color="#990000"><nowiki>!=</nowiki></font></span> NULL<span><font color="#990000"><nowiki>;</nowiki></font></span> iter <span><font color="#990000"><nowiki>=</nowiki></font></span> <span>'''<span><font color="#000000">g_slist_next</font></span>'''</span><span><font color="#990000">(</font></span>iter<span><font color="#990000">))</font></span> <span><font color="#FF0000">{</font></span> | ||
+ | <span>''<span><font color="#9A1900">/* Get IAP object and print some information about it */</font></span>''</span> | ||
+ | ConIcIap <span><font color="#990000"><nowiki>*</nowiki></font></span>iap <span><font color="#990000"><nowiki>=</nowiki></font></span> <span><font color="#990000">(</font></span>ConIcIap <span><font color="#990000"><nowiki>*)</nowiki></font></span>iter<span><font color="#990000">-></font></span>data<span><font color="#990000"><nowiki>;</nowiki></font></span> | ||
+ | <span>'''<span><font color="#000000">g_debug</font></span>'''</span><span><font color="#990000">(</font></span><span><font color="#FF0000">"Connection %s called '%s' using bearer %s"</font></span><span><font color="#990000">,</font></span> | ||
+ | <span>'''<span><font color="#000000">con_ic_iap_get_id</font></span>'''</span><span><font color="#990000">(</font></span>iap<span><font color="#990000">),</font></span> <span>'''<span><font color="#000000">con_ic_iap_get_name</font></span>'''</span><span><font color="#990000">(</font></span>iap<span><font color="#990000">),</font></span> | ||
+ | <span>'''<span><font color="#000000">con_ic_iap_get_bearer_type</font></span>'''</span><span><font color="#990000">(</font></span>iap<span><font color="#990000">));</font></span> | ||
+ | <span>''<span><font color="#9A1900">/* We unref the IAP object as we are not going to use it anymore */</font></span>''</span> | ||
+ | <span>'''<span><font color="#000000">g_object_unref</font></span>'''</span><span><font color="#990000">(</font></span>iap<span><font color="#990000">);</font></span> | ||
+ | <span><font color="#FF0000">}</font></span> | ||
+ | <span>'''<span><font color="#000000">g_slist_free</font></span>'''</span><span><font color="#990000">(</font></span>saved_iaps<span><font color="#990000">);</font></span></tt> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
==== Porting Application from OSSO IC API to Libconic ==== | ==== Porting Application from OSSO IC API to Libconic ==== | ||
- | + | * If the application does not have GType, GLib or D-BUS configured, set them up: | |
- | * If the application does not have | + | <tt> DBusConnection <span><font color="#990000"><nowiki>*</nowiki></font></span>system_dbus<span><font color="#990000"><nowiki>;</nowiki></font></span> |
- | + | GMainLoop <span><font color="#990000"><nowiki>*</nowiki></font></span>main_loop<span><font color="#990000"><nowiki>;</nowiki></font></span> | |
- | < | + | <span>'''<span><font color="#000000">g_type_init</font></span>'''</span><span><font color="#990000">();</font></span> |
- | + | main_loop <span><font color="#990000"><nowiki>=</nowiki></font></span> <span>'''<span><font color="#000000">g_main_loop_new</font></span>'''</span><span><font color="#990000">(</font></span>NULL<span><font color="#990000">,</font></span> FALSE<span><font color="#990000">);</font></span> | |
- | + | system_dbus <span><font color="#990000"><nowiki>=</nowiki></font></span> <span>'''<span><font color="#000000">dbus_bus_get</font></span>'''</span><span><font color="#990000">(</font></span>DBUS_BUS_SYSTEM<span><font color="#990000">,</font></span> NULL<span><font color="#990000">);</font></span> | |
- | + | <span>'''<span><font color="#000000">dbus_connection_setup_with_g_main</font></span>'''</span><span><font color="#990000">(</font></span>system_dbus<span><font color="#990000">,</font></span> NULL<span><font color="#990000">);</font></span></tt> | |
- | + | ||
- | + | ||
- | + | ||
- | </ | + | |
- | + | ||
* Include the correct header file: | * Include the correct header file: | ||
- | + | <tt><span>'''<span><font color="#000080"> #include</font></span>'''</span> <span><font color="#FF0000"><osso-ic.h></font></span> | |
- | < | + | <span><font color="#990000"><nowiki>===></nowiki></font></span> |
- | + | <span>'''<span><font color="#000080"> #include</font></span>'''</span> <span><font color="#FF0000"><conic.h></font></span></tt> | |
- | + | * Set up ''ConIcConnection'' object and "connection-event" handler instead of ''osso_iap_cb_t'' callback: | |
- | + | <tt> <span>'''<span><font color="#0000FF">static</font></span>'''</span> <span><font color="#009900">void</font></span> <span>'''<span><font color="#000000">my_connection_cb</font></span>'''</span><span><font color="#990000">(</font></span><span>'''<span><font color="#0000FF">struct</font></span>'''</span> <span><font color="#009900">iap_event_t</font></span> <span><font color="#990000"><nowiki>*</nowiki></font></span>event<span><font color="#990000">,</font></span> <span><font color="#009900">void</font></span> <span><font color="#990000"><nowiki>*</nowiki></font></span>arg<span><font color="#990000">)</font></span> | |
- | </ | + | <span><font color="#FF0000">{</font></span> |
- | + | <span>''<span><font color="#9A1900">/* ... */</font></span>''</span> | |
- | * Set up | + | <span><font color="#FF0000">}</font></span> |
- | + | <span>''<span><font color="#9A1900">/* ... */</font></span>''</span> | |
- | < | + | <span>'''<span><font color="#000000">osso_iap_cb</font></span>'''</span><span><font color="#990000">(</font></span>my_connection_cb<span><font color="#990000">);</font></span> |
- | + | <span><font color="#990000"><nowiki>===></nowiki></font></span> | |
- | + | <span>'''<span><font color="#0000FF">static</font></span>'''</span> <span><font color="#009900">void</font></span> <span>'''<span><font color="#000000">my_connection_cb</font></span>'''</span><span><font color="#990000">(</font></span>ConIcConnection <span><font color="#990000"><nowiki>*</nowiki></font></span>connection<span><font color="#990000">,</font></span> | |
- | + | ConIcConnectionEvent <span><font color="#990000"><nowiki>*</nowiki></font></span>event<span><font color="#990000">,</font></span> | |
- | + | gpointer user_data<span><font color="#990000">)</font></span> | |
- | + | <span><font color="#FF0000">{</font></span> | |
- | + | <span>''<span><font color="#9A1900">/* ... */</font></span>''</span> | |
- | + | <span><font color="#FF0000">}</font></span> | |
- | + | <span>''<span><font color="#9A1900">/* ... */</font></span>''</span> | |
- | + | ConIcConnection <span><font color="#990000"><nowiki>*</nowiki></font></span>connection <span><font color="#990000"><nowiki>=</nowiki></font></span> <span>'''<span><font color="#000000">con_ic_connection_new</font></span>'''</span><span><font color="#990000">();</font></span> | |
- | + | <span>'''<span><font color="#000000">g_signal_connect</font></span>'''</span><span><font color="#990000">(</font></span><span>'''<span><font color="#000000">G_OBJECT</font></span>'''</span><span><font color="#990000">(</font></span>connection<span><font color="#990000">),</font></span> <span><font color="#FF0000">"connection-event"</font></span><span><font color="#990000">,</font></span> | |
- | + | <span>'''<span><font color="#000000">G_CALLBACK</font></span>'''</span><span><font color="#990000">(</font></span>my_connection_cb<span><font color="#990000">),</font></span> app_data<span><font color="#990000">);</font></span></tt> | |
- | + | * Manage connections through ''ConIcConnection'' API instead of <br />''osso_iap_connect()'' and ''osso_iap_disconnect()''<nowiki>: </nowiki> | |
- | + | <tt> <span>'''<span><font color="#000000">osso_iap_connect</font></span>'''</span><span><font color="#990000">(</font></span>OSSO_IAP_ANY<span><font color="#990000">,</font></span> OSSO_IAP_REQUESTED_CONNECT<span><font color="#990000">,</font></span> app_data<span><font color="#990000">);</font></span> | |
- | + | <span>'''<span><font color="#000000">osso_iap_disconnect</font></span>'''</span><span><font color="#990000">(</font></span>iap_name<span><font color="#990000">,</font></span> app_data<span><font color="#990000">);</font></span> | |
- | + | <span><font color="#990000"><nowiki>===></nowiki></font></span> | |
- | + | <span>'''<span><font color="#000000">con_ic_connection_connect</font></span>'''</span><span><font color="#990000">(</font></span>connection<span><font color="#990000">,</font></span> CON_IC_CONNECT_FLAG_NONE<span><font color="#990000">);</font></span> | |
- | + | <span>'''<span><font color="#000000">con_ic_connection_disconnect</font></span>'''</span><span><font color="#990000">(</font></span>connection<span><font color="#990000">);</font></span></tt> | |
- | </ | + | * Request statistics with ''con_ic_connection_statistics()'' instead of <br />''osso_iap_get_statistics()''. |
- | + | * List all available IAPs with ''con_ic_connection_get_all_iaps()'' instead of <br />''osso_iap_get_configured_iaps()''. | |
- | + | ||
- | * List all available IAPs with | + | |
* Configure autoconf to use Libconic instead of OSSO IC API: | * Configure autoconf to use Libconic instead of OSSO IC API: | ||
- | < | + | <tt> PKG_CHECK_MODULES<span><font color="#990000">(</font></span>OSSOIC<span><font color="#990000">,</font></span> osso-ic<span><font color="#990000">)</font></span> |
- | + | AC_SUBST<span><font color="#990000">(</font></span>OSSOIC_CFLAGS<span><font color="#990000">)</font></span> | |
- | AC_SUBST(OSSOIC_CFLAGS) | + | AC_SUBST<span><font color="#990000">(</font></span>OSSOIC_LIBS<span><font color="#990000">)</font></span> |
- | AC_SUBST(OSSOIC_LIBS) | + | <span><font color="#990000"><nowiki>===></nowiki></font></span> |
- | # | + | PKG_CHECK_MODULES<span><font color="#990000">(</font></span>CONIC<span><font color="#990000">,</font></span> conic<span><font color="#990000">)</font></span> |
- | PKG_CHECK_MODULES(CONIC, conic) | + | AC_SUBST<span><font color="#990000">(</font></span>CONIC_CFLAGS<span><font color="#990000">)</font></span> |
- | AC_SUBST(CONIC_CFLAGS) | + | AC_SUBST<span><font color="#990000">(</font></span>CONIC_LIBS<span><font color="#990000">)</font></span></tt> |
- | AC_SUBST(CONIC_LIBS) | + | * In debian/control file "Build-Depends" section, depend on libconic0-dev instead of osso-ic-dev. |
- | </ | + | |
- | * In | + | |
==Bluetooth Libraries == | ==Bluetooth Libraries == |
Learn more about Contributing to the wiki.