Connection Manager hierarchy
=================

Service		org.ofono
Interface	org.ofono.ConnectionManager
Object path	[variable]

Methods		dict GetProperties()

			Returns all global system properties. See the
			properties section for available properties.

		void SetProperty(string property, variant value)

			Sets the property to a desired value

			Possible Errors: [service].Error.InProgress
					 [service].Error.NotImplemented
					 [service].Error.InvalidArguments
					 [service].Error.Failed

		void DeactivateAll()

			Deactivates all active contexts.

			Possible Errors: [service].Error.InProgress
					 [service].Error.InvalidArguments
					 [service].Error.Failed

		array{object,dict} GetContexts()

			Get array of context objects and properties.

			The method should only be call once per application.
			Further changes shall be monitored via ContextAdded
			ContextRemoved signals.

		object AddContext(string type)

			Creates a new Primary context.  The type contains
			the intended purpose of the context.

			For possible values of the type parameter see the
			Type documentation of ConnectionContext interface.
			Returns the object path of the created context.

			Possible Errors: [service].Error.InvalidArguments
					 [service].Error.InvalidFormat
					 [service].Error.Failed

		void RemoveContext(object context)

			Removes a primary context.  All secondary contexts, if
			any, associated with the primary context are also
			removed.

			Possible Errors: [service].Error.InProgress
					 [service].Error.InvalidArguments
					 [service].Error.InvalidFormat
					 [service].Error.NotFound
					 [service].Error.Failed

		void ResetContexts()

			Removes all contexts and re-provisions from the APN
			database. Contexts must all be deactivated for this
			method to work, and the atom must not be powered.

			Possible Errors: [service].Error.InProgress
					 [service].Error.InvalidArguments
					 [service].Error.NotAllowed

Signals		PropertyChanged(string property, variant value)

			This signal indicates a changed value of the given
			property.

		ContextAdded(object path, dict properties)

			Signal that gets emitted when a new context has
			been created.  It contains the context object path
			and its properties.

		ContextRemoved(object path)

			Signal that gets emitted when a context has been
			removed.  The object path of the context is only
			included for reference.  Its properties are no
			longer accessible at this point.

Properties	boolean Attached [readonly]

			Contains whether the Packet Radio Service is attached.
			The attach state might change dynamically based on
			availability of network resources.  If this value
			changes to false, the user can assume that all
			contexts have been deactivated.

			If the modem is detached, certain features will not
			be available, e.g. receiving SMS over packet radio
			or network initiated PDP activation.

		string Bearer [readonly, optional]

			Contains the data bearer technology as reported by the
			GPRS service registration (if known).

			Possible values are:
			"none", "gsm", "edge", "umts", "hsdpa", "hsupa",
			"hspa" (HSDPA and HSUPA at the same time) and
			"lte"

		boolean Suspended [readonly, optional]

			Contains whether the GPRS service is suspended.
			During suspended state the modem is attached to the
			GPRS service and all contexts remain established,
			however, data transfer is not possible.

			The suspended state may be entered if the modem is
			temporarily out of network coverage. GPRS class B
			modems will suspend GPRS whenever a voice call is
			active at the same time. GPRS may also be suspended
			if the network does not support simultaneous packet
			data and voice. Various signalling procedures may
			also cause GPRS to be briefly suspended.

			As the suspension may be brief, clients should wait
			for an appropriate time for GPRS service to resume
			before taking corrective action.

		boolean RoamingAllowed [readwrite]

			Contains whether data roaming is allowed.  In the off
			setting, if the packet radio registration state
			indicates that the modem is roaming, oFono will
			automatically detach and no further connection
			establishment will be possible.

		boolean Powered [readwrite]

			Controls whether packet radio use is allowed. Setting
			this value to off detaches the modem from the
			Packet Domain network.

Connection Context hierarchy
=================

Service		org.ofono
Interface	org.ofono.ConnectionContext
Object path	[variable]

Methods		dict GetProperties()
			Returns all properties for the context object.

		void SetProperty(string property, variant value)

			Sets the property to a desired value

			Possible Errors: [service].Error.InvalidArguments
					 [service].Error.InvalidFormat
					 [service].Error.Failed
					 [service].Error.InProgress
					 [service].Error.NotAttached
					 [service].Error.AttachInProgress
					 [service].Error.NotImplemented

Signals		PropertyChanged(string property, variant value)

			This signal indicates a changed value of the given
			property.

Properties	boolean Active [readwrite]

			Holds whether the context is activated.  This value
			can be set to activate / deactivate the context.

		string AccessPointName [readwrite]

			Holds the name of the access point.  This is
			abbreviated as APN.  This value cannot be changed when
			the context is active.

		string Type [readwrite]

			Contains the intended usage type for this context.
			The currently supported values are:
				"internet" - General internet connectivity
				"mms" - Used by MMS related services
				"wap" - Used by WAP related services
				"ims" - Used by IMS related services
				"ia" - Used by IA related services

		string AuthenticationMethod [readwrite]
			Holds the PPP authentication method to use.  Valid
			values are "pap" and "chap".  Defaults to "chap".

		string Username [readwrite]

			Holds the username to be used for authentication
			purposes.  This value cannot be changed when the
			context is active.

		string Password [readwrite]

			Holds the password to be used for authentication
			purposes.  This value cannot be changed when the
			context is active.

		string Protocol [readwrite]

			Holds the protocol for this context.  Valid values
			are: "ip", "ipv6" and "dual".

		string Name [readwrite]

			The name is a free form string that describes this
			context.  The name should not be empty and limited
			to a short string for display purposes.

		boolean Preferred [readwrite]

			Holds a boolean.  This value is meant to be used by
			clients to store an indication on whether this context
			is preferred compared to others.  ofono just stores and
			shows this value, but does not use it internally. The
			exact way in which this is used depends on the clients.

		dict Settings [readonly, optional]

			Holds all the IP network settings

			string Interface [readonly, optional]

				Holds the interface of the network interface
				used by this context (e.g. "ppp0" "usb0")

			string Method [readonly, optional]

				Holds the IP network config method
					"static"- Set IP network statically
					"dhcp"  - Set IP network through DHCP

			string Address [readonly, optional]

				Holds the IP address for this context.

			string Netmask [readonly, optional]

				Holds the Netmask for this context.

			array{string} DomainNameServers [readonly, optional]

				Holds the list of domain name servers for this
				context.

			string Gateway [readonly, optional]

				Holds the gateway IP for this connection.

			string Proxy [readonly, MMS only]

				Holds the current proxy information for
				using this context.

				In combination with the Interface value
				this allows access to the services offered
				by this context.

				It is possible that this reflects just the
				MessageProxy property if such a routing can
				be set up.  However this can also be pointing
				to a local proxy on 127.0.0.1 and then using
				the loopback interace lo for it.

				Users of this context should bind to the
				provided interface and only attempt access
				via this proxy.  All other values are left
				out in this case.

		dict IPv6.Settings [readonly, optional]

			Holds all the IPv6 network settings

			string Interface [readonly, optional]

				Holds the interface of the network interface
				used by this context (e.g. "ppp0" "usb0")

			string Address [readonly, optional]

				Holds the IP address for this context.

			byte PrefixLength [readonly, optional]

				Holds the prefix length.

			array{string} DomainNameServers [readonly, optional]

				Holds the list of domain name servers for this
				context.

			string Gateway [readonly, optional]

				Holds the gateway IP for this connection.

		string MessageProxy [readwrite, MMS only]

			Holds the MMS Proxy setting.

		string MessageCenter [readwrite, MMS only]

			Holds the MMSC setting.
