Editing Documentation/Maemo 5 Developer Guide/Using Connectivity Components/Introduction

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
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 1: Line 1:
-
The following code examples are used in this chapter:
+
= Introduction =
 +
For communications with the outside world, the maemo platform provides frameworks ranging from Bluetooth file transfer to making video calls. This chapter goes through the components important for the maemo application developer.
-
* [https://vcs.maemo.org/svn/maemoexamples/tags/maemo_5.0/maemo-examples/example_bluetooth.c example_bluetooth.c]
+
==Acquiring Internet Access==
-
* [https://vcs.maemo.org/svn/maemoexamples/tags/maemo_5.0/location-example/src/location-example.c location-example.c]
+
-
For communications with the outside world, the maemo platform provides frameworks ranging from Bluetooth file transfer to making video calls. This chapter goes through the components important for the maemo application developer.
+
''LibConIC'' is the library that must be used by all applications wanting to use Internet connectivity. It takes care of e.g. scanning of available WLAN networks, and setting up the IP network after the user has selected a connection. LibConIC API works together with the maemo connectivity daemon (''ICd'') that handles both WLAN and Bluetooth connections. LibConIC and ICd are described more deeply in section [localhost#sec:maemo_connectivity 9.2].  
-
==Acquiring Internet Access==
 
-
 
-
All applications must use the ''LibConIC'' library for Internet connectivity. LibConIC takes care of e.g. scanning of available WLAN networks and sets up the IP network after the user selects a connection. The LibConIC API works together with the maemo connectivity daemon (''ICd'') that handles both WLAN and Bluetooth connections. For more information on LibConIC and ICd, see section [[Documentation/Maemo 5 Developer Guide/Using Connectivity Components/Maemo Connectivity|Maemo Connectivity]].
 
==VoIP, Instant Messaging and Presence==
==VoIP, Instant Messaging and Presence==
 +
The ''[http://telepathy.freedesktop.org/ Telepathy]'' communications framework provides a unified API for presence, messaging and voice/video calls. The list of supported protocols is long: IRC, ICQ, XMPP (Jabber), SIP, MSN etc. The connection manager of Telepathy is expandable, and uses D-BUS for communication. Telepathy usage in maemo is described in more detail in section [localhost#sec:implementing_custom_connection_managers 9.3].
-
The ''[http://telepathy.freedesktop.org/ Telepathy]'' communications framework provides a unified API for presence, messaging and voice/video calls. The list of supported protocols is long: IRC, ICQ, XMPP (Jabber), SIP, MSN etc. The connection manager of Telepathy is expandable, and uses D-Bus for communication. Telepathy usage in maemo is described in more detail in section [[Documentation/Maemo 5 Developer Guide/Using Connectivity Components/Implementing Custom Connection Managers|Implementing Custom Connection Managers]].
 
==Bluetooth==
==Bluetooth==
 +
A high level API for Bluetooth is offered as part of the maemo connectivity subsystem. Using its D-BUS API, a program can find remote Bluetooth devices, such as phones, send files over OBEX object push, and create pairings with remote devices. For these tasks, it is recommended for an application to use this framework, as it not only has a lot simpler API, but makes the applications look and behave consistently.
-
A high level API for Bluetooth is offered as part of the Maemo connectivity subsystem. Using its D-Bus API, a program can find remote Bluetooth devices, for example, phones, send files over OBEX object push, and create pairings with remote devices. For these tasks, this framework is recommended because it has a much simpler API and makes the applications look and behave consistently.
+
For Bluetooth operations that are not supported by the maemo connectivity framework, maemo includes a lower level BlueZ D-BUS API, which is also the main Bluetooth interface for all Linux systems. The BlueZ API has features for practically all aspects of Bluetooth systems, and as a consequence is a lot more complex than the higher level Maemo Connectivity subsystem's offerings.
-
For Bluetooth operations that are not supported by the maemo connectivity framework, maemo includes a lower level BlueZ D-Bus API, which is also the main Bluetooth interface on all Linux systems. The BlueZ API has features for practically all aspects of Bluetooth systems, and as a consequence is a lot more complex than the higher level Maemo Connectivity subsystem's offerings.
+
Section [localhost#sec:maemo_connectivity 9.2] describes the high level D-BUS API and its use. More information about the BlueZ API can be found at [http://www.bluez.org/BlueZ web site]. The maemo-example package also includes example code about both libraries.
-
Section [[Documentation/Maemo 5 Developer Guide/Using Connectivity Components/Maemo Connectivity|Maemo Connectivity]] describes the high level D-Bus API and its use. For more information on the BlueZ API, see the [http://www.bluez.org/BlueZ BlueZ web site]. The maemo example package also includes example code about both libraries.
 
==OBEX==
==OBEX==
 +
Bluetooth devices use OBEX protocol to exchange data objects. Maemo includes libraries to help working with this protocol. For OBEX FTP, the easiest way is to use GnomeVFS's OBEX backend. For more granular control, there is ''libgwobex'', which GnomeVFS uses in its implementation, and an even more low level interface can be found in the OpenOBEX library.
-
Bluetooth devices use OBEX protocol to exchange data objects. Maemo includes libraries to help working with this protocol. For OBEX FTP, the easiest way is to use GnomeVFS's OBEX backend. For more granular control, there is ''libgwobex'', which GnomeVFS uses in its implementation. The OpenOBEX library provides an lower-level interface.
+
More about GnomeVFS is written in the GnomeVFS section of this document. Section [localhost#sec:maemo_connectivity 9.2] contains separate subsections for libgwobex and ''OpenOBEX''. For libgwobexAPI, see [http://maemo.org/development/sdks/maemo_5_api_documentation/ Maemo API Reference]. Lots of information about OpenOBEX can be found at the [http://dev.zuckschwerdt.org/openobex/ project's web site].
-
 
+
-
For more information on libgwobex and ''OpenOBEX'', see section [[Documentation/Maemo 5 Developer Guide/Using Connectivity Components/Maemo Connectivity|Maemo Connectivity]] and [http://maemo.org/api_refs/5.0/beta/osso-gwobex/ API references]. For more information on OpenOBEX, see the [http://dev.zuckschwerdt.org/openobex/ project's web site].
+
-
 
+
-
[[Category:Development]]
+
-
[[Category:Documentation]]
+
-
[[Category:Fremantle]]
+

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)