blob: 3ce8db4438380fbfa2d9afdd0e30b8c4494b238f [file] [log] [blame]
Paul Stewarta4e618b2012-04-25 16:21:22 -07001Manager hierarchy
2=================
3
4Service org.chromium.flimflam
5Interface org.chromium.flimflam.Manager
6Object path /
7
8Methods dict GetProperties()
9
10 Return the global system properties specified
11 in the Properties section.
12
13 void SetProperty(string name, variant value)
14
15 Changes the value of the specified property. Only
16 properties that are listed as read-write are
17 changeable. On success a PropertyChanged signal
18 will be emitted.
19
20 Possible Errors: [service].Error.InvalidArguments
21 [service].Error.InvalidProperty
22
23 string GetState()
24
25 Return the connection state of a system. The
26 same value is return via the State property.
27
28 object CreateProfile(string name)
29
30 Create and add new profile with the specified
31 identifier name. The name should either be in the
32 form ``name'' or ``~user/name'' where where ``user''
33 is the login name of a user suitable for finding
34 their home directory. Both strings must contain
35 only alpha-numeric ASCII characters.
36
37 Profiles created without a user name are stored in
38 a system directory readable only by the connection
39 mananger. Profiles created with a user name are
40 stored in the user's home directory but readable
41 only by the connection manager.
42
43 If any existing profile is specified its contents
44 are reset to a default (minimal) contents. If the
45 profile is already registered with a CreateProfile
46 or PushProfile request then an error is returned.
47
48 Possible Errors: [service].Error.InvalidArguments
49 [service].Error.AlreadyExists
50
51 object PushProfile(string name)
52
53 Push the profile with the specified identifier
54 onto the profile stack. The profile must have
55 previously been created with CreateProfile.
56 The profile becomes the ``active profile'' that
57 is searched first when loading data and to which
58 updates are stored.
59
60 A profile may be pushed only once.
61
62 Possible Errors: [service].Error.InvalidArguments
63 [service].Error.AlreadyExists
64
65 object PopProfile(string name)
66
67 Pop the top-most profile on the profile stack.
68 Any profile beneath this profile becomes the
69 ``active profile''. Any services using configuration
70 from the popped profile are disconnected and the
71 credentials invalidated (the next time
72 credentials are needed they are loaded from the
73 (new) active profile).
74
75 The name must match the identifer of the active
76 profile. This is a safeguard against accidentally
77 removing the wrong profile.
78
79 Note it is valid to pop all profiles from the
80 stack; in this state the connection manager does
81 not write any state to persistent storage.
82
83 Possible Errors: [service].Error.InvalidArguments
84 [service].Error.NotFound
85
86 object PopAnyProfile()
87
88 Like PopProfile but do not check the profile on
89 the top of the stack; pop anything.
90
91 Possible Errors: [service].Error.InvalidArguments
92
93 void RemoveProfile(string name)
94
95 Remove the profile with specified identifier.
96
97 The profile may not be resident on the stack.
98 The default profile may not be removed.
99
100 Possible Errors: [service].Error.InvalidArguments
101 [service].Error.AlreadyExists
102
103 void RequestScan(string type)
104
105 Request a scan for the specified technology. If
106 type is the string "" then a scan request is
107 made for each technology.
108
109 Possible Errors: [service].Error.InvalidArguments
110
111 void EnableTechnology(string type)
112
113 Enable all technologies of the specified type.
114
115 Possible Errors: [service].Error.InvalidArguments
116 [service].Error.InProgress
117 [service].Error.AlreadyEnabled
118
119 void DisableTechnology(string type)
120
121 Disable all technologies of the specified type.
122
123 Possible Errors: [service].Error.InvalidArguments
124 [service].Error.InProgress
125 [service].Error.AlreadyDisabled
126
127 void ConfigureService(dict properties)
128
129 Update the configuration of a service in memory
130 and in the profile. If no service exists in
131 memory it is temporarily created to carry out
132 this work and then removed after saving its
133 configuration to the profle.
134
135 If a GUID property is specified in properties
136 it is used to find the service; otherwise Type,
137 Security, and type-specific properties such as
138 WiFi.SSID are used to find any existing service.
139 If no service is located in memory a new one is
140 created with the supplied properties.
141
142 All provided parameters are applied to the in
143 memory service regardless of errors. But if an
144 error occurs while setting a property and the
145 service object was created as a result of this
146 call it is removed. In the event of multiple
147 errors the first error code is returned by
148 this call.
149
150 See the Service Properties section for a list of
151 properties and constraints on property values.
152 See also GetService.
153
154 Possible Errors: [service].Error.InvalidArguments
155 [service].Error.NotSupported
156
157 object GetService(dict properties)
158
159 Return the object path of a service after
160 applying any requested configuration changes.
161 If no service exists it is created.
162
163 If a GUID property is specified in properties
164 it is used to find the service; otherwise Type,
165 Security, and type-specific properties such as
166 WiFi.SSID are used to find any existing service.
167 If no service is located in memory a new one is
168 created with the supplied properties.
169
170 All provided parameters are applied to the service
171 regardless of errors. But if an error occurs
172 while setting a property and the service was
173 created as a result of this call it is removed.
174 In the event of multiple errors the first error
175 code is returned by this call.
176
177 See the Service Properties section for a list of
178 properties and constraints on property values.
179 See also ConfigureService.
180
181 Possible Errors: [service].Error.InvalidArguments
182 [service].Error.NotSupported
183 [service].Error.PermissionDenied
184 [service].Error.InternalError
185 [service].Error.InvalidNetworkName
186 [service].Error.InvalidPassphrase
187
188 object GetVPNService(dict properties) --DEPRECATED--
189
190 Like GetService, but only for "vpn" services and
191 without using the GUID property to lookup a service.
192
193 Possible Errors: [service].Error.InvalidArguments
194 [service].Error.NotSupported
195 [service].Error.PermissionDenied
196 [service].Error.InternalError
197
198 object GetWifiService(dict properties) --DEPRECATED--
199
200 Like GetService, but only for "wifi" services and
201 without using the GUID property to lookup a service.
202
203 Possible Errors: [service].Error.InvalidArguments
204 [service].Error.NotSupported
205 [service].Error.PermissionDenied
206 [service].Error.InternalError
207 [service].Error.InvalidNetworkName
208 [service].Error.InvalidPassphrase
209
210 void SetDebugTags(string taglist)
211
212 Set the debug tags that are enabled for logging to
213 syslog. "taglist" is a list of valid tag names
214 separated by "+". Shill silently ignores
215 invalid flags.
216
217 string GetDebugTags()
218 Get the list of enabled debug tags. The list is
219 represented as a string of tag names separated
220 by "+".
221
222 string ListDebugTags()
223 Get the list of all debug tags that can be enabled.
224 The list is represented as a string of tag names
225 separated by "+".
226
227 string GetServiceOrder()
228
229 Return a ','-separated string listing known technologies
230 in priority ordering.
231
232 For example, the default ordering would be returned as:
233 "ethernet,bluetooth,wifi,wimax,cellular"
234
235 void SetServiceOrder(string mask)
236
237 Set the technology priority based on a provided
238 ','-separated list of technologies, sorted from highest
239 priority to lowest.
240
241 The list may contain the following services:
242 { ethernet, wifi, wimax, bluetooth, cellular }
243 Technologies not included are assigned the lowest
244 priority.
245
246 Technology priority changes occur immediately.
247
248 Possible Errors: [service].Error.InvalidArguments
249
250 void RecheckPortal()
251
252 Retest the portal state of the active service
253 if a check is not currently in progress. This
254 will only have an effect if the active service
255 is currently in the portal state.
256
257
258Signals PropertyChanged(string name, variant value)
259
260 This signal indicates a changed value of the given
261 property.
262
263 StateChanged(string state)
264
265 This signal is similar to the PropertyChanged signal
266 for the State property.
267
268 It exists for application state only care about the
269 current state and so can avoid to be woken up when
270 other details changes.
271
272Properties object ActiveProfile [readwrite]
273
274 Object path of the current active profile.
275
Paul Stewartd408fdf2012-05-07 17:15:57 -0700276 boolean ArpGateway [readwrite]
277
278 Specifies whether the DHCP client should be
279 configured to perform the extra step of performing
280 an ARP of the gateway IP address. This provides
281 a level of assurance that the issued IP address is
282 valid and not blocked in some manner unknown by the
283 DHCP server.
284
Paul Stewarta4e618b2012-04-25 16:21:22 -0700285 array{string} AvailableTechnologies [readonly]
286
287 The list of available technologies. The strings
288 are the same as the ones from the service types.
289
290 string CheckPortalList [readwrite]
291
292 The list of technologies for which captive portal
293 checking is enabled. This is a comma-separated
294 string; e.g. "wifi,wimax,vpn".
295
296 array{string} ConnectedTechnologies [readonly]
297
298 The list of connected technologies. The strings
299 are the same as the ones from the service type.
300
301 string Country [readwrite]
302
303 The ISO 3166 country code. This may not be defined;
304 it is defined if manually set or if it is discovered
305 through a service such as WiFi, Celluar, or GPS.
306
307 string DefaultTechnology [readonly]
308
309 The current connected technology which holds the
310 default route.
311
312 array{object} Devices [readonly]
313
314 List of device object paths.
315
316 array{string} EnabledTechnologies [readonly]
317
318 The list of enabled technologies. The strings
319 are the same as the ones from the service types.
320
321 string HostName [readwrite]
322
323 The hostname to be reported in DHCP requests.
324 Some DHCP servers may register a DNS entry on
325 behalf of this hostname; others may just make
326 available a table for administrators to tell
327 what machines are on their network.
328
329 The default for this name is empty, which
330 means that the system will not report a hostname.
331
332 boolean OfflineMode [readwrite]
333
334 The offline mode indicates the global setting for
335 switching all radios on or off. Changing offline mode
336 to true results in powering down all devices. When
337 leaving offline mode the individual policy of each
338 device decides to switch the radio back on or not.
339
340 During offline mode, it is still possible to switch
341 certain technologies manually back on. For example
342 the limited usage of WiFi or Bluetooth devices might
343 be allowed in some situations.
344
345 string PortalURL [readwrite]
346
347 The URL to use when doing captive portal checking.
348 When a service reaches the "ready" state and
349 captive portal checking is enabled for it; an
350 HTTP GET of this URL is done. If this fails
351 with a 204 error then the service is moved
352 to the "online" state. Otherwise the service
353 is assumed to be not online and marked in a
354 "portal" state. Note that this check may fail
355 for multiple reasons that are indicated in the
356 Error property of the service.
357
358 int32 PortalCheckInterval [readwrite]
359
360 The interval in seconds between re-checking a
361 service in the portal state.
362
363 array{object} Profiles [readonly]
364
365 List of profile object paths.
366
367 array{object} Services [readonly]
368
369 List of service object paths. The list is sorted
370 internally to have the service with the default
371 route always first and then the favorite services
372 followed by scan results.
373
374 This list represents the available services for the
375 current selected profile. If the profile gets changed
376 then this list will be updated.
377
378 The same list is available via the profile object
379 itself. It is just provided here for convenience of
380 applications only dealing with the current active
381 profile.
382
383 array{object} ServiceWatchList [readonly]
384
385 List of service object paths that are in a
386 'non-idle' state. This indicates the set of services
387 which are currently listed as associating, configuring,
388 or some other state other than idle. This allows a
389 caller to use this property indication to track which
390 services should be monitored for state changes.
391
392 In particular, services in error states like "failure"
393 and "disconnect" are in the watchlist.
394
395 The services are listed in the same service sorting
396 order as the "Services" property above, but this
397 property is not considered "changed" if the ordering
398 changes.
399
400 Changes to this list are batched up for small periods
401 of time, so that batches of changes are collected
402 into a single message containing the final state, and
403 ephemeral changes where the list returns to the
404 previous state are filtered out.
405
406 Note: Currently shill reports the entire service
407 list, unfiltered.
408
409 string State [readonly]
410
411 The global connection state of a system. Possible
412 values are "online" if at least one connection exists
413 and "offline" if no device is connected.