manager: Remove the Create/RemoveProfile D-Bus API
[framework/connectivity/connman.git] / doc / manager-api.txt
1 Manager hierarchy
2 =================
3
4 Service         net.connman
5 Interface       net.connman.Manager
6 Object path     /
7
8 Methods         dict GetProperties()
9
10                         Returns all global system properties. See the
11                         properties section for available properties.
12
13                         Possible Errors: [service].Error.InvalidArguments
14
15                 void SetProperty(string name, variant value)
16
17                         Changes the value of the specified property. Only
18                         properties that are listed as read-write are
19                         changeable. On success a PropertyChanged signal
20                         will be emitted.
21
22                         Possible Errors: [service].Error.InvalidArguments
23                                          [service].Error.InvalidProperty
24
25                 string GetState()
26
27                         Return global connection state of a system. The
28                         same value is return via the State property.
29
30                         Possible Errors: [service].Error.InvalidArguments
31
32                 void RequestScan(string type)
33
34                         Request to trigger a scan for the specified
35                         technology. The empty string "" triggers scanning
36                         on all technologies.
37
38                         Possible Errors: [service].Error.InvalidArguments
39
40                 void EnableTechnology(string type)
41
42                         Enable specified type of technologies.
43
44                         Possible Errors: [service].Error.InvalidArguments
45
46                 void DisableTechnology(string type)
47
48                         Disable specified type of technologies.
49
50                         Possible Errors: [service].Error.InvalidArguments
51
52                 array{object,dict} GetServices()
53
54                         Returns a sorted list of tuples with service
55                         object path and dictionary of service properties.
56
57                         This list will not contain sensitive information
58                         like passphrases etc.
59
60                         Possible Errors: [service].Error.InvalidArguments
61
62                 object LookupService(string pattern)
63
64                         Lookup a service matching the specific pattern.
65
66                         Examples are interface names like "eth0", "wlan0"
67                         etc. or service names like "hotspot" etc.
68
69                         In case of multiple services match the the pattern
70                         an error is returned.
71
72                         Possible Errors: [service].Error.InvalidArguments
73                                          [service].Error.NotUnique
74                                          [service].Error.NotFound
75
76                 object ConnectService(dict network)
77
78                         Connect to a network specified by the given
79                         properties.
80
81                         For connecting to a hidden WiFi network for example
82                         it is required that Type = "wifi" and the SSID
83                         properties are provided.
84
85                         When successful this method will return object
86                         path of the service object.
87
88                         This method can also be used to connect to an
89                         already existing service. It works exactly the
90                         same as executing the Connect method from the
91                         service interface.
92
93                         This method call will only return in case of an
94                         error or when the service is fully connected. So
95                         setting a longer D-Bus timeout might be a really
96                         good idea.
97
98                         Possible Errors: [service].Error.InvalidArguments
99
100                 object ConnectProvider(dict provider)
101
102                         Connect to a VPN specified by the given provider
103                         properties.
104
105                         When successful this method will return the object
106                         path of the VPN service object.
107
108                         This method can also be used to connect to an
109                         already existing VPN.
110
111                         This method call will only return in case of an
112                         error or when the service is fully connected. So
113                         setting a longer D-Bus timeout might be a really
114                         good idea.
115
116                         Possible Errors: [service].Error.InvalidArguments
117
118                 void RegisterAgent(object path)
119
120                         Register new agent for handling user requests.
121
122                         Possible Errors: [service].Error.InvalidArguments
123
124                 void UnregisterAgent(object path)
125
126                         Unregister an existing agent.
127
128                         Possible Errors: [service].Error.InvalidArguments
129
130                 void RegisterCounter(object path, uint32 accuracy, uint32 period)
131
132                         Register a new counter for user notifications.
133
134                         The accuracy is specified in kilo-bytes and defines
135                         a threshold for counter updates. Together with the
136                         period value it defines how often user space needs
137                         to be updated. The period value is in seconds.
138
139                         This interface is not meant for time tracking. If
140                         the time needs to be tracked down to the second, it
141                         is better to have a real timer running inside the
142                         application than using this interface.
143
144                         Also getting notified for every kilo-byte is a bad
145                         choice (even if the interface supports it). Something
146                         like 10 kilo-byte units or better 1 mega-byte seems
147                         to be a lot more reasonable and better for the user.
148
149                         Possible Errors: [service].Error.InvalidArguments
150
151                 void UnregisterCounter(object path)
152
153                         Unregister an existing counter.
154
155                         Possible Errors: [service].Error.InvalidArguments
156
157                 object CreateSession(dict settings, object notifier)
158
159                         Create a new session for the application. Every
160                         application can create multiple session with
161                         different settings. The settings are described
162                         as part of the session interface.
163
164                         The notifier allows asynchronous notification about
165                         session specific changes. These changes can be
166                         for online/offline state or IP address changes or
167                         similar things the application is required to
168                         handle.
169
170                         Every application should at least create one session
171                         to inform about its requirements and it purpose.
172
173                 void DestroySession(object session)
174
175                         Remove the previously created session. The notifier
176                         will be informed via its release method.
177
178                         If an application exits unexpectatly the session
179                         will be automatically destroyed.
180
181                 StateChanged(string state)
182
183                         This signal is similar to the PropertyChanged signal
184                         for the State property.
185
186                         It exists for application state only care about the
187                         current state and so can avoid to be woken up when
188                         other details changes.
189
190 Properties      string State [readonly]
191
192                         The global connection state of a system. Possible
193                         values are "online" if at least one connection exists
194                         and "offline" if no device is connected.
195
196                         In certain situations the state might change to
197                         the value "connected". This can only be seen if
198                         previously no connection was present.
199
200                 array{string} AvailableTechnologies [readonly]
201
202                         The list of available technologies. The strings
203                         are the same as the ones from the service types.
204
205                 array{string} EnabledTechnologies [readonly]
206
207                         The list of enabled technologies. The strings
208                         are the same as the ones from the service types.
209
210                 array{string} ConnectedTechnologies [readonly]
211
212                         The list of connected technologies. The strings
213                         are the same as the ones from the service type.
214
215                 string DefaultTechnology [readonly]
216
217                         The current connected technology which holds the
218                         default route.
219
220                 boolean OfflineMode [readwrite]
221
222                         The offline mode indicates the global setting for
223                         switching all radios on or off. Changing offline mode
224                         to true results in powering down all devices. When
225                         leaving offline mode the individual policy of each
226                         device decides to switch the radio back on or not.
227
228                         During offline mode, it is still possible to switch
229                         certain technologies manually back on. For example
230                         the limited usage of WiFi or Bluetooth devices might
231                         be allowed in some situations.
232
233                 object ActiveProfile [readwrite]
234
235                         Object path of the current active profile.
236
237                 array{object} Technologies [readonly]
238
239                         List of technology object paths.
240
241                 array{object} Services [readonly]
242
243                         List of service object paths. The list is sorted
244                         internally to have the service with the default
245                         route always first and then the favorite services
246                         followed by scan results.
247
248                         This list represents the available services for the
249                         current selected profile. If the profile gets changed
250                         then this list will be updated.
251
252                         The same list is available via the profile object
253                         itself. It is just provided here for convenience of
254                         applications only dealing with the current active
255                         profile.
256
257                 boolean SessionMode [readwrite]
258
259                         This disables the auto connect feature. It should be
260                         enabled when the Session API is used.
261
262                         The default value is false.