X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=doc%2Fmanager-api.txt;h=3bd201df168856ac26fd20700b38edfef4b10b6e;hb=230905c20905f2bc5ccf4b8fab75c1b5df2ac31d;hp=0c4de41bd7ceb4f06f0a06213acc14e325f1eb99;hpb=b55e7165b179c3c97a372647ef0a889e4ef81675;p=framework%2Fconnectivity%2Fconnman.git diff --git a/doc/manager-api.txt b/doc/manager-api.txt index 0c4de41..3bd201d 100644 --- a/doc/manager-api.txt +++ b/doc/manager-api.txt @@ -1,59 +1,234 @@ Manager hierarchy -***************** +================= -Service name org.freedesktop.connman -Interface name org.freedesktop.connman.Manager +Service net.connman +Interface net.connman.Manager Object path / -Methods array{object} ListInterfaces() - string GetState() +Methods dict GetProperties() + + Returns all global system properties. See the + properties section for available properties. + + Possible Errors: [service].Error.InvalidArguments + + void SetProperty(string name, variant value) + + Changes the value of the specified property. Only + properties that are listed as read-write are + changeable. On success a PropertyChanged signal + will be emitted. + + Possible Errors: [service].Error.InvalidArguments + [service].Error.InvalidProperty + + array{object,dict} GetTechnologies() + + Returns a list of tuples with technology object + path and dictionary of technology properties. + + Possible Errors: [service].Error.InvalidArguments + + array{object,dict} GetServices() + + Returns a sorted list of tuples with service + object path and dictionary of service properties. + + This list will not contain sensitive information + like passphrases etc. + + Possible Errors: [service].Error.InvalidArguments + + object ConnectProvider(dict provider) + + Connect to a VPN specified by the given provider + properties. + + When successful this method will return the object + path of the VPN service object. + + This method can also be used to connect to an + already existing VPN. + + This method call will only return in case of an + error or when the service is fully connected. So + setting a longer D-Bus timeout might be a really + good idea. + + When 'SessionMode' property is enabled, this method + call is disallowed. + + Possible Errors: [service].Error.InvalidArguments + void RegisterAgent(object path) + + Register new agent for handling user requests. + + Possible Errors: [service].Error.InvalidArguments + void UnregisterAgent(object path) -Signals InterfaceAdded(object) - InterfaceRemoved(object) - StateChanged(string state) - - -Method: ListInferfaces -====================== -This method lists all available interfaces. The return value is an array of -object paths. Every attached network interface (eth0, wlan0 etc.) of the -system is presented by an object path with additional interfaces on it. The -main interface is org.freedesktop.connman.Interface. - -Method: GetState -================ -This method gets the overall master state of the Internet connection. Possible -return values are "offline" and "online". If at least one interface is -connected it will return "online". - -Method: RegisterAgent -===================== -This method allows the user interace to register an agent. There can be only -one agent registered at a time. The parameter of the method is the object -path the agent has been registered for the callback method. The agent has -to implement org.freedesktop.connman.Agent interface on this object path. - -Method: UnregisterAgent -======================= -This method unregisters a previously registered agent. In case the agent -application exits the core will automatically unregister the agent. However -for a clean agent application it is important to call the unregister method. - -Signal: InterfaceAdded -====================== -This signal is emitted every time a new interface has been found by the -core and successfully activated. The signal is also emitted on startup -or at anytime at runtime in case of hotplug devices. - -Signal: InterfaceRemoved -======================== -This signal is emitted every time an interface has been removed. This can -happen at any time in case of hotplug devices. When the system shuts down, -this signal is also emitted. - -Signal: StateChanged -==================== -This signal is emitted every time the master state changes. Possible values -are "offline" and "online" and reflect the state of the Internet connection. + Unregister an existing agent. + + Possible Errors: [service].Error.InvalidArguments + + void RegisterCounter(object path, uint32 accuracy, uint32 period) [experimental] + + Register a new counter for user notifications. + + The accuracy is specified in kilo-bytes and defines + a threshold for counter updates. Together with the + period value it defines how often user space needs + to be updated. The period value is in seconds. + + This interface is not meant for time tracking. If + the time needs to be tracked down to the second, it + is better to have a real timer running inside the + application than using this interface. + + Also getting notified for every kilo-byte is a bad + choice (even if the interface supports it). Something + like 10 kilo-byte units or better 1 mega-byte seems + to be a lot more reasonable and better for the user. + + Possible Errors: [service].Error.InvalidArguments + + void UnregisterCounter(object path) [experimental] + + Unregister an existing counter. + + Possible Errors: [service].Error.InvalidArguments + + object CreateSession(dict settings, object notifier) [experimental] + + Create a new session for the application. Every + application can create multiple session with + different settings. The settings are described + as part of the session interface. + + The notifier allows asynchronous notification about + session specific changes. These changes can be + for online/offline state or IP address changes or + similar things the application is required to + handle. + + Every application should at least create one session + to inform about its requirements and it purpose. + + void DestroySession(object session) [experimental] + + Remove the previously created session. + + If an application exits unexpectatly the session + will be automatically destroyed. + + object path, dict, fd RequestPrivateNetwork(dict options) + [experimental] + + Request a new Private Network, which includes the + creation of a tun/tap interface, and IP + configuration, NAT and IP forwarding on that + interface. + An object path, a dictionnary and a file descriptor + with IP settings are returned. + + Possible Errors: [service].Error.InvalidArguments + [service].Error.NotSupported + + void ReleasePrivateNetwork(object path) [experimental] + + Releases a private network. + + Possible Errors: [service].Error.InvalidArguments + +Signals TechnologyAdded(object path, dict properties) + + Signal that is sent when a new technology is added. + + It contains the object path of the technology and + also its properties. + + TechnologyRemoved(object path) + + Signal that is sent when a modem has been removed. + + The object path is no longer accessible after this + signal and only emitted for reference. + + ServicesChanged(array{object, dict}, array{object}) + + Signals a list of services that have been changed + via the first array. And a list of service that + have been removed via the second array. + + The list of added services is sorted. The dictionary + with the properties might be empty in case none of + the properties have changed. Or only contains the + properties that have changed. + + For newly added services the whole set of properties + will be present. + + The list of removed services can be empty. + + This signal will only be triggered when the sort + order of the service list or the number of services + changes. It will not be emitted if only a property + of the service object changes. For that it is + required to watch the PropertyChanged signal of + the service object. + + PropertyChanged(string name, variant value) + + This signal indicates a changed value of the given + property. + +Properties string State [readonly] + + The global connection state of a system. Possible + values are "offline", "idle", "ready" and "online". + + If the device is in offline mode, the value "offline" + indicates this special global state. It can also be + retrieved via the OfflineMode property, but is kept + here for consistency and to differentiate from "idle". + + However when OfflineMode property is true, the State + property can still be "idle", "ready" or "online" + since it is possible by the end user to re-enable + individual technologies like WiFi and Bluetooth while + in offline mode. + + The states "idle", "ready" and "online" match to + states from the services. If no service is in + either "ready" or "online" state it will indicate + the "idle" state. + + If at least one service is in "ready" state and no + service is in "online" state, then it will indicate + the "ready" state. + + When at least one service is in "online" state, + this property will indicate "online" as well. + + boolean OfflineMode [readwrite] + + The offline mode indicates the global setting for + switching all radios on or off. Changing offline mode + to true results in powering down all devices. When + leaving offline mode the individual policy of each + device decides to switch the radio back on or not. + + During offline mode, it is still possible to switch + certain technologies manually back on. For example + the limited usage of WiFi or Bluetooth devices might + be allowed in some situations. + + boolean SessionMode [readwrite] [experminental] + + This disables the auto connect feature. It should be + enabled when the Session API is used. When SessionMode + is enabled, 'ConnectService' and 'ConnectProvider' + method calls are disallowed. + + The default value is false.