8 _method_success_check(void *data, DBusMessage *msg, DBusError *error)
10 const char *name = data;
12 if ((!error) || (!dbus_error_is_set(error)))
14 printf("SUCCESS: method %s() finished successfully.\n", name);
18 printf("FAILURE: method %s() finished with error: %s %s\n",
19 name, error->name, error->message);
20 dbus_error_free(error);
24 _elements_print(E_Connman_Element **elements, unsigned int count)
27 for (i = 0; i < count; i++)
29 printf("--- element %d:\n", i);
30 e_connman_element_print(stdout, elements[i]);
33 printf("END: all elements count = %u\n", count);
37 _strings_print(const char **strings, unsigned int count)
40 for (i = 0; i < count; i++)
41 printf("--- strings %d: \"%s\"\n", i, strings[i]);
43 printf("END: all strings count = %u\n", count);
47 _on_element_add(void *data, int type, void *info)
49 E_Connman_Element *element = info;
50 printf(">>> %s\n", element->path);
55 _on_element_del(void *data, int type, void *info)
57 E_Connman_Element *element = info;
58 printf("<<< %s\n", element->path);
63 _on_element_updated(void *data, int type, void *info)
65 E_Connman_Element *element = info;
66 printf("!!! %s\n", element->path);
67 e_connman_element_print(stderr, element);
72 _on_cmd_quit(char *cmd, char *args)
74 fputs("Bye!\n", stderr);
75 ecore_main_loop_quit();
80 _on_cmd_sync(char *cmd, char *args)
82 e_connman_manager_sync_elements();
104 _on_cmd_get_all(char *cmd, char *args)
106 E_Connman_Element **elements;
117 ret = e_connman_elements_get_all_type(type, &count, &elements);
119 ret = e_connman_elements_get_all(&count, &elements);
122 fputs("ERROR: could not get elements\n", stderr);
125 printf("BEG: all elements type=%s count = %d\n", type, count);
126 _elements_print(elements, count);
132 static E_Connman_Element *
133 _element_from_args(char *args, char **next_args)
135 E_Connman_Element *element;
139 fputs("ERROR: missing element path\n", stderr);
144 *next_args = _tok(args);
145 element = e_connman_element_get(args);
147 fprintf(stderr, "ERROR: no element called \"%s\".\n", args);
153 _on_cmd_print(char *cmd, char *args)
156 E_Connman_Element *element = _element_from_args(args, &next_args);
158 e_connman_element_print(stdout, element);
163 _on_cmd_get_properties(char *cmd, char *args)
166 E_Connman_Element *element = _element_from_args(args, &next_args);
168 e_connman_element_properties_sync(element);
173 _on_cmd_property_set(char *cmd, char *args)
175 char *next_args, *name, *p;
176 E_Connman_Element *element = _element_from_args(args, &next_args);
188 fputs("ERROR: missing parameters name, type and value.\n", stderr);
196 fputs("ERROR: missing parameters type and value.\n", stderr);
203 fputs("ERROR: missing parameter value.\n", stderr);
210 case DBUS_TYPE_BOOLEAN:
211 vlong = !!atol(next_args);
213 fprintf(stderr, "DBG: boolean is: %ld\n", vlong);
215 case DBUS_TYPE_UINT16:
216 vu16 = strtol(next_args, &p, 0);
219 fprintf(stderr, "ERROR: invalid number \"%s\".\n", next_args);
223 fprintf(stderr, "DBG: u16 is: %hu\n", vu16);
225 case DBUS_TYPE_UINT32:
226 vu32 = strtol(next_args, &p, 0);
229 fprintf(stderr, "ERROR: invalid number \"%s\".\n", next_args);
233 fprintf(stderr, "DBG: u16 is: %u\n", vu32);
235 case DBUS_TYPE_STRING:
236 case DBUS_TYPE_OBJECT_PATH:
237 p = next_args + strlen(next_args);
240 while (p > next_args && isspace(*p))
244 fprintf(stderr, "ERROR: invalid string \"%s\".\n", next_args);
248 fprintf(stderr, "DBG: string is: \"%s\"\n", next_args);
251 fprintf(stderr, "ERROR: don't know how to parse type '%c' (%d)\n",
256 fprintf(stderr, "set_property %s [%p] %s %c %p...\n",
257 args, element, name, type, value);
258 if (!e_connman_element_property_set(element, name, type, value))
259 fputs("ERROR: error setting property.\n", stderr);
265 /* Manager Commands */
268 _on_cmd_manager_get(char *cmd, char *args)
270 E_Connman_Element *element;
271 element = e_connman_manager_get();
272 e_connman_element_print(stderr, element);
277 _on_cmd_manager_get_profiles(char *cmd, char *args)
280 E_Connman_Element **profiles;
282 if (!e_connman_manager_profiles_get(&count, &profiles))
284 fputs("ERROR: can't get profiles\n", stderr);
287 printf("BEG: all manager profiles elements count = %d\n", count);
288 _elements_print(profiles, count);
293 _on_cmd_manager_get_services(char *cmd, char *args)
296 E_Connman_Element **services;
298 if (!e_connman_manager_services_get(&count, &services))
300 fputs("ERROR: can't get services\n", stderr);
303 printf("BEG: all manager services elements count = %d\n", count);
304 _elements_print(services, count);
309 _on_cmd_manager_register_agent(char *cmd, char *args)
315 fputs("ERROR: missing the object path\n", stderr);
320 if (e_connman_manager_agent_register
321 (path, _method_success_check, "manager_register_agent"))
322 printf(":::Registering agent %s...\n", path);
324 fprintf(stderr, "ERROR: can't register agent %s\n", path);
330 _on_cmd_manager_unregister_agent(char *cmd, char *args)
336 fputs("ERROR: missing the object path\n", stderr);
341 if (e_connman_manager_agent_unregister
342 (path, _method_success_check, "manager_unregister_agent"))
343 printf(":::Unregistering agent %s...\n", path);
345 fprintf(stderr, "ERROR: can't unregister agent %s\n", path);
351 _on_cmd_manager_get_state(char *cmd, char *args)
354 if (e_connman_manager_state_get(&state))
355 printf(":::Manager state = \"%s\"\n", state);
357 fputs("ERROR: can't get manager state\n", stderr);
362 _on_cmd_manager_get_offline_mode(char *cmd, char *args)
365 if (e_connman_manager_offline_mode_get(&offline))
366 printf(":::Manager Offline Mode = %hhu\n", offline);
368 fputs("ERROR: can't get manager offline mode\n", stderr);
373 _on_cmd_manager_set_offline_mode(char *cmd, char *args)
378 fputs("ERROR: missing the offline mode value\n", stderr);
382 offline = !!atol(args);
383 if (e_connman_manager_offline_mode_set
384 (offline, _method_success_check, "manager_set_offline_mode"))
386 printf(":::Manager Offline Mode set to %hhu\n", offline);
388 fputs("ERROR: can't set manager offline mode\n", stderr);
393 _on_cmd_manager_request_scan(char *cmd, char *args)
401 if (e_connman_manager_request_scan
402 (args, _method_success_check, "manager_request_scan"))
403 printf(":::Manager Request Scan for %s\n", args[0] ? args : "<all>");
405 fputs("ERROR: can't request scan on manager\n", stderr);
410 _on_cmd_manager_technology_enable(char *cmd, char *args)
414 fputs("ERROR: missing the technology type\n", stderr);
419 if (e_connman_manager_technology_enable
420 (args, _method_success_check, "manager_technology_enable"))
421 printf(":::Manager Enable Technology %s\n", args);
423 fputs("ERROR: can't enable technology on manager\n", stderr);
428 _on_cmd_manager_technology_disable(char *cmd, char *args)
432 fputs("ERROR: missing the technology type\n", stderr);
437 if (e_connman_manager_technology_disable
438 (args, _method_success_check, "manager_technology_disable"))
439 printf(":::Manager Disable Technology %s\n", args);
441 fputs("ERROR: can't disable technology on manager\n", stderr);
446 _on_cmd_manager_get_technologies_available(char *cmd, char *args)
448 const char **strings;
451 if (!e_connman_manager_technologies_available_get(&count, &strings))
452 fputs("ERROR: can't get available technologies\n", stderr);
455 printf("BEG: available technologies count = %u\n", count);
456 _strings_print(strings, count);
463 _on_cmd_manager_get_technologies_enabled(char *cmd, char *args)
465 const char **strings;
468 if (!e_connman_manager_technologies_enabled_get(&count, &strings))
469 fputs("ERROR: can't get enabled technologies\n", stderr);
472 printf("BEG: enabled technologies count = %u\n", count);
473 _strings_print(strings, count);
480 _on_cmd_manager_get_technologies_connected(char *cmd, char *args)
482 const char **strings;
485 if (!e_connman_manager_technologies_connected_get(&count, &strings))
486 fputs("ERROR: can't get connected technologies\n", stderr);
489 printf("BEG: connected technologies count = %u\n", count);
490 _strings_print(strings, count);
497 _on_cmd_manager_profile_remove(char *cmd, char *args)
499 E_Connman_Element *e;
503 fputs("ERROR: missing the profile path\n", stderr);
508 e = e_connman_profile_get(args);
509 if (e_connman_manager_profile_remove
510 (e, _method_success_check, "manager_profile_remove"))
511 printf(":::Manager Remove Profile %s\n", args);
513 fputs("ERROR: can't remove profile from manager\n", stderr);
518 _on_cmd_manager_profile_get_active(char *cmd, char *args)
520 E_Connman_Element *e;
522 if (!e_connman_manager_profile_active_get(&e))
523 fputs("ERROR: can't active_get profile from manager\n", stderr);
525 e_connman_element_print(stderr, e);
530 _on_cmd_manager_profile_set_active(char *cmd, char *args)
532 E_Connman_Element *e;
536 fputs("ERROR: missing the profile path\n", stderr);
541 e = e_connman_profile_get(args);
542 if (e_connman_manager_profile_active_set
543 (e, _method_success_check, "manager_profile_set_active"))
544 printf(":::Manager Active Profile set to %s\n", args);
546 fputs("ERROR: can't set active profile\n", stderr);
550 /* Device Commands */
552 _on_cmd_device_propose_scan(char *cmd, char *args)
555 E_Connman_Element *e;
559 fputs("ERROR: missing the device path\n", stderr);
565 e = e_connman_device_get(path);
566 if (e_connman_device_propose_scan
567 (e, _method_success_check, "device_propose_scan"))
568 printf(":::Proposing scan %s...\n", path);
570 fputs("ERROR: can't propose scan\n", stderr);
575 _on_cmd_device_get_address(char *cmd, char *args)
577 const char *address, *path;
578 E_Connman_Element *e;
582 fputs("ERROR: missing the device path\n", stderr);
588 e = e_connman_device_get(path);
589 if (e_connman_device_address_get(e, &address))
590 printf(":::Device %s Address = \"%s\"\n", path, address);
592 fputs("ERROR: can't get device address\n", stderr);
597 _on_cmd_device_get_name(char *cmd, char *args)
599 const char *name, *path;
600 E_Connman_Element *e;
604 fputs("ERROR: missing the device path\n", stderr);
610 e = e_connman_device_get(path);
611 if (e_connman_device_name_get(e, &name))
612 printf(":::Device %s Name = \"%s\"\n", path, name);
614 fputs("ERROR: can't get device name\n", stderr);
619 _on_cmd_device_get_type(char *cmd, char *args)
621 const char *type, *path;
622 E_Connman_Element *e;
626 fputs("ERROR: missing the device path\n", stderr);
632 e = e_connman_device_get(path);
633 if (e_connman_device_type_get(e, &type))
634 printf(":::Device %s Type = \"%s\"\n", path, type);
636 fputs("ERROR: can't get device type\n", stderr);
641 _on_cmd_device_get_interface(char *cmd, char *args)
643 const char *interface, *path;
644 E_Connman_Element *e;
648 fputs("ERROR: missing the device path\n", stderr);
654 e = e_connman_device_get(path);
655 if (e_connman_device_interface_get(e, &interface))
656 printf(":::Device %s Interface = \"%s\"\n", path, interface);
658 fputs("ERROR: can't get device interface\n", stderr);
663 _on_cmd_device_get_powered(char *cmd, char *args)
667 E_Connman_Element *e;
671 fputs("ERROR: missing the device path\n", stderr);
677 e = e_connman_device_get(path);
678 if (e_connman_device_powered_get(e, &powered))
679 printf(":::Device %s Powered = %hhu\n", path, powered);
681 fputs("ERROR: can't get device powered\n", stderr);
686 _on_cmd_device_set_powered(char *cmd, char *args)
688 char *device_path, *next_args;
690 E_Connman_Element *e;
694 fputs("ERROR: missing the device path\n", stderr);
698 next_args = _tok(args);
701 fputs("ERROR: missing the powered value\n", stderr);
704 powered = !!atol(next_args);
706 e = e_connman_device_get(device_path);
707 if (e_connman_device_powered_set
708 (e, powered, _method_success_check, "device_set_powered"))
709 printf(":::Device %s powered set to %hhu\n", device_path, powered);
711 fputs("ERROR: can't set device powered\n", stderr);
716 _on_cmd_device_get_scan_interval(char *cmd, char *args)
719 unsigned short scan_interval;
720 E_Connman_Element *e;
724 fputs("ERROR: missing the device path\n", stderr);
730 e = e_connman_device_get(path);
731 if (e_connman_device_scan_interval_get(e, &scan_interval))
732 printf(":::Device %s ScanInterval = %hu\n", path, scan_interval);
734 fputs("ERROR: can't get device scan interval\n", stderr);
739 _on_cmd_device_set_scan_interval(char *cmd, char *args)
741 char *device_path, *next_args, *p;
742 unsigned short scan_interval;
743 E_Connman_Element *e;
747 fputs("ERROR: missing the device path\n", stderr);
751 next_args = _tok(args);
754 fputs("ERROR: missing the scan interval value\n", stderr);
757 scan_interval = strtol(next_args, &p, 0);
760 fprintf(stderr, "ERROR: invalid number \"%s\".\n", next_args);
764 e = e_connman_device_get(device_path);
765 if (e_connman_device_scan_interval_set
766 (e, scan_interval, _method_success_check, "device_set_scan_interval"))
767 printf(":::Device %s scan interval set to %hu\n", device_path, scan_interval);
769 fputs("ERROR: can't set device scan interval\n", stderr);
774 _on_cmd_device_get_scanning(char *cmd, char *args)
778 E_Connman_Element *e;
782 fputs("ERROR: missing the device path\n", stderr);
788 e = e_connman_device_get(path);
789 if (e_connman_device_scanning_get(e, &scanning))
790 printf(":::Device %s Scanning = %hhu\n", path, scanning);
792 fputs("ERROR: can't get device scanning\n", stderr);
797 _on_cmd_device_get_networks(char *cmd, char *args)
799 E_Connman_Element **networks;
802 E_Connman_Element *e;
806 fputs("ERROR: missing the device path\n", stderr);
812 e = e_connman_device_get(path);
813 if (!e_connman_device_networks_get(e, &count, &networks))
815 fputs("ERROR: can't get networks\n", stderr);
819 printf("BEG: all device network elements count = %d\n", count);
820 _elements_print(networks, count);
824 /* Profile Commands */
827 _on_cmd_profile_get_name(char *cmd, char *args)
829 const char *name, *path;
830 E_Connman_Element *e;
834 fputs("ERROR: missing the profile path\n", stderr);
840 e = e_connman_profile_get(path);
841 if (e_connman_profile_name_get(e, &name))
842 printf(":::Profile %s Name = \"%s\"\n", path, name);
844 fputs("ERROR: can't get profile name\n", stderr);
849 _on_cmd_profile_set_name(char *cmd, char *args)
851 char *path, *next_args;
852 E_Connman_Element *e;
856 fputs("ERROR: missing the profile path\n", stderr);
860 next_args = _tok(args);
863 fputs("ERROR: missing the offline mode value\n", stderr);
868 e = e_connman_profile_get(path);
869 if (e_connman_profile_name_set
870 (e, next_args, _method_success_check, "profile_set_name"))
871 printf(":::Profile %s Name set to %s\n", path, next_args);
873 fputs("ERROR: can't set profile name\n", stderr);
878 _on_cmd_profile_get_offline_mode(char *cmd, char *args)
882 E_Connman_Element *e;
886 fputs("ERROR: missing the profile path\n", stderr);
892 e = e_connman_profile_get(path);
893 if (e_connman_profile_offline_mode_get(e, &offline))
894 printf(":::Profile %s Offline Mode = %hhu\n", path, offline);
896 fputs("ERROR: can't get profile offline mode\n", stderr);
901 _on_cmd_profile_set_offline_mode(char *cmd, char *args)
903 char *path, *next_args;
905 E_Connman_Element *e;
909 fputs("ERROR: missing the profile path\n", stderr);
913 next_args = _tok(args);
916 fputs("ERROR: missing the offline mode value\n", stderr);
920 offline = !!atol(next_args);
922 e = e_connman_profile_get(path);
923 if (e_connman_profile_offline_mode_set
924 (e, offline, _method_success_check, "profile_set_offline_mode"))
925 printf(":::Profile %s Offline Mode set to %hhu\n", path, offline);
927 fputs("ERROR: can't set profile offline mode\n", stderr);
932 _on_cmd_profile_get_services(char *cmd, char *args)
934 E_Connman_Element **services;
935 E_Connman_Element *e;
941 fputs("ERROR: missing the profile path\n", stderr);
947 e = e_connman_profile_get(path);
948 if (!e_connman_profile_services_get(e, &count, &services))
950 fputs("ERROR: can't get services\n", stderr);
953 printf("BEG: all profile services count = %d\n", count);
954 _elements_print(services, count);
959 /* Network Commands */
962 _on_cmd_network_get_address(char *cmd, char *args)
964 const char *address, *path;
965 E_Connman_Element *e;
969 fputs("ERROR: missing the network path\n", stderr);
975 e = e_connman_network_get(path);
976 if (e_connman_network_address_get(e, &address))
977 printf(":::Network %s Address = \"%s\"\n", path, address);
979 fputs("ERROR: can't get network address\n", stderr);
984 _on_cmd_network_get_name(char *cmd, char *args)
986 const char *name, *path;
987 E_Connman_Element *e;
991 fputs("ERROR: missing the network path\n", stderr);
997 e = e_connman_network_get(path);
998 if (e_connman_network_name_get(e, &name))
999 printf(":::Network %s Name = \"%s\"\n", path, name);
1001 fputs("ERROR: can't get network name\n", stderr);
1006 _on_cmd_network_get_connected(char *cmd, char *args)
1010 E_Connman_Element *e;
1014 fputs("ERROR: missing the network path\n", stderr);
1020 e = e_connman_network_get(path);
1021 if (e_connman_network_connected_get(e, &connected))
1022 printf(":::Network %s Connected = %hhu\n", path, connected);
1024 fputs("ERROR: can't get network connected\n", stderr);
1029 _on_cmd_network_get_strength(char *cmd, char *args)
1032 unsigned char strength;
1033 E_Connman_Element *e;
1037 fputs("ERROR: missing the network path\n", stderr);
1043 e = e_connman_network_get(path);
1044 if (e_connman_network_strength_get(e, &strength))
1045 printf(":::Network %s Strength = %#02hhx (%d)\n", path, strength, strength);
1047 fputs("ERROR: can't get network strength\n", stderr);
1052 _on_cmd_network_get_frequency(char *cmd, char *args)
1055 unsigned short frequency;
1056 E_Connman_Element *e;
1060 fputs("ERROR: missing the network path\n", stderr);
1066 e = e_connman_network_get(path);
1067 if (e_connman_network_frequency_get(e, &frequency))
1068 printf(":::Network %s Frequency = %#04hx (%d)\n", path, frequency, frequency);
1070 fputs("ERROR: can't get network frequency\n", stderr);
1075 _on_cmd_network_get_device(char *cmd, char *args)
1077 E_Connman_Element *e, *device;
1082 fputs("ERROR: missing the network path\n", stderr);
1088 e = e_connman_network_get(path);
1089 if (!e_connman_network_device_get(e, &device))
1090 fputs("ERROR: can't get network device\n", stderr);
1092 e_connman_element_print(stderr, device);
1097 _on_cmd_network_get_wifi_ssid(char *cmd, char *args)
1099 unsigned char *bytes;
1101 unsigned int i, count;
1102 E_Connman_Element *e;
1106 fputs("ERROR: missing the network path\n", stderr);
1112 e = e_connman_network_get(path);
1113 if (e_connman_network_wifi_ssid_get(e, &count, &bytes))
1115 printf(":::Network %s Wifi SSID = ", path);
1116 for (i = 0; i < count; i++)
1117 printf("%#02hhx (\"%c\"), ", bytes[i], bytes[i]);
1121 fputs("ERROR: can't get network wifi ssid\n", stderr);
1126 _on_cmd_network_get_wifi_mode(char *cmd, char *args)
1128 const char *wifi_mode, *path;
1129 E_Connman_Element *e;
1133 fputs("ERROR: missing the network path\n", stderr);
1139 e = e_connman_network_get(path);
1140 if (e_connman_network_wifi_mode_get(e, &wifi_mode))
1141 printf(":::Network %s Wifi Mode = \"%s\"\n", path, wifi_mode);
1143 fputs("ERROR: can't get network wifi mode\n", stderr);
1148 _on_cmd_network_get_wifi_security(char *cmd, char *args)
1150 const char *wifi_security, *path;
1151 E_Connman_Element *e;
1155 fputs("ERROR: missing the network path\n", stderr);
1161 e = e_connman_network_get(path);
1162 if (e_connman_network_wifi_security_get(e, &wifi_security))
1163 printf(":::Network %s Wifi Security = \"%s\"\n", path, wifi_security);
1165 fputs("ERROR: can't get network wifi security\n", stderr);
1170 _on_cmd_network_get_wifi_passphrase(char *cmd, char *args)
1172 const char *wifi_passphrase, *path;
1173 E_Connman_Element *e;
1177 fputs("ERROR: missing the network path\n", stderr);
1183 e = e_connman_network_get(path);
1184 if (e_connman_network_wifi_passphrase_get(e, &wifi_passphrase))
1185 printf(":::Network %s Wifi Passphrase = \"%s\"\n", path, wifi_passphrase);
1187 fputs("ERROR: can't get network wifi passphrase\n", stderr);
1192 _on_cmd_network_get_wifi_channel(char *cmd, char *args)
1195 E_Connman_Element *e;
1196 unsigned short wifi_channel;
1200 fputs("ERROR: missing the network path\n", stderr);
1206 e = e_connman_network_get(path);
1207 if (e_connman_network_wifi_channel_get(e, &wifi_channel))
1208 printf(":::Network %s Wifi Channel = %#02hx (%d)\n", path, wifi_channel, wifi_channel);
1210 fputs("ERROR: can't get network wifi channel\n", stderr);
1215 _on_cmd_network_get_wifi_eap(char *cmd, char *args)
1217 const char *wifi_eap, *path;
1218 E_Connman_Element *e;
1222 fputs("ERROR: missing the network path\n", stderr);
1228 e = e_connman_network_get(path);
1229 if (e_connman_network_wifi_eap_get(e, &wifi_eap))
1230 printf(":::Network %s Wifi EAP = \"%s\"\n", path, wifi_eap);
1232 fputs("ERROR: can't get network wifi eap\n", stderr);
1236 /* Services Commands */
1238 _on_cmd_service_connect(char *cmd, char *args)
1241 E_Connman_Element *e;
1245 fputs("ERROR: missing the service path\n", stderr);
1251 e = e_connman_service_get(path);
1252 if (e_connman_service_connect
1253 (e, _method_success_check, "service_connect"))
1254 printf(":::Connecting to Service %s...\n", path);
1256 fputs("ERROR: can't connect to service\n", stderr);
1261 _on_cmd_service_disconnect(char *cmd, char *args)
1264 E_Connman_Element *e;
1268 fputs("ERROR: missing the service path\n", stderr);
1274 e = e_connman_service_get(path);
1275 if (e_connman_service_disconnect
1276 (e, _method_success_check, "service_disconnect"))
1277 printf(":::Disconnecting Service %s...\n", path);
1279 fputs("ERROR: can't disconnect service\n", stderr);
1284 _on_cmd_service_remove(char *cmd, char *args)
1287 E_Connman_Element *e;
1291 fputs("ERROR: missing the service path\n", stderr);
1297 e = e_connman_service_get(path);
1298 if (e_connman_service_remove
1299 (e, _method_success_check, "service_remove"))
1300 printf(":::Removing Service %s...\n", path);
1302 fputs("ERROR: can't remove service\n", stderr);
1307 _on_cmd_service_move_before(char *cmd, char *args)
1309 char *path, *service_path;
1310 E_Connman_Element *e;
1314 fputs("ERROR: missing the service path\n", stderr);
1317 service_path = args;
1322 fputs("ERROR: missing the object service\n", stderr);
1327 e = e_connman_service_get(service_path);
1328 if (e_connman_service_move_before
1329 (e, path, _method_success_check, "service_move_before"))
1330 printf(":::Moving before %s...\n", path);
1332 fputs("ERROR: can't move before\n", stderr);
1337 _on_cmd_service_move_after(char *cmd, char *args)
1339 char *path, *service_path;
1340 E_Connman_Element *e;
1344 fputs("ERROR: missing the service path\n", stderr);
1347 service_path = args;
1352 fputs("ERROR: missing the object service\n", stderr);
1357 e = e_connman_service_get(service_path);
1358 if (e_connman_service_move_after
1359 (e, path, _method_success_check, "service_move_after"))
1360 printf(":::Moving after %s...\n", path);
1362 fputs("ERROR: can't move after\n", stderr);
1367 _on_cmd_service_get_state(char *cmd, char *args)
1369 const char *state, *path;
1370 E_Connman_Element *e;
1374 fputs("ERROR: missing the service path\n", stderr);
1380 e = e_connman_service_get(path);
1381 if (e_connman_service_state_get(e, &state))
1382 printf(":::Service %s State = \"%s\"\n", path, state);
1384 fputs("ERROR: can't get service state\n", stderr);
1389 _on_cmd_service_get_error(char *cmd, char *args)
1391 const char *error, *path;
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_error_get(e, &error))
1404 printf(":::Service %s Error = \"%s\"\n", path, error);
1406 fputs("ERROR: can't get service error\n", stderr);
1411 _on_cmd_service_get_name(char *cmd, char *args)
1413 const char *name, *path;
1414 E_Connman_Element *e;
1418 fputs("ERROR: missing the service path\n", stderr);
1424 e = e_connman_service_get(path);
1425 if (e_connman_service_name_get(e, &name))
1426 printf(":::Service %s Name = \"%s\"\n", path, name);
1428 fputs("ERROR: can't get service name\n", stderr);
1433 _on_cmd_service_get_type(char *cmd, char *args)
1435 const char *type, *path;
1436 E_Connman_Element *e;
1440 fputs("ERROR: missing the service path\n", stderr);
1446 e = e_connman_service_get(path);
1447 if (e_connman_service_type_get(e, &type))
1448 printf(":::Service %s Type = \"%s\"\n", path, type);
1450 fputs("ERROR: can't get service type\n", stderr);
1455 _on_cmd_service_get_mode(char *cmd, char *args)
1457 const char *mode, *path;
1458 E_Connman_Element *e;
1462 fputs("ERROR: missing the service path\n", stderr);
1468 e = e_connman_service_get(path);
1469 if (e_connman_service_mode_get(e, &mode))
1470 printf(":::Service %s Mode = \"%s\"\n", path, mode);
1472 fputs("ERROR: can't get service mode\n", stderr);
1477 _on_cmd_service_get_security(char *cmd, char *args)
1479 const char *security, *path;
1480 E_Connman_Element *e;
1484 fputs("ERROR: missing the service path\n", stderr);
1490 e = e_connman_service_get(path);
1491 if (e_connman_service_security_get(e, &security))
1492 printf(":::Service %s Security = \"%s\"\n", path, security);
1494 fputs("ERROR: can't get service security\n", stderr);
1499 _on_cmd_service_get_passphrase(char *cmd, char *args)
1501 const char *passphrase, *path;
1502 E_Connman_Element *e;
1506 fputs("ERROR: missing the service path\n", stderr);
1512 e = e_connman_service_get(path);
1513 if (e_connman_service_passphrase_get(e, &passphrase))
1514 printf(":::Service %s Passphrase = \"%s\"\n", path, passphrase);
1516 fputs("ERROR: can't get service passphrase\n", stderr);
1521 _on_cmd_service_set_passphrase(char *cmd, char *args)
1523 char *passphrase, *path;
1524 E_Connman_Element *e;
1528 fputs("ERROR: missing the service path\n", stderr);
1532 passphrase = _tok(args);
1536 fputs("ERROR: missing the passphrase value\n", stderr);
1541 e = e_connman_service_get(path);
1542 if (e_connman_service_passphrase_set
1543 (e, passphrase, _method_success_check, "service_set_passphrase"))
1544 printf(":::Service %s passphrase set to \"%s\"\n", path, passphrase);
1546 fputs("ERROR: can't set service passphrase\n", stderr);
1551 _on_cmd_service_get_passphrase_required(char *cmd, char *args)
1555 E_Connman_Element *e;
1559 fputs("ERROR: missing the service path\n", stderr);
1565 e = e_connman_service_get(path);
1566 if (e_connman_service_passphrase_required_get(e, &passphrase))
1567 printf(":::Service %s Passphrase Required = %hhu\n", path, passphrase);
1569 fputs("ERROR: can't get service passphrase required\n", stderr);
1574 _on_cmd_service_get_strength(char *cmd, char *args)
1577 unsigned char strength;
1578 E_Connman_Element *e;
1582 fputs("ERROR: missing the service path\n", stderr);
1588 e = e_connman_service_get(path);
1589 if (e_connman_service_strength_get(e, &strength))
1590 printf(":::Service %s Strength = %#02hhx (%d)\n", path, strength, strength);
1592 fputs("ERROR: can't get service strength\n", stderr);
1597 _on_cmd_service_get_favorite(char *cmd, char *args)
1601 E_Connman_Element *e;
1605 fputs("ERROR: missing the service path\n", stderr);
1611 e = e_connman_service_get(path);
1612 if (e_connman_service_favorite_get(e, &favorite))
1613 printf(":::Service %s Favorite = %hhu\n", path, favorite);
1615 fputs("ERROR: can't get service favorite\n", stderr);
1620 _on_cmd_service_get_immutable(char *cmd, char *args)
1624 E_Connman_Element *e;
1628 fputs("ERROR: missing the service path\n", stderr);
1634 e = e_connman_service_get(path);
1635 if (e_connman_service_immutable_get(e, &immutable))
1636 printf(":::Service %s Immutable = %hhu\n", path, immutable);
1638 fputs("ERROR: can't get service immutable\n", stderr);
1643 _on_cmd_service_get_auto_connect(char *cmd, char *args)
1647 E_Connman_Element *e;
1651 fputs("ERROR: missing the service path\n", stderr);
1657 e = e_connman_service_get(path);
1658 if (e_connman_service_auto_connect_get(e, &auto_connect))
1659 printf(":::Service %s Auto Connect = %hhu\n", path, auto_connect);
1661 fputs("ERROR: can't get service auto connect\n", stderr);
1666 _on_cmd_service_set_auto_connect(char *cmd, char *args)
1668 char *path, *next_args;
1670 E_Connman_Element *e;
1674 fputs("ERROR: missing the service path\n", stderr);
1678 next_args = _tok(args);
1682 fputs("ERROR: missing the auto connect value\n", stderr);
1686 auto_connect = !!atol(next_args);
1688 e = e_connman_service_get(path);
1689 if (e_connman_service_auto_connect_set
1690 (e, auto_connect, _method_success_check, "service_set_auto_connect"))
1691 printf(":::Service %s auto connect set to %d\n", path, auto_connect);
1693 fputs("ERROR: can't set service auto connect\n", stderr);
1698 _on_cmd_service_get_setup_required(char *cmd, char *args)
1701 bool setup_required;
1702 E_Connman_Element *e;
1706 fputs("ERROR: missing the service path\n", stderr);
1712 e = e_connman_service_get(path);
1713 if (e_connman_service_setup_required_get(e, &setup_required))
1714 printf(":::Service %s Setup Required = %hhu\n", path, setup_required);
1716 fputs("ERROR: can't get service setup required\n", stderr);
1721 _on_cmd_service_get_apn(char *cmd, char *args)
1723 const char *apn, *path;
1724 E_Connman_Element *e;
1728 fputs("ERROR: missing the service path\n", stderr);
1734 e = e_connman_service_get(path);
1735 if (e_connman_service_apn_get(e, &apn))
1736 printf(":::Service %s APN = \"%s\"\n", path, apn);
1738 fputs("ERROR: can't get service APN\n", stderr);
1743 _on_cmd_service_set_apn(char *cmd, char *args)
1746 E_Connman_Element *e;
1750 fputs("ERROR: missing the service path\n", stderr);
1758 fputs("ERROR: missing the apn value\n", stderr);
1763 e = e_connman_service_get(path);
1764 if (e_connman_service_apn_set
1765 (e, apn, _method_success_check, "service_set_apn"))
1766 printf(":::Service %s APN set to \"%s\"\n", path, apn);
1768 fputs("ERROR: can't set service APN\n", stderr);
1773 _on_cmd_service_get_mcc(char *cmd, char *args)
1775 const char *mcc, *path;
1776 E_Connman_Element *e;
1780 fputs("ERROR: missing the service path\n", stderr);
1786 e = e_connman_service_get(path);
1787 if (e_connman_service_mcc_get(e, &mcc))
1788 printf(":::Service %s MCC = \"%s\"\n", path, mcc);
1790 fputs("ERROR: can't get service MCC\n", stderr);
1795 _on_cmd_service_get_mnc(char *cmd, char *args)
1797 const char *mnc, *path;
1798 E_Connman_Element *e;
1802 fputs("ERROR: missing the service path\n", stderr);
1808 e = e_connman_service_get(path);
1809 if (e_connman_service_mnc_get(e, &mnc))
1810 printf(":::Service %s MNC = \"%s\"\n", path, mnc);
1812 fputs("ERROR: can't get service MNC\n", stderr);
1817 _on_cmd_service_get_roaming(char *cmd, char *args)
1821 E_Connman_Element *e;
1825 fputs("ERROR: missing the service path\n", stderr);
1831 e = e_connman_service_get(path);
1832 if (e_connman_service_roaming_get(e, &roaming))
1833 printf(":::Service %s Roaming = %hhu\n", path, roaming);
1835 fputs("ERROR: can't get service roaming\n", stderr);
1840 _on_cmd_service_get_ipv4_method(char *cmd, char *args)
1842 const char *ipv4_method, *path;
1843 E_Connman_Element *e;
1847 fputs("ERROR: missing the service path\n", stderr);
1853 e = e_connman_service_get(path);
1854 if (e_connman_service_ipv4_method_get(e, &ipv4_method))
1855 printf(":::Service %s IPv4 Method = \"%s\"\n", path, ipv4_method);
1857 fputs("ERROR: can't get service ipv4 method\n", stderr);
1862 _on_cmd_service_get_ipv4_address(char *cmd, char *args)
1864 const char *ipv4_address, *path;
1865 E_Connman_Element *e;
1869 fputs("ERROR: missing the service path\n", stderr);
1875 e = e_connman_service_get(path);
1876 if (e_connman_service_ipv4_address_get(e, &ipv4_address))
1877 printf(":::Service %s IPv4 Address = \"%s\"\n", path, ipv4_address);
1879 fputs("ERROR: can't get service ipv4 address\n", stderr);
1884 _on_cmd_service_get_ipv4_gateway(char *cmd, char *args)
1886 const char *ipv4_gateway, *path;
1887 E_Connman_Element *e;
1891 fputs("ERROR: missing the service path\n", stderr);
1897 e = e_connman_service_get(path);
1898 if (e_connman_service_ipv4_gateway_get(e, &ipv4_gateway))
1899 printf(":::Service %s IPv4 Gateway = \"%s\"\n", path, ipv4_gateway);
1901 fputs("ERROR: can't get service ipv4 gateway\n", stderr);
1906 _on_cmd_service_get_ipv4_netmask(char *cmd, char *args)
1908 const char *ipv4_netmask, *path;
1909 E_Connman_Element *e;
1913 fputs("ERROR: missing the service path\n", stderr);
1919 e = e_connman_service_get(path);
1920 if (e_connman_service_ipv4_netmask_get(e, &ipv4_netmask))
1921 printf(":::Service %s IPv4 Netmask = \"%s\"\n", path, ipv4_netmask);
1923 fputs("ERROR: can't get service ipv4 netmask\n", stderr);
1928 _on_cmd_service_get_ipv4_configuration_method(char *cmd, char *args)
1930 const char *ipv4_method, *path;
1931 E_Connman_Element *e;
1935 fputs("ERROR: missing the service path\n", stderr);
1941 e = e_connman_service_get(path);
1942 if (e_connman_service_ipv4_configuration_method_get(e, &ipv4_method))
1943 printf(":::Service %s IPv4 Configuration Method = \"%s\"\n",
1946 fputs("ERROR: can't get service ipv4_configuration method\n", stderr);
1951 _on_cmd_service_get_ipv4_configuration_address(char *cmd, char *args)
1953 const char *ipv4_address, *path;
1954 E_Connman_Element *e;
1958 fputs("ERROR: missing the service path\n", stderr);
1964 e = e_connman_service_get(path);
1965 if (e_connman_service_ipv4_configuration_address_get(e, &ipv4_address))
1966 printf(":::Service %s IPv4 Configuration Address = \"%s\"\n",
1967 path, ipv4_address);
1969 fputs("ERROR: can't get service ipv4_configuration address\n", stderr);
1974 _on_cmd_service_get_ipv4_configuration_gateway(char *cmd, char *args)
1976 const char *ipv4_gateway, *path;
1977 E_Connman_Element *e;
1981 fputs("ERROR: missing the service path\n", stderr);
1987 e = e_connman_service_get(path);
1988 if (e_connman_service_ipv4_configuration_gateway_get(e, &ipv4_gateway))
1989 printf(":::Service %s IPv4 Configuration Gateway = \"%s\"\n",
1990 path, ipv4_gateway);
1992 fputs("ERROR: can't get service ipv4_configuration gateway\n", stderr);
1997 _on_cmd_service_get_ipv4_configuration_netmask(char *cmd, char *args)
1999 const char *ipv4_netmask, *path;
2000 E_Connman_Element *e;
2004 fputs("ERROR: missing the service path\n", stderr);
2010 e = e_connman_service_get(path);
2011 if (e_connman_service_ipv4_configuration_netmask_get(e, &ipv4_netmask))
2012 printf(":::Service %s IPv4 Configuration Netmask = \"%s\"\n",
2013 path, ipv4_netmask);
2015 fputs("ERROR: can't get service ipv4 configuration netmask\n", stderr);
2020 _on_cmd_service_ipv4_configure_dhcp(char *cmd, char *args)
2023 E_Connman_Element *e;
2027 fputs("ERROR: missing the service path\n", stderr);
2033 e = e_connman_service_get(path);
2034 if (e_connman_service_ipv4_configure_dhcp
2035 (e, _method_success_check, "service_ipv4_configure_dhcp"))
2036 printf(":::Service %s IPv4 Configuration set to DHCP\n", path);
2038 fputs("ERROR: can't set service ipv4_configuration dhcp\n", stderr);
2043 _on_cmd_service_ipv4_configure_manual(char *cmd, char *args)
2045 char *path, *next_args, *address, *netmask = NULL;
2046 E_Connman_Element *e;
2050 fputs("ERROR: missing the service path\n", stderr);
2054 next_args = _tok(args);
2057 fputs("ERROR: missing the service address\n", stderr);
2061 address = next_args;
2062 next_args = _tok(next_args);
2065 netmask = next_args;
2069 e = e_connman_service_get(path);
2070 if (e_connman_service_ipv4_configure_manual
2071 (e, address, netmask,
2072 _method_success_check, "service_ipv4_configure_manual"))
2073 printf(":::Service %s IPv4 Configuration set to Manual (%s/%s)\n",
2074 path, address, netmask);
2076 fputs("ERROR: can't set service ipv4_configuration manual\n", stderr);
2081 _on_cmd_service_get_ethernet_method(char *cmd, char *args)
2083 const char *ethernet_method, *path;
2084 E_Connman_Element *e;
2088 fputs("ERROR: missing the service path\n", stderr);
2094 e = e_connman_service_get(path);
2095 if (e_connman_service_ethernet_method_get(e, ðernet_method))
2096 printf(":::Service %s Ethernet Method = \"%s\"\n", path, ethernet_method);
2098 fputs("ERROR: can't get service ethernet method\n", stderr);
2103 _on_cmd_service_get_ethernet_address(char *cmd, char *args)
2105 const char *ethernet_address, *path;
2106 E_Connman_Element *e;
2110 fputs("ERROR: missing the service path\n", stderr);
2116 e = e_connman_service_get(path);
2117 if (e_connman_service_ethernet_address_get(e, ðernet_address))
2118 printf(":::Service %s Ethernet Address = \"%s\"\n",
2119 path, ethernet_address);
2121 fputs("ERROR: can't get service ethernet address\n", stderr);
2126 _on_cmd_service_get_ethernet_mtu(char *cmd, char *args)
2129 E_Connman_Element *e;
2130 unsigned short ethernet_mtu;
2134 fputs("ERROR: missing the service path\n", stderr);
2140 e = e_connman_service_get(path);
2141 if (e_connman_service_ethernet_mtu_get(e, ðernet_mtu))
2142 printf(":::Service %s Ethernet MTU = %hu\n", path, ethernet_mtu);
2144 fputs("ERROR: can't get service ethernet mtu\n", stderr);
2149 _on_cmd_service_get_ethernet_netmask(char *cmd, char *args)
2151 const char *ethernet_netmask, *path;
2152 E_Connman_Element *e;
2156 fputs("ERROR: missing the service path\n", stderr);
2162 e = e_connman_service_get(path);
2163 if (e_connman_service_ethernet_netmask_get(e, ðernet_netmask))
2164 printf(":::Service %s Ethernet Netmask = \"%s\"\n",
2165 path, ethernet_netmask);
2167 fputs("ERROR: can't get service ethernet netmask\n", stderr);
2172 _on_cmd_technology_get_devices(char *cmd, char *args)
2174 E_Connman_Element **devices;
2175 E_Connman_Element *e;
2181 fputs("ERROR: missing the technology path\n", stderr);
2187 e = e_connman_technology_get(path);
2188 if (!e_connman_technology_devices_get(e, &count, &devices))
2190 fputs("ERROR: can't get devices\n", stderr);
2193 printf("BEG: all technology devices count = %d\n", count);
2194 _elements_print(devices, count);
2199 _on_cmd_technology_get_state(char *cmd, char *args)
2201 const char *state, *path;
2202 E_Connman_Element *e;
2206 fputs("ERROR: missing the technology path\n", stderr);
2212 e = e_connman_technology_get(path);
2213 if (e_connman_technology_state_get(e, &state))
2214 printf(":::Technology %s State = \"%s\"\n", path, state);
2216 fputs("ERROR: can't get technology state\n", stderr);
2221 _on_cmd_technology_get_type(char *cmd, char *args)
2223 const char *type, *path;
2224 E_Connman_Element *e;
2228 fputs("ERROR: missing the technology path\n", stderr);
2234 e = e_connman_technology_get(path);
2235 if (e_connman_technology_type_get(e, &type))
2236 printf(":::Technology %s Type = \"%s\"\n", path, type);
2238 fputs("ERROR: can't get technology type\n", stderr);
2243 _on_cmd_technology_get_name(char *cmd, char *args)
2245 const char *name, *path;
2246 E_Connman_Element *e;
2250 fputs("ERROR: missing the technology path\n", stderr);
2256 e = e_connman_technology_get(path);
2257 if (e_connman_technology_name_get(e, &name))
2258 printf(":::Technology %s Name = \"%s\"\n", path, name);
2260 fputs("ERROR: can't get technology name\n", stderr);
2265 _on_input(void *data, Ecore_Fd_Handler *fd_handler)
2271 int (*cb)(char *cmd, char *args);
2273 {"quit", _on_cmd_quit},
2274 {"sync", _on_cmd_sync},
2275 {"get_all", _on_cmd_get_all},
2276 {"print", _on_cmd_print},
2277 {"get_properties", _on_cmd_get_properties},
2278 {"set_property", _on_cmd_property_set},
2279 {"manager_get", _on_cmd_manager_get},
2280 {"manager_get_profiles", _on_cmd_manager_get_profiles},
2281 {"manager_get_services", _on_cmd_manager_get_services},
2282 {"manager_register_agent", _on_cmd_manager_register_agent},
2283 {"manager_unregister_agent", _on_cmd_manager_unregister_agent},
2284 {"manager_get_state", _on_cmd_manager_get_state},
2285 {"manager_get_offline_mode", _on_cmd_manager_get_offline_mode},
2286 {"manager_set_offline_mode", _on_cmd_manager_set_offline_mode},
2287 {"manager_request_scan", _on_cmd_manager_request_scan},
2288 {"manager_technology_enable", _on_cmd_manager_technology_enable},
2289 {"manager_technology_disable", _on_cmd_manager_technology_disable},
2290 {"manager_get_technologies_available", _on_cmd_manager_get_technologies_available},
2291 {"manager_get_technologies_enabled", _on_cmd_manager_get_technologies_enabled},
2292 {"manager_get_technologies_connected", _on_cmd_manager_get_technologies_connected},
2293 {"manager_profile_remove", _on_cmd_manager_profile_remove},
2294 {"manager_profile_get_active", _on_cmd_manager_profile_get_active},
2295 {"manager_profile_set_active", _on_cmd_manager_profile_set_active},
2296 {"device_propose_scan", _on_cmd_device_propose_scan},
2297 {"device_get_address", _on_cmd_device_get_address},
2298 {"device_get_name", _on_cmd_device_get_name},
2299 {"device_get_type", _on_cmd_device_get_type},
2300 {"device_get_interface", _on_cmd_device_get_interface},
2301 {"device_get_powered", _on_cmd_device_get_powered},
2302 {"device_set_powered", _on_cmd_device_set_powered},
2303 {"device_get_scan_interval", _on_cmd_device_get_scan_interval},
2304 {"device_set_scan_interval", _on_cmd_device_set_scan_interval},
2305 {"device_get_scanning", _on_cmd_device_get_scanning},
2306 {"device_get_networks", _on_cmd_device_get_networks},
2307 {"profile_get_name", _on_cmd_profile_get_name},
2308 {"profile_set_name", _on_cmd_profile_set_name},
2309 {"profile_get_offline_mode", _on_cmd_profile_get_offline_mode},
2310 {"profile_set_offline_mode", _on_cmd_profile_set_offline_mode},
2311 {"profile_get_services", _on_cmd_profile_get_services},
2312 {"network_get_address", _on_cmd_network_get_address},
2313 {"network_get_name", _on_cmd_network_get_name},
2314 {"network_get_connected", _on_cmd_network_get_connected},
2315 {"network_get_strength", _on_cmd_network_get_strength},
2316 {"network_get_frequency", _on_cmd_network_get_frequency},
2317 {"network_get_device", _on_cmd_network_get_device},
2318 {"network_get_wifi_ssid", _on_cmd_network_get_wifi_ssid},
2319 {"network_get_wifi_mode", _on_cmd_network_get_wifi_mode},
2320 {"network_get_wifi_security", _on_cmd_network_get_wifi_security},
2321 {"network_get_wifi_passphrase", _on_cmd_network_get_wifi_passphrase},
2322 {"network_get_wifi_channel", _on_cmd_network_get_wifi_channel},
2323 {"network_get_wifi_eap", _on_cmd_network_get_wifi_eap},
2324 {"service_connect", _on_cmd_service_connect},
2325 {"service_disconnect", _on_cmd_service_disconnect},
2326 {"service_remove", _on_cmd_service_remove},
2327 {"service_move_before", _on_cmd_service_move_before},
2328 {"service_move_after", _on_cmd_service_move_after},
2329 {"service_get_state", _on_cmd_service_get_state},
2330 {"service_get_error", _on_cmd_service_get_error},
2331 {"service_get_name", _on_cmd_service_get_name},
2332 {"service_get_type", _on_cmd_service_get_type},
2333 {"service_get_mode", _on_cmd_service_get_mode},
2334 {"service_get_security", _on_cmd_service_get_security},
2335 {"service_get_passphrase", _on_cmd_service_get_passphrase},
2336 {"service_set_passphrase", _on_cmd_service_set_passphrase},
2337 {"service_get_passphrase_required", _on_cmd_service_get_passphrase_required},
2338 {"service_get_strength", _on_cmd_service_get_strength},
2339 {"service_get_favorite", _on_cmd_service_get_favorite},
2340 {"service_get_immutable", _on_cmd_service_get_immutable},
2341 {"service_get_auto_connect", _on_cmd_service_get_auto_connect},
2342 {"service_set_auto_connect", _on_cmd_service_set_auto_connect},
2343 {"service_get_setup_required", _on_cmd_service_get_setup_required},
2344 {"service_get_apn", _on_cmd_service_get_apn},
2345 {"service_set_apn", _on_cmd_service_set_apn},
2346 {"service_get_mcc", _on_cmd_service_get_mcc},
2347 {"service_get_mnc", _on_cmd_service_get_mnc},
2348 {"service_get_roaming", _on_cmd_service_get_roaming},
2349 {"service_get_ipv4_method", _on_cmd_service_get_ipv4_method},
2350 {"service_get_ipv4_address", _on_cmd_service_get_ipv4_address},
2351 {"service_get_ipv4_gateway", _on_cmd_service_get_ipv4_gateway},
2352 {"service_get_ipv4_netmask", _on_cmd_service_get_ipv4_netmask},
2353 {"service_get_ipv4_configuration_method", _on_cmd_service_get_ipv4_configuration_method},
2354 {"service_get_ipv4_configuration_address", _on_cmd_service_get_ipv4_configuration_address},
2355 {"service_get_ipv4_configuration_gateway", _on_cmd_service_get_ipv4_configuration_gateway},
2356 {"service_get_ipv4_configuration_netmask", _on_cmd_service_get_ipv4_configuration_netmask},
2357 {"service_ipv4_configure_dhcp", _on_cmd_service_ipv4_configure_dhcp},
2358 {"service_ipv4_configure_manual", _on_cmd_service_ipv4_configure_manual},
2359 {"service_get_ethernet_method", _on_cmd_service_get_ethernet_method},
2360 {"service_get_ethernet_address", _on_cmd_service_get_ethernet_address},
2361 {"service_get_ethernet_mtu", _on_cmd_service_get_ethernet_mtu},
2362 {"service_get_ethernet_netmask", _on_cmd_service_get_ethernet_netmask},
2363 {"technology_get_devices", _on_cmd_technology_get_devices},
2364 {"technology_get_state", _on_cmd_technology_get_state},
2365 {"technology_get_type", _on_cmd_technology_get_type},
2366 {"technology_get_name", _on_cmd_technology_get_name},
2371 if (ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_ERROR))
2373 fputs("ERROR: reading from stdin, exit\n", stderr);
2377 if (!ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_READ))
2379 fputs("ERROR: nothing to read?\n", stderr);
2383 if (!fgets(buf, sizeof(buf), stdin))
2385 fprintf(stderr, "ERROR: could not read command: %s\n", strerror(errno));
2386 ecore_main_loop_quit();
2391 while (isspace(*cmd))
2394 args = strchr(cmd, ' ');
2402 while (isspace(*args))
2405 p = args + strlen(args) - 1;
2413 p = cmd + strlen(cmd) - 1;
2418 if (strcmp(cmd, "help") == 0)
2422 printf("Commands with '%s' in the name:\n", args);
2423 for (itr = maps; itr->cmd != NULL; itr++)
2424 if (strstr(itr->cmd, args))
2425 printf("\t%s\n", itr->cmd);
2429 fputs("Commands:\n", stdout);
2430 for (itr = maps; itr->cmd != NULL; itr++)
2431 printf("\t%s\n", itr->cmd);
2433 fputc('\n', stdout);
2437 for (itr = maps; itr->cmd != NULL; itr++)
2438 if (strcmp(itr->cmd, cmd) == 0)
2439 return itr->cb(cmd, args);
2441 printf("unknown command \"%s\", args=%s\n", cmd, args);
2446 main(int argc, char *argv[])
2448 E_DBus_Connection *c;
2454 c = e_dbus_bus_get(DBUS_BUS_SYSTEM);
2456 printf("ERROR: can't connect to system session\n");
2460 e_connman_system_init(c);
2461 ecore_event_handler_add(E_CONNMAN_EVENT_ELEMENT_ADD, _on_element_add, NULL);
2462 ecore_event_handler_add(E_CONNMAN_EVENT_ELEMENT_DEL, _on_element_del, NULL);
2463 ecore_event_handler_add(E_CONNMAN_EVENT_ELEMENT_UPDATED,
2464 _on_element_updated, NULL);
2466 ecore_main_fd_handler_add
2467 (0, ECORE_FD_READ | ECORE_FD_ERROR, _on_input, NULL, NULL, NULL);
2469 ecore_main_loop_begin();
2471 e_connman_system_shutdown();
2473 e_dbus_connection_close(c);
2478 fputs("DBG: clean exit.\n", stderr);