8 _elements_print(E_Connman_Element **elements, int count)
11 for (i = 0; i < count; i++)
13 printf("--- element %d:\n", i);
14 e_connman_element_print(stdout, elements[i]);
17 printf("END: all elements count = %d\n", count);
21 _on_element_add(void *data, int type, void *info)
23 E_Connman_Element *element = info;
24 printf(">>> %s\n", element->path);
29 _on_element_del(void *data, int type, void *info)
31 E_Connman_Element *element = info;
32 printf("<<< %s\n", element->path);
37 _on_element_updated(void *data, int type, void *info)
39 E_Connman_Element *element = info;
40 printf("!!! %s\n", element->path);
41 e_connman_element_print(stderr, element);
46 _on_cmd_quit(char *cmd, char *args)
48 fputs("Bye!\n", stderr);
49 ecore_main_loop_quit();
54 _on_cmd_sync(char *cmd, char *args)
56 e_connman_manager_sync_elements();
78 _on_cmd_get_all(char *cmd, char *args)
80 E_Connman_Element **elements;
91 ret = e_connman_elements_get_all_type(type, &count, &elements);
93 ret = e_connman_elements_get_all(&count, &elements);
96 fputs("ERROR: could not get elements\n", stderr);
99 printf("BEG: all elements type=%s count = %d\n", type, count);
100 _elements_print(elements, count);
106 static E_Connman_Element *
107 _element_from_args(char *args, char **next_args)
109 E_Connman_Element *element;
113 fputs("ERROR: missing element path\n", stderr);
118 *next_args = _tok(args);
119 element = e_connman_element_get(args);
121 fprintf(stderr, "ERROR: no element called \"%s\".\n", args);
127 _on_cmd_print(char *cmd, char *args)
130 E_Connman_Element *element = _element_from_args(args, &next_args);
132 e_connman_element_print(stdout, element);
137 _on_cmd_get_properties(char *cmd, char *args)
140 E_Connman_Element *element = _element_from_args(args, &next_args);
142 e_connman_element_properties_sync(element);
147 _on_cmd_property_set(char *cmd, char *args)
149 char *next_args, *name, *p;
150 E_Connman_Element *element = _element_from_args(args, &next_args);
162 fputs("ERROR: missing parameters name, type and value.\n", stderr);
170 fputs("ERROR: missing parameters type and value.\n", stderr);
177 fputs("ERROR: missing parameter value.\n", stderr);
184 case DBUS_TYPE_BOOLEAN:
185 vlong = !!atol(next_args);
186 value = (void *)vlong;
187 fprintf(stderr, "DBG: boolean is: %ld\n", vlong);
189 case DBUS_TYPE_UINT16:
190 vu16 = strtol(next_args, &p, 0);
193 fprintf(stderr, "ERROR: invalid number \"%s\".\n", next_args);
197 fprintf(stderr, "DBG: u16 is: %hu\n", vu16);
199 case DBUS_TYPE_UINT32:
200 vu32 = strtol(next_args, &p, 0);
203 fprintf(stderr, "ERROR: invalid number \"%s\".\n", next_args);
207 fprintf(stderr, "DBG: u16 is: %u\n", vu32);
209 case DBUS_TYPE_STRING:
210 case DBUS_TYPE_OBJECT_PATH:
211 p = next_args + strlen(next_args);
214 while (p > next_args && isspace(*p))
218 fprintf(stderr, "ERROR: invalid string \"%s\".\n", next_args);
222 fprintf(stderr, "DBG: string is: \"%s\"\n", next_args);
225 fprintf(stderr, "ERROR: don't know how to parse type '%c' (%d)\n",
230 fprintf(stderr, "set_property %s [%p] %s %c %p...\n",
231 args, element, name, type, value);
232 if (!e_connman_element_property_set(element, name, type, value))
234 fputs("ERROR: error setting property.\n", stderr);
241 /* Manager Commands */
244 _on_cmd_manager_get(char *cmd, char *args)
246 E_Connman_Element *element;
247 element = e_connman_manager_get();
248 e_connman_element_print(stderr, element);
253 _on_cmd_manager_get_profiles(char *cmd, char *args)
256 E_Connman_Element **profiles;
258 if (!e_connman_manager_profiles_get(&count, &profiles))
260 fputs("ERROR: can't get profiles\n", stderr);
263 printf("BEG: all manager profiles elements count = %d\n", count);
264 _elements_print(profiles, count);
269 _on_cmd_manager_get_devices(char *cmd, char *args)
272 E_Connman_Element **devices;
274 if (!e_connman_manager_devices_get(&count, &devices))
276 fputs("ERROR: can't get devices\n", stderr);
279 printf("BEG: all manager devices elements count = %d\n", count);
280 _elements_print(devices, count);
285 _on_cmd_manager_get_services(char *cmd, char *args)
288 E_Connman_Element **services;
290 if (!e_connman_manager_services_get(&count, &services))
292 fputs("ERROR: can't get services\n", stderr);
295 printf("BEG: all manager services elements count = %d\n", count);
296 _elements_print(services, count);
301 _on_cmd_manager_register_agent(char *cmd, char *args)
307 fputs("ERROR: missing the object path\n", stderr);
312 if (e_connman_manager_agent_register(path, NULL, NULL))
313 printf(":::Registering agent %s...\n", path);
315 fprintf(stderr, "ERROR: can't register agent %s\n", path);
321 _on_cmd_manager_unregister_agent(char *cmd, char *args)
327 fputs("ERROR: missing the object path\n", stderr);
332 if (e_connman_manager_agent_unregister(path, NULL, NULL))
333 printf(":::Unregistering agent %s...\n", path);
335 fprintf(stderr, "ERROR: can't unregister agent %s\n", path);
341 _on_cmd_manager_get_state(char *cmd, char *args)
344 if (e_connman_manager_state_get(&state))
345 printf(":::Manager state = \"%s\"\n", state);
347 fputs("ERROR: can't get manager state\n", stderr);
352 _on_cmd_manager_get_offline_mode(char *cmd, char *args)
355 if (e_connman_manager_offline_mode_get(&offline))
356 printf(":::Manager Offline Mode = %hhu\n", offline);
358 fputs("ERROR: can't get manager offline mode\n", stderr);
363 _on_cmd_manager_set_offline_mode(char *cmd, char *args)
368 fputs("ERROR: missing the offline mode value\n", stderr);
372 offline = !!atol(args);
373 if (e_connman_manager_offline_mode_set(offline, NULL, NULL))
374 printf(":::Manager Offline Mode set to %hhu\n", offline);
376 fputs("ERROR: can't set manager offline mode\n", stderr);
380 /* Device Commands */
382 _on_cmd_device_propose_scan(char *cmd, char *args)
385 E_Connman_Element *e;
389 fputs("ERROR: missing the device path\n", stderr);
395 e = e_connman_device_get(path);
396 if (e_connman_device_propose_scan(e, NULL, NULL))
397 printf(":::Proposing scan %s...\n", path);
399 fputs("ERROR: can't propose scan\n", stderr);
404 _on_cmd_device_get_address(char *cmd, char *args)
406 const char *address, *path;
407 E_Connman_Element *e;
411 fputs("ERROR: missing the device path\n", stderr);
417 e = e_connman_device_get(path);
418 if (e_connman_device_address_get(e, &address))
419 printf(":::Device %s Address = \"%s\"\n", path, address);
421 fputs("ERROR: can't get device address\n", stderr);
426 _on_cmd_device_get_name(char *cmd, char *args)
428 const char *name, *path;
429 E_Connman_Element *e;
433 fputs("ERROR: missing the device path\n", stderr);
439 e = e_connman_device_get(path);
440 if (e_connman_device_name_get(e, &name))
441 printf(":::Device %s Name = \"%s\"\n", path, name);
443 fputs("ERROR: can't get device name\n", stderr);
448 _on_cmd_device_get_type(char *cmd, char *args)
450 const char *type, *path;
451 E_Connman_Element *e;
455 fputs("ERROR: missing the device path\n", stderr);
461 e = e_connman_device_get(path);
462 if (e_connman_device_type_get(e, &type))
463 printf(":::Device %s Type = \"%s\"\n", path, type);
465 fputs("ERROR: can't get device type\n", stderr);
470 _on_cmd_device_get_interface(char *cmd, char *args)
472 const char *interface, *path;
473 E_Connman_Element *e;
477 fputs("ERROR: missing the device path\n", stderr);
483 e = e_connman_device_get(path);
484 if (e_connman_device_interface_get(e, &interface))
485 printf(":::Device %s Interface = \"%s\"\n", path, interface);
487 fputs("ERROR: can't get device interface\n", stderr);
492 _on_cmd_device_get_powered(char *cmd, char *args)
496 E_Connman_Element *e;
500 fputs("ERROR: missing the device path\n", stderr);
506 e = e_connman_device_get(path);
507 if (e_connman_device_powered_get(e, &powered))
508 printf(":::Device %s Powered = %hhu\n", path, powered);
510 fputs("ERROR: can't get device powered\n", stderr);
515 _on_cmd_device_set_powered(char *cmd, char *args)
517 char *device_path, *next_args;
519 E_Connman_Element *e;
523 fputs("ERROR: missing the device path\n", stderr);
527 next_args = _tok(args);
530 fputs("ERROR: missing the powered value\n", stderr);
533 powered = !!atol(next_args);
535 e = e_connman_device_get(device_path);
536 if (e_connman_device_powered_set(e, powered, NULL, NULL))
537 printf(":::Device %s powered set to %hhu\n", device_path, powered);
539 fputs("ERROR: can't set device powered\n", stderr);
544 _on_cmd_device_get_scan_interval(char *cmd, char *args)
547 unsigned short scan_interval;
548 E_Connman_Element *e;
552 fputs("ERROR: missing the device path\n", stderr);
558 e = e_connman_device_get(path);
559 if (e_connman_device_scan_interval_get(e, &scan_interval))
560 printf(":::Device %s ScanInterval = %hu\n", path, scan_interval);
562 fputs("ERROR: can't get device scan interval\n", stderr);
567 _on_cmd_device_set_scan_interval(char *cmd, char *args)
569 char *device_path, *next_args, *p;
570 unsigned short scan_interval;
571 E_Connman_Element *e;
575 fputs("ERROR: missing the device path\n", stderr);
579 next_args = _tok(args);
582 fputs("ERROR: missing the scan interval value\n", stderr);
585 scan_interval = strtol(next_args, &p, 0);
588 fprintf(stderr, "ERROR: invalid number \"%s\".\n", next_args);
592 e = e_connman_device_get(device_path);
593 if (e_connman_device_scan_interval_set(e, scan_interval, NULL, NULL))
594 printf(":::Device %s scan interval set to %hu\n", device_path, scan_interval);
596 fputs("ERROR: can't set device scan interval\n", stderr);
601 _on_cmd_device_get_scanning(char *cmd, char *args)
605 E_Connman_Element *e;
609 fputs("ERROR: missing the device path\n", stderr);
615 e = e_connman_device_get(path);
616 if (e_connman_device_scanning_get(e, &scanning))
617 printf(":::Device %s Scanning = %hhu\n", path, scanning);
619 fputs("ERROR: can't get device scanning\n", stderr);
624 _on_cmd_device_get_networks(char *cmd, char *args)
626 E_Connman_Element **networks;
629 E_Connman_Element *e;
633 fputs("ERROR: missing the device path\n", stderr);
639 e = e_connman_device_get(path);
640 if (!e_connman_device_networks_get(e, &count, &networks))
642 fputs("ERROR: can't get networks\n", stderr);
646 printf("BEG: all device network elements count = %d\n", count);
647 _elements_print(networks, count);
651 /* Profile Commands */
654 _on_cmd_profile_get_name(char *cmd, char *args)
656 const char *name, *path;
657 E_Connman_Element *e;
661 fputs("ERROR: missing the profile path\n", stderr);
667 e = e_connman_profile_get(path);
668 if (e_connman_profile_name_get(e, &name))
669 printf(":::Profile %s Name = \"%s\"\n", path, name);
671 fputs("ERROR: can't get profile name\n", stderr);
676 _on_cmd_profile_get_offline_mode(char *cmd, char *args)
680 E_Connman_Element *e;
684 fputs("ERROR: missing the profile path\n", stderr);
690 e = e_connman_profile_get(path);
691 if (e_connman_profile_offline_mode_get(e, &offline))
692 printf(":::Profile %s Offline Mode = %hhu\n", path, offline);
694 fputs("ERROR: can't get profile offline mode\n", stderr);
699 _on_cmd_profile_set_offline_mode(char *cmd, char *args)
701 char *path, *next_args;
703 E_Connman_Element *e;
707 fputs("ERROR: missing the profile path\n", stderr);
711 next_args = _tok(args);
714 fputs("ERROR: missing the offline mode value\n", stderr);
718 offline = !!atol(next_args);
720 e = e_connman_profile_get(path);
721 if (e_connman_profile_offline_mode_set(e, offline, NULL, NULL))
722 printf(":::Profile %s Offline Mode set to %hhu\n", path, offline);
724 fputs("ERROR: can't set profile offline mode\n", stderr);
729 _on_cmd_profile_get_services(char *cmd, char *args)
731 E_Connman_Element **services;
732 E_Connman_Element *e;
738 fputs("ERROR: missing the profile path\n", stderr);
744 e = e_connman_profile_get(path);
745 if (!e_connman_profile_services_get(e, &count, &services))
747 fputs("ERROR: can't get services\n", stderr);
750 printf("BEG: all profile services count = %d\n", count);
751 _elements_print(services, count);
756 /* Network Commands */
759 _on_cmd_network_get_address(char *cmd, char *args)
761 const char *address, *path;
762 E_Connman_Element *e;
766 fputs("ERROR: missing the network path\n", stderr);
772 e = e_connman_network_get(path);
773 if (e_connman_network_address_get(e, &address))
774 printf(":::Network %s Address = \"%s\"\n", path, address);
776 fputs("ERROR: can't get network address\n", stderr);
781 _on_cmd_network_get_name(char *cmd, char *args)
783 const char *name, *path;
784 E_Connman_Element *e;
788 fputs("ERROR: missing the network path\n", stderr);
794 e = e_connman_network_get(path);
795 if (e_connman_network_name_get(e, &name))
796 printf(":::Network %s Name = \"%s\"\n", path, name);
798 fputs("ERROR: can't get network name\n", stderr);
803 _on_cmd_network_get_connected(char *cmd, char *args)
807 E_Connman_Element *e;
811 fputs("ERROR: missing the network path\n", stderr);
817 e = e_connman_network_get(path);
818 if (e_connman_network_connected_get(e, &connected))
819 printf(":::Network %s Connected = %hhu\n", path, connected);
821 fputs("ERROR: can't get network connected\n", stderr);
826 _on_cmd_network_get_strength(char *cmd, char *args)
829 unsigned char strength;
830 E_Connman_Element *e;
834 fputs("ERROR: missing the network path\n", stderr);
840 e = e_connman_network_get(path);
841 if (e_connman_network_strength_get(e, &strength))
842 printf(":::Network %s Strength = %#02hhx (%d)\n", path, strength, strength);
844 fputs("ERROR: can't get network strength\n", stderr);
849 _on_cmd_network_get_frequency(char *cmd, char *args)
852 unsigned short frequency;
853 E_Connman_Element *e;
857 fputs("ERROR: missing the network path\n", stderr);
863 e = e_connman_network_get(path);
864 if (e_connman_network_frequency_get(e, &frequency))
865 printf(":::Network %s Frequency = %#04hx (%d)\n", path, frequency, frequency);
867 fputs("ERROR: can't get network frequency\n", stderr);
872 _on_cmd_network_get_device(char *cmd, char *args)
874 E_Connman_Element *e, *device;
879 fputs("ERROR: missing the network path\n", stderr);
885 e = e_connman_network_get(path);
886 if (!e_connman_network_device_get(e, &device))
887 fputs("ERROR: can't get network device\n", stderr);
889 e_connman_element_print(stderr, device);
894 _on_cmd_network_get_wifi_ssid(char *cmd, char *args)
896 unsigned char *bytes;
898 unsigned int i, count;
899 E_Connman_Element *e;
903 fputs("ERROR: missing the network path\n", stderr);
909 e = e_connman_network_get(path);
910 if (e_connman_network_wifi_ssid_get(e, &count, &bytes))
912 printf(":::Network %s Wifi SSID = ", path);
913 for (i = 0; i < count; i++)
914 printf("%#02hhx (\"%c\"), ", bytes[i], bytes[i]);
918 fputs("ERROR: can't get network wifi ssid\n", stderr);
923 _on_cmd_network_get_wifi_mode(char *cmd, char *args)
925 const char *wifi_mode, *path;
926 E_Connman_Element *e;
930 fputs("ERROR: missing the network path\n", stderr);
936 e = e_connman_network_get(path);
937 if (e_connman_network_wifi_mode_get(e, &wifi_mode))
938 printf(":::Network %s Wifi Mode = \"%s\"\n", path, wifi_mode);
940 fputs("ERROR: can't get network wifi mode\n", stderr);
945 _on_cmd_network_get_wifi_security(char *cmd, char *args)
947 const char *wifi_security, *path;
948 E_Connman_Element *e;
952 fputs("ERROR: missing the network path\n", stderr);
958 e = e_connman_network_get(path);
959 if (e_connman_network_wifi_security_get(e, &wifi_security))
960 printf(":::Network %s Wifi Security = \"%s\"\n", path, wifi_security);
962 fputs("ERROR: can't get network wifi security\n", stderr);
967 _on_cmd_network_get_wifi_passphrase(char *cmd, char *args)
969 const char *wifi_passphrase, *path;
970 E_Connman_Element *e;
974 fputs("ERROR: missing the network path\n", stderr);
980 e = e_connman_network_get(path);
981 if (e_connman_network_wifi_passphrase_get(e, &wifi_passphrase))
982 printf(":::Network %s Wifi Passphrase = \"%s\"\n", path, wifi_passphrase);
984 fputs("ERROR: can't get network wifi passphrase\n", stderr);
989 _on_cmd_network_get_wifi_channel(char *cmd, char *args)
992 E_Connman_Element *e;
993 unsigned short wifi_channel;
997 fputs("ERROR: missing the network path\n", stderr);
1003 e = e_connman_network_get(path);
1004 if (e_connman_network_wifi_channel_get(e, &wifi_channel))
1005 printf(":::Network %s Wifi Channel = %#02hx (%d)\n", path, wifi_channel, wifi_channel);
1007 fputs("ERROR: can't get network wifi channel\n", stderr);
1012 _on_cmd_network_get_wifi_eap(char *cmd, char *args)
1014 const char *wifi_eap, *path;
1015 E_Connman_Element *e;
1019 fputs("ERROR: missing the network path\n", stderr);
1025 e = e_connman_network_get(path);
1026 if (e_connman_network_wifi_eap_get(e, &wifi_eap))
1027 printf(":::Network %s Wifi EAP = \"%s\"\n", path, wifi_eap);
1029 fputs("ERROR: can't get network wifi eap\n", stderr);
1033 /* Services Commands */
1035 _on_cmd_service_connect(char *cmd, char *args)
1038 E_Connman_Element *e;
1042 fputs("ERROR: missing the service path\n", stderr);
1048 e = e_connman_service_get(path);
1049 if (e_connman_service_connect(e, NULL, NULL))
1050 printf(":::Connecting to Service %s...\n", path);
1052 fputs("ERROR: can't connect to service\n", stderr);
1057 _on_cmd_service_disconnect(char *cmd, char *args)
1060 E_Connman_Element *e;
1064 fputs("ERROR: missing the service path\n", stderr);
1070 e = e_connman_service_get(path);
1071 if (e_connman_service_disconnect(e, NULL, NULL))
1072 printf(":::Disconnecting Service %s...\n", path);
1074 fputs("ERROR: can't disconnect service\n", stderr);
1079 _on_cmd_service_remove(char *cmd, char *args)
1082 E_Connman_Element *e;
1086 fputs("ERROR: missing the service path\n", stderr);
1092 e = e_connman_service_get(path);
1093 if (e_connman_service_remove(e, NULL, NULL))
1094 printf(":::Removing Service %s...\n", path);
1096 fputs("ERROR: can't remove service\n", stderr);
1101 _on_cmd_service_move_before(char *cmd, char *args)
1103 char *path, *service_path;
1104 E_Connman_Element *e;
1108 fputs("ERROR: missing the service path\n", stderr);
1111 service_path = args;
1116 fputs("ERROR: missing the object service\n", stderr);
1121 e = e_connman_service_get(service_path);
1122 if (e_connman_service_move_before(e, path, NULL, NULL))
1123 printf(":::Moving before %s...\n", path);
1125 fputs("ERROR: can't move before\n", stderr);
1130 _on_cmd_service_move_after(char *cmd, char *args)
1132 char *path, *service_path;
1133 E_Connman_Element *e;
1137 fputs("ERROR: missing the service path\n", stderr);
1140 service_path = args;
1145 fputs("ERROR: missing the object service\n", stderr);
1150 e = e_connman_service_get(service_path);
1151 if (e_connman_service_move_after(e, path, NULL, NULL))
1152 printf(":::Moving after %s...\n", path);
1154 fputs("ERROR: can't move after\n", stderr);
1159 _on_cmd_service_get_state(char *cmd, char *args)
1161 const char *state, *path;
1162 E_Connman_Element *e;
1166 fputs("ERROR: missing the service path\n", stderr);
1172 e = e_connman_service_get(path);
1173 if (e_connman_service_state_get(e, &state))
1174 printf(":::Service %s State = \"%s\"\n", path, state);
1176 fputs("ERROR: can't get service state\n", stderr);
1181 _on_cmd_service_get_error(char *cmd, char *args)
1183 const char *error, *path;
1184 E_Connman_Element *e;
1188 fputs("ERROR: missing the service path\n", stderr);
1194 e = e_connman_service_get(path);
1195 if (e_connman_service_error_get(e, &error))
1196 printf(":::Service %s Error = \"%s\"\n", path, error);
1198 fputs("ERROR: can't get service error\n", stderr);
1203 _on_cmd_service_get_name(char *cmd, char *args)
1205 const char *name, *path;
1206 E_Connman_Element *e;
1210 fputs("ERROR: missing the service path\n", stderr);
1216 e = e_connman_service_get(path);
1217 if (e_connman_service_name_get(e, &name))
1218 printf(":::Service %s Name = \"%s\"\n", path, name);
1220 fputs("ERROR: can't get service name\n", stderr);
1225 _on_cmd_service_get_type(char *cmd, char *args)
1227 const char *type, *path;
1228 E_Connman_Element *e;
1232 fputs("ERROR: missing the service path\n", stderr);
1238 e = e_connman_service_get(path);
1239 if (e_connman_service_type_get(e, &type))
1240 printf(":::Service %s Type = \"%s\"\n", path, type);
1242 fputs("ERROR: can't get service type\n", stderr);
1247 _on_cmd_service_get_mode(char *cmd, char *args)
1249 const char *mode, *path;
1250 E_Connman_Element *e;
1254 fputs("ERROR: missing the service path\n", stderr);
1260 e = e_connman_service_get(path);
1261 if (e_connman_service_mode_get(e, &mode))
1262 printf(":::Service %s Mode = \"%s\"\n", path, mode);
1264 fputs("ERROR: can't get service mode\n", stderr);
1269 _on_cmd_service_get_security(char *cmd, char *args)
1271 const char *security, *path;
1272 E_Connman_Element *e;
1276 fputs("ERROR: missing the service path\n", stderr);
1282 e = e_connman_service_get(path);
1283 if (e_connman_service_security_get(e, &security))
1284 printf(":::Service %s Security = \"%s\"\n", path, security);
1286 fputs("ERROR: can't get service security\n", stderr);
1291 _on_cmd_service_get_passphrase(char *cmd, char *args)
1293 const char *passphrase, *path;
1294 E_Connman_Element *e;
1298 fputs("ERROR: missing the service path\n", stderr);
1304 e = e_connman_service_get(path);
1305 if (e_connman_service_passphrase_get(e, &passphrase))
1306 printf(":::Service %s Passphrase = \"%s\"\n", path, passphrase);
1308 fputs("ERROR: can't get service passphrase\n", stderr);
1313 _on_cmd_service_set_passphrase(char *cmd, char *args)
1315 char *passphrase, *path;
1316 E_Connman_Element *e;
1320 fputs("ERROR: missing the service path\n", stderr);
1324 passphrase = _tok(args);
1328 fputs("ERROR: missing the passphrase value\n", stderr);
1333 e = e_connman_service_get(path);
1334 if (e_connman_service_passphrase_set(e, passphrase, NULL, NULL))
1335 printf(":::Service %s passphrase set to \"%s\"\n", path, passphrase);
1337 fputs("ERROR: can't set service passphrase\n", stderr);
1342 _on_cmd_service_get_passphrase_required(char *cmd, char *args)
1346 E_Connman_Element *e;
1350 fputs("ERROR: missing the service path\n", stderr);
1356 e = e_connman_service_get(path);
1357 if (e_connman_service_passphrase_required_get(e, &passphrase))
1358 printf(":::Service %s Passphrase Required = %hhu\n", path, passphrase);
1360 fputs("ERROR: can't get service passphrase required\n", stderr);
1365 _on_cmd_service_get_strength(char *cmd, char *args)
1368 unsigned char strength;
1369 E_Connman_Element *e;
1373 fputs("ERROR: missing the service path\n", stderr);
1379 e = e_connman_service_get(path);
1380 if (e_connman_service_strength_get(e, &strength))
1381 printf(":::Service %s Strength = %#02hhx (%d)\n", path, strength, strength);
1383 fputs("ERROR: can't get service strength\n", stderr);
1388 _on_cmd_service_get_favorite(char *cmd, char *args)
1392 E_Connman_Element *e;
1396 fputs("ERROR: missing the service path\n", stderr);
1402 e = e_connman_service_get(path);
1403 if (e_connman_service_favorite_get(e, &favorite))
1404 printf(":::Service %s Favorite = %hhu\n", path, favorite);
1406 fputs("ERROR: can't get service favorite\n", stderr);
1411 _on_cmd_service_get_immutable(char *cmd, char *args)
1415 E_Connman_Element *e;
1419 fputs("ERROR: missing the service path\n", stderr);
1425 e = e_connman_service_get(path);
1426 if (e_connman_service_immutable_get(e, &immutable))
1427 printf(":::Service %s Immutable = %hhu\n", path, immutable);
1429 fputs("ERROR: can't get service immutable\n", stderr);
1434 _on_cmd_service_get_auto_connect(char *cmd, char *args)
1438 E_Connman_Element *e;
1442 fputs("ERROR: missing the service path\n", stderr);
1448 e = e_connman_service_get(path);
1449 if (e_connman_service_auto_connect_get(e, &auto_connect))
1450 printf(":::Service %s Auto Connect = %hhu\n", path, auto_connect);
1452 fputs("ERROR: can't get service auto connect\n", stderr);
1457 _on_cmd_service_set_auto_connect(char *cmd, char *args)
1459 char *path, *next_args;
1461 E_Connman_Element *e;
1465 fputs("ERROR: missing the service path\n", stderr);
1469 next_args = _tok(args);
1473 fputs("ERROR: missing the auto connect value\n", stderr);
1477 auto_connect = !!atol(next_args);
1479 e = e_connman_service_get(path);
1480 if (e_connman_service_auto_connect_set(e, auto_connect, NULL, NULL))
1481 printf(":::Service %s auto connect set to %d\n", path, auto_connect);
1483 fputs("ERROR: can't set service auto connect\n", stderr);
1488 _on_cmd_service_get_setup_required(char *cmd, char *args)
1491 bool setup_required;
1492 E_Connman_Element *e;
1496 fputs("ERROR: missing the service path\n", stderr);
1502 e = e_connman_service_get(path);
1503 if (e_connman_service_setup_required_get(e, &setup_required))
1504 printf(":::Service %s Setup Required = %hhu\n", path, setup_required);
1506 fputs("ERROR: can't get service setup required\n", stderr);
1511 _on_cmd_service_get_apn(char *cmd, char *args)
1513 const char *apn, *path;
1514 E_Connman_Element *e;
1518 fputs("ERROR: missing the service path\n", stderr);
1524 e = e_connman_service_get(path);
1525 if (e_connman_service_apn_get(e, &apn))
1526 printf(":::Service %s APN = \"%s\"\n", path, apn);
1528 fputs("ERROR: can't get service APN\n", stderr);
1533 _on_cmd_service_set_apn(char *cmd, char *args)
1536 E_Connman_Element *e;
1540 fputs("ERROR: missing the service path\n", stderr);
1548 fputs("ERROR: missing the apn value\n", stderr);
1553 e = e_connman_service_get(path);
1554 if (e_connman_service_apn_set(e, apn, NULL, NULL))
1555 printf(":::Service %s APN set to \"%s\"\n", path, apn);
1557 fputs("ERROR: can't set service APN\n", stderr);
1562 _on_cmd_service_get_mcc(char *cmd, char *args)
1564 const char *mcc, *path;
1565 E_Connman_Element *e;
1569 fputs("ERROR: missing the service path\n", stderr);
1575 e = e_connman_service_get(path);
1576 if (e_connman_service_mcc_get(e, &mcc))
1577 printf(":::Service %s MCC = \"%s\"\n", path, mcc);
1579 fputs("ERROR: can't get service MCC\n", stderr);
1584 _on_cmd_service_get_mnc(char *cmd, char *args)
1586 const char *mnc, *path;
1587 E_Connman_Element *e;
1591 fputs("ERROR: missing the service path\n", stderr);
1597 e = e_connman_service_get(path);
1598 if (e_connman_service_mnc_get(e, &mnc))
1599 printf(":::Service %s MNC = \"%s\"\n", path, mnc);
1601 fputs("ERROR: can't get service MNC\n", stderr);
1606 _on_cmd_service_get_roaming(char *cmd, char *args)
1610 E_Connman_Element *e;
1614 fputs("ERROR: missing the service path\n", stderr);
1620 e = e_connman_service_get(path);
1621 if (e_connman_service_roaming_get(e, &roaming))
1622 printf(":::Service %s Roaming = %hhu\n", path, roaming);
1624 fputs("ERROR: can't get service roaming\n", stderr);
1629 _on_cmd_service_get_ipv4_method(char *cmd, char *args)
1631 const char *ipv4_method, *path;
1632 E_Connman_Element *e;
1636 fputs("ERROR: missing the service path\n", stderr);
1642 e = e_connman_service_get(path);
1643 if (e_connman_service_ipv4_method_get(e, &ipv4_method))
1644 printf(":::Service %s ipv4 method = \"%s\"\n", path, ipv4_method);
1646 fputs("ERROR: can't get service ipv4 method\n", stderr);
1651 _on_cmd_service_get_ipv4_address(char *cmd, char *args)
1653 const char *ipv4_address, *path;
1654 E_Connman_Element *e;
1658 fputs("ERROR: missing the service path\n", stderr);
1664 e = e_connman_service_get(path);
1665 if (e_connman_service_ipv4_address_get(e, &ipv4_address))
1666 printf(":::Service %s ipv4 address = \"%s\"\n", path, ipv4_address);
1668 fputs("ERROR: can't get service ipv4 address\n", stderr);
1674 _on_input(void *data, Ecore_Fd_Handler *fd_handler)
1680 int (*cb)(char *cmd, char *args);
1682 {"quit", _on_cmd_quit},
1683 {"sync", _on_cmd_sync},
1684 {"get_all", _on_cmd_get_all},
1685 {"print", _on_cmd_print},
1686 {"get_properties", _on_cmd_get_properties},
1687 {"set_property", _on_cmd_property_set},
1688 {"manager_get", _on_cmd_manager_get},
1689 {"manager_get_profiles", _on_cmd_manager_get_profiles},
1690 {"manager_get_devices", _on_cmd_manager_get_devices},
1691 {"manager_get_services", _on_cmd_manager_get_services},
1692 {"manager_register_agent", _on_cmd_manager_register_agent},
1693 {"manager_unregister_agent", _on_cmd_manager_unregister_agent},
1694 {"manager_get_state", _on_cmd_manager_get_state},
1695 {"manager_get_offline_mode", _on_cmd_manager_get_offline_mode},
1696 {"manager_set_offline_mode", _on_cmd_manager_set_offline_mode},
1697 {"device_propose_scan", _on_cmd_device_propose_scan},
1698 {"device_get_address", _on_cmd_device_get_address},
1699 {"device_get_name", _on_cmd_device_get_name},
1700 {"device_get_type", _on_cmd_device_get_type},
1701 {"device_get_interface", _on_cmd_device_get_interface},
1702 {"device_get_powered", _on_cmd_device_get_powered},
1703 {"device_set_powered", _on_cmd_device_set_powered},
1704 {"device_get_scan_interval", _on_cmd_device_get_scan_interval},
1705 {"device_set_scan_interval", _on_cmd_device_set_scan_interval},
1706 {"device_get_scanning", _on_cmd_device_get_scanning},
1707 {"device_get_networks", _on_cmd_device_get_networks},
1708 {"profile_get_name", _on_cmd_profile_get_name},
1709 {"profile_get_offline_mode", _on_cmd_profile_get_offline_mode},
1710 {"profile_set_offline_mode", _on_cmd_profile_set_offline_mode},
1711 {"profile_get_services", _on_cmd_profile_get_services},
1712 {"network_get_address", _on_cmd_network_get_address},
1713 {"network_get_name", _on_cmd_network_get_name},
1714 {"network_get_connected", _on_cmd_network_get_connected},
1715 {"network_get_strength", _on_cmd_network_get_strength},
1716 {"network_get_frequency", _on_cmd_network_get_frequency},
1717 {"network_get_device", _on_cmd_network_get_device},
1718 {"network_get_wifi_ssid", _on_cmd_network_get_wifi_ssid},
1719 {"network_get_wifi_mode", _on_cmd_network_get_wifi_mode},
1720 {"network_get_wifi_security", _on_cmd_network_get_wifi_security},
1721 {"network_get_wifi_passphrase", _on_cmd_network_get_wifi_passphrase},
1722 {"network_get_wifi_channel", _on_cmd_network_get_wifi_channel},
1723 {"network_get_wifi_eap", _on_cmd_network_get_wifi_eap},
1724 {"service_connect", _on_cmd_service_connect},
1725 {"service_disconnect", _on_cmd_service_disconnect},
1726 {"service_remove", _on_cmd_service_remove},
1727 {"service_move_before", _on_cmd_service_move_before},
1728 {"service_move_after", _on_cmd_service_move_after},
1729 {"service_get_state", _on_cmd_service_get_state},
1730 {"service_get_error", _on_cmd_service_get_error},
1731 {"service_get_name", _on_cmd_service_get_name},
1732 {"service_get_type", _on_cmd_service_get_type},
1733 {"service_get_mode", _on_cmd_service_get_mode},
1734 {"service_get_security", _on_cmd_service_get_security},
1735 {"service_get_passphrase", _on_cmd_service_get_passphrase},
1736 {"service_set_passphrase", _on_cmd_service_set_passphrase},
1737 {"service_get_passphrase_required", _on_cmd_service_get_passphrase_required},
1738 {"service_get_strength", _on_cmd_service_get_strength},
1739 {"service_get_favorite", _on_cmd_service_get_favorite},
1740 {"service_get_immutable", _on_cmd_service_get_immutable},
1741 {"service_get_auto_connect", _on_cmd_service_get_auto_connect},
1742 {"service_set_auto_connect", _on_cmd_service_set_auto_connect},
1743 {"service_get_setup_required", _on_cmd_service_get_setup_required},
1744 {"service_get_apn", _on_cmd_service_get_apn},
1745 {"service_set_apn", _on_cmd_service_set_apn},
1746 {"service_get_mcc", _on_cmd_service_get_mcc},
1747 {"service_get_mnc", _on_cmd_service_get_mnc},
1748 {"service_get_roaming", _on_cmd_service_get_roaming},
1749 {"service_get_ipv4_method", _on_cmd_service_get_ipv4_method},
1750 {"service_get_ipv4_address", _on_cmd_service_get_ipv4_address},
1755 if (ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_ERROR))
1757 fputs("ERROR: reading from stdin, exit\n", stderr);
1761 if (!ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_READ))
1763 fputs("ERROR: nothing to read?\n", stderr);
1767 if (!fgets(buf, sizeof(buf), stdin))
1769 fprintf(stderr, "ERROR: could not read command: %s\n", strerror(errno));
1770 ecore_main_loop_quit();
1775 while (isspace(*cmd))
1778 args = strchr(cmd, ' ');
1786 while (isspace(*args))
1789 p = args + strlen(args) - 1;
1797 p = cmd + strlen(cmd) - 1;
1802 if (strcmp(cmd, "help") == 0)
1806 printf("Commands with '%s' in the name:\n", args);
1807 for (itr = maps; itr->cmd != NULL; itr++)
1808 if (strstr(itr->cmd, args))
1809 printf("\t%s\n", itr->cmd);
1813 fputs("Commands:\n", stdout);
1814 for (itr = maps; itr->cmd != NULL; itr++)
1815 printf("\t%s\n", itr->cmd);
1817 fputc('\n', stdout);
1821 for (itr = maps; itr->cmd != NULL; itr++)
1822 if (strcmp(itr->cmd, cmd) == 0)
1823 return itr->cb(cmd, args);
1825 printf("unknown command \"%s\", args=%s\n", cmd, args);
1830 main(int argc, char *argv[])
1832 E_DBus_Connection *c;
1838 c = e_dbus_bus_get(DBUS_BUS_SYSTEM);
1840 printf("ERROR: can't connect to system session\n");
1844 e_connman_system_init(c);
1845 ecore_event_handler_add(E_CONNMAN_EVENT_ELEMENT_ADD, _on_element_add, NULL);
1846 ecore_event_handler_add(E_CONNMAN_EVENT_ELEMENT_DEL, _on_element_del, NULL);
1847 ecore_event_handler_add(E_CONNMAN_EVENT_ELEMENT_UPDATED,
1848 _on_element_updated, NULL);
1850 ecore_main_fd_handler_add
1851 (0, ECORE_FD_READ | ECORE_FD_ERROR, _on_input, NULL, NULL, NULL);
1853 ecore_main_loop_begin();
1855 e_connman_system_shutdown();
1857 e_dbus_connection_close(c);
1862 fputs("DBG: clean exit.\n", stderr);