|
| 1 | +extern crate core_foundation; |
1 | 2 | extern crate system_configuration;
|
2 | 3 |
|
| 4 | +use core_foundation::base::kCFAllocatorDefault; |
| 5 | + |
3 | 6 | use system_configuration::dynamic_store::SCDynamicStoreBuilder;
|
4 | 7 | use system_configuration::network_configuration::{global_router, SCNetworkInterface,
|
5 | 8 | SCNetworkService};
|
| 9 | +use system_configuration::preferences::SCPreferences; |
6 | 10 |
|
7 | 11 | // This example will output network-global-service, network-global-interface, network-global-router,
|
8 | 12 | // network-service-order-list, network-services and network-interfaces to stdout.
|
9 | 13 |
|
10 | 14 | fn main() {
|
11 |
| - let store = SCDynamicStoreBuilder::new("session_name").build(); |
| 15 | + let session_name = "session_name"; |
| 16 | + let prefs = SCPreferences::new(unsafe { kCFAllocatorDefault }, session_name, None); |
| 17 | + let store = SCDynamicStoreBuilder::new(session_name).build(); |
12 | 18 |
|
13 |
| - let service = SCNetworkService::global(&store).unwrap(); |
| 19 | + let service = SCNetworkService::global(&prefs, &store).unwrap(); |
14 | 20 | println!("Global Service:\n{:?}\n", service);
|
15 | 21 | println!("Global Interface:\n{:?}\n", service.interface());
|
16 | 22 | println!("Global Service Router:\n{:?}\n", global_router(&store));
|
17 | 23 |
|
18 | 24 | println!("\n-listnetworkserviceorder:");
|
19 |
| - for service in SCNetworkService::list_order() { |
| 25 | + for service in SCNetworkService::list_order(&prefs) { |
20 | 26 | println!("{:?}", service);
|
21 | 27 | }
|
22 | 28 |
|
23 | 29 | println!("\n-listallnetworkservices:");
|
24 |
| - for service in SCNetworkService::list() { |
| 30 | + for service in SCNetworkService::list(&prefs) { |
25 | 31 | println!("{:?}", service);
|
26 | 32 | }
|
27 | 33 |
|
|
0 commit comments