vpn manager
===========

Service		net.connman.vpn
Interface	net.connman.vpn.Manager
Object path	/

Method		object Create(dict settings) [experimental]

			Create a new VPN connection and configuration using
			the supplied settings.

		void Remove(object vpn)  [experimental]

			Remove the previously created VPN configuration.

		array{object,dict} GetConnections()  [experimental]

			Returns a list of tuples with VPN connection object
			path and dictionary of their properties.

			Possible Errors: [manager].Error.InvalidArguments

		void RegisterAgent(object path)  [experimental]

			Register new agent for handling user requests.

			Possible Errors: [manager].Error.InvalidArguments

		void UnregisterAgent(object path)  [experimental]

			Unregister an existing agent.

			Possible Errors: [manager].Error.InvalidArguments

Signals		ConnectionAdded(object path, dict properties)  [experimental]

			Signal that is sent when a new VPN connection
			is added.

			It contains the object path of the VPN connection
			and also its properties.

		ConnectionRemoved(object path)  [experimental]

			Signal that is sent when a VPN connection
			has been removed.

			The object path is no longer accessible after this
			signal and only emitted for reference.
