On Sat, 19 Dec 2009, Enlightenment SVN wrote:
> fprintf(stderr, "set_property %s [%p] %s %c %p...\n",
> args, element, name, type, value);
> - e_connman_element_property_set(element, name, type, value);
> + if (!e_connman_element_property_set(element, name, type, value))
> + {
> + fputs("ERROR: error setting property.\n", stderr);
why using fputs and not eina_log ?
Vincent
> + return 1;
> + }
> return 1;
> }
>
> @@ -294,6 +298,22 @@
> }
>
> static int
> +_on_cmd_manager_get_services(char *cmd, char *args)
> +{
> + unsigned int count;
> + E_Connman_Element **services;
> +
> + if (!e_connman_manager_services_get(&count, &services))
> + {
> + fputs("ERROR: can't get services\n", stderr);
> + return 1;
> + }
> + printf("BEG: all manager services elements count = %d\n", count);
> + _elements_print(services, count);
> + return 1;
> +}
> +
> +static int
> _on_cmd_manager_register_agent(char *cmd, char *args)
> {
> char *path;
> @@ -836,6 +856,86 @@
> return 1;
> }
>
> +static int
> +_on_cmd_profile_get_offline_mode(char *cmd, char *args)
> +{
> + char *path;
> + bool offline;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the profile path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_profile_get(path);
> + if (e_connman_profile_offline_mode_get(e, &offline))
> + printf(":::Profile %s Offline Mode = %hhu\n", path, offline);
> + else
> + fputs("ERROR: can't get profile offline mode\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_profile_set_offline_mode(char *cmd, char *args)
> +{
> + char *path, *next_args;
> + bool offline;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the profile path\n", stderr);
> + return 1;
> + }
> + path = args;
> + next_args = _tok(args);
> + if (!next_args)
> + {
> + fputs("ERROR: missing the offline mode value\n", stderr);
> + return 1;
> + }
> + _tok(next_args);
> + offline = !!atol(next_args);
> +
> + e = e_connman_profile_get(path);
> + if (e_connman_profile_offline_mode_set(e, offline, NULL, NULL))
> + printf(":::Profile %s Offline Mode set to %hhu\n", path, offline);
> + else
> + fputs("ERROR: can't set profile offline mode\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_profile_get_services(char *cmd, char *args)
> +{
> + E_Connman_Element **services;
> + E_Connman_Element *e;
> + unsigned int count;
> + char *path;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the profile path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_profile_get(path);
> + if (!e_connman_profile_services_get(e, &count, &services))
> + {
> + fputs("ERROR: can't get services\n", stderr);
> + return 1;
> + }
> + printf("BEG: all profile services count = %d\n", count);
> + _elements_print(services, count);
> + return 1;
> +}
> +
> /* Connection Commands */
>
> static int
> @@ -1411,8 +1511,683 @@
> return 1;
> }
>
> +/* Services Commands */
>
> static int
> +_on_cmd_service_connect(char *cmd, char *args)
> +{
> + char *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_connect(e, NULL, NULL))
> + printf(":::Connecting to Service %s...\n", path);
> + else
> + fputs("ERROR: can't connect to service\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_disconnect(char *cmd, char *args)
> +{
> + char *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_disconnect(e, NULL, NULL))
> + printf(":::Disconnecting Service %s...\n", path);
> + else
> + fputs("ERROR: can't disconnect service\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_remove(char *cmd, char *args)
> +{
> + char *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_remove(e, NULL, NULL))
> + printf(":::Removing Service %s...\n", path);
> + else
> + fputs("ERROR: can't remove service\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_move_before(char *cmd, char *args)
> +{
> + char *path, *service_path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + service_path = args;
> + path = _tok(args);
> +
> + if (!path)
> + {
> + fputs("ERROR: missing the object service\n", stderr);
> + return 1;
> + }
> + _tok(path);
> +
> + e = e_connman_service_get(service_path);
> + if (e_connman_service_move_before(e, path, NULL, NULL))
> + printf(":::Moving before %s...\n", path);
> + else
> + fputs("ERROR: can't move before\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_move_after(char *cmd, char *args)
> +{
> + char *path, *service_path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + service_path = args;
> + path = _tok(args);
> +
> + if (!path)
> + {
> + fputs("ERROR: missing the object service\n", stderr);
> + return 1;
> + }
> + _tok(path);
> +
> + e = e_connman_service_get(service_path);
> + if (e_connman_service_move_after(e, path, NULL, NULL))
> + printf(":::Moving after %s...\n", path);
> + else
> + fputs("ERROR: can't move after\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_state(char *cmd, char *args)
> +{
> + const char *state, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_state_get(e, &state))
> + printf(":::Service %s State = \"%s\"\n", path, state);
> + else
> + fputs("ERROR: can't get service state\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_error(char *cmd, char *args)
> +{
> + const char *error, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_error_get(e, &error))
> + printf(":::Service %s Error = \"%s\"\n", path, error);
> + else
> + fputs("ERROR: can't get service error\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_name(char *cmd, char *args)
> +{
> + const char *name, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_name_get(e, &name))
> + printf(":::Service %s Name = \"%s\"\n", path, name);
> + else
> + fputs("ERROR: can't get service name\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_type(char *cmd, char *args)
> +{
> + const char *type, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_type_get(e, &type))
> + printf(":::Service %s Type = \"%s\"\n", path, type);
> + else
> + fputs("ERROR: can't get service type\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_mode(char *cmd, char *args)
> +{
> + const char *mode, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_mode_get(e, &mode))
> + printf(":::Service %s Mode = \"%s\"\n", path, mode);
> + else
> + fputs("ERROR: can't get service mode\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_security(char *cmd, char *args)
> +{
> + const char *security, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_security_get(e, &security))
> + printf(":::Service %s Security = \"%s\"\n", path, security);
> + else
> + fputs("ERROR: can't get service security\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_passphrase(char *cmd, char *args)
> +{
> + const char *passphrase, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_passphrase_get(e, &passphrase))
> + printf(":::Service %s Passphrase = \"%s\"\n", path, passphrase);
> + else
> + fputs("ERROR: can't get service passphrase\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_set_passphrase(char *cmd, char *args)
> +{
> + char *passphrase, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + path = args;
> + passphrase = _tok(args);
> +
> + if (!passphrase)
> + {
> + fputs("ERROR: missing the passphrase value\n", stderr);
> + return 1;
> + }
> + _tok(passphrase);
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_passphrase_set(e, passphrase, NULL, NULL))
> + printf(":::Service %s passphrase set to \"%s\"\n", path, passphrase);
> + else
> + fputs("ERROR: can't set service passphrase\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_passphrase_required(char *cmd, char *args)
> +{
> + const char *path;
> + bool passphrase;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_passphrase_required_get(e, &passphrase))
> + printf(":::Service %s Passphrase Required = %hhu\n", path, passphrase);
> + else
> + fputs("ERROR: can't get service passphrase required\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_strength(char *cmd, char *args)
> +{
> + const char *path;
> + unsigned char strength;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_strength_get(e, &strength))
> + printf(":::Service %s Strength = %#02hhx (%d)\n", path, strength,
> strength);
> + else
> + fputs("ERROR: can't get service strength\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_favorite(char *cmd, char *args)
> +{
> + const char *path;
> + bool favorite;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_favorite_get(e, &favorite))
> + printf(":::Service %s Favorite = %hhu\n", path, favorite);
> + else
> + fputs("ERROR: can't get service favorite\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_auto_connect(char *cmd, char *args)
> +{
> + const char *path;
> + bool auto_connect;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_auto_connect_get(e, &auto_connect))
> + printf(":::Service %s Auto Connect = %hhu\n", path, auto_connect);
> + else
> + fputs("ERROR: can't get service auto connect\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_set_auto_connect(char *cmd, char *args)
> +{
> + char *path, *next_args;
> + bool auto_connect;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + path = args;
> + next_args = _tok(args);
> +
> + if (!next_args)
> + {
> + fputs("ERROR: missing the auto connect value\n", stderr);
> + return 1;
> + }
> + _tok(next_args);
> + auto_connect = !!atol(next_args);
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_auto_connect_set(e, auto_connect, NULL, NULL))
> + printf(":::Service %s auto connect set to %d\n", path, auto_connect);
> + else
> + fputs("ERROR: can't set service auto connect\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_setup_required(char *cmd, char *args)
> +{
> + const char *path;
> + bool setup_required;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_setup_required_get(e, &setup_required))
> + printf(":::Service %s Setup Required = %hhu\n", path, setup_required);
> + else
> + fputs("ERROR: can't get service setup required\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_apn(char *cmd, char *args)
> +{
> + const char *apn, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_apn_get(e, &apn))
> + printf(":::Service %s APN = \"%s\"\n", path, apn);
> + else
> + fputs("ERROR: can't get service APN\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_set_apn(char *cmd, char *args)
> +{
> + char *apn, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + path = args;
> + apn = _tok(args);
> +
> + if (!apn)
> + {
> + fputs("ERROR: missing the apn value\n", stderr);
> + return 1;
> + }
> + _tok(apn);
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_apn_set(e, apn, NULL, NULL))
> + printf(":::Service %s APN set to \"%s\"\n", path, apn);
> + else
> + fputs("ERROR: can't set service APN\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_mcc(char *cmd, char *args)
> +{
> + const char *mcc, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_mcc_get(e, &mcc))
> + printf(":::Service %s MCC = \"%s\"\n", path, mcc);
> + else
> + fputs("ERROR: can't get service MCC\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_mnc(char *cmd, char *args)
> +{
> + const char *mnc, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_mnc_get(e, &mnc))
> + printf(":::Service %s MNC = \"%s\"\n", path, mnc);
> + else
> + fputs("ERROR: can't get service MNC\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_roaming(char *cmd, char *args)
> +{
> + const char *path;
> + bool roaming;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_roaming_get(e, &roaming))
> + printf(":::Service %s Roaming = %hhu\n", path, roaming);
> + else
> + fputs("ERROR: can't get service roaming\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_ipv4_method(char *cmd, char *args)
> +{
> + const char *ipv4_method, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_ipv4_method_get(e, &ipv4_method))
> + printf(":::Service %s ipv4 method = \"%s\"\n", path, ipv4_method);
> + else
> + fputs("ERROR: can't get service ipv4 method\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_set_ipv4_method(char *cmd, char *args)
> +{
> + char *ipv4_method, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + path = args;
> + ipv4_method = _tok(args);
> +
> + if (!ipv4_method)
> + {
> + fputs("ERROR: missing the ipv4 method value\n", stderr);
> + return 1;
> + }
> + _tok(ipv4_method);
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_ipv4_method_set(e, ipv4_method, NULL, NULL))
> + printf(":::Service %s set to ipv4 method\"%s\"\n", path, ipv4_method);
> + else
> + fputs("ERROR: can't set service ipv4 method\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_get_ipv4_address(char *cmd, char *args)
> +{
> + const char *ipv4_address, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + _tok(args);
> + path = args;
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_ipv4_address_get(e, &ipv4_address))
> + printf(":::Service %s ipv4 address = \"%s\"\n", path, ipv4_address);
> + else
> + fputs("ERROR: can't get service ipv4 address\n", stderr);
> + return 1;
> +}
> +
> +static int
> +_on_cmd_service_set_ipv4_address(char *cmd, char *args)
> +{
> + char *ipv4_address, *path;
> + E_Connman_Element *e;
> +
> + if (!args)
> + {
> + fputs("ERROR: missing the service path\n", stderr);
> + return 1;
> + }
> + path = args;
> + ipv4_address= _tok(args);
> +
> + if (!ipv4_address)
> + {
> + fputs("ERROR: missing the ipv4 address value\n", stderr);
> + return 1;
> + }
> + _tok(ipv4_address);
> +
> + e = e_connman_service_get(path);
> + if (e_connman_service_ipv4_address_set(e, ipv4_address, NULL, NULL))
> + printf(":::Service %s ipv4 address set to \"%s\"\n", path,
> ipv4_address);
> + else
> + fputs("ERROR: can't set service ipv4 address\n", stderr);
> + return 1;
> +}
> +
> +
> +static int
> _on_input(void *data, Ecore_Fd_Handler *fd_handler)
> {
> char buf[256];
> @@ -1431,6 +2206,7 @@
> {"manager_get_profiles", _on_cmd_manager_get_profiles},
> {"manager_get_devices", _on_cmd_manager_get_devices},
> {"manager_get_connections", _on_cmd_manager_get_connections},
> + {"manager_get_services", _on_cmd_manager_get_services},
> {"manager_register_agent", _on_cmd_manager_register_agent},
> {"manager_unregister_agent", _on_cmd_manager_unregister_agent},
> {"manager_get_state", _on_cmd_manager_get_state},
> @@ -1455,6 +2231,9 @@
> {"device_get_scanning", _on_cmd_device_get_scanning},
> {"device_get_networks", _on_cmd_device_get_networks},
> {"profile_get_name", _on_cmd_profile_get_name},
> + {"profile_get_offline_mode", _on_cmd_profile_get_offline_mode},
> + {"profile_set_offline_mode", _on_cmd_profile_set_offline_mode},
> + {"profile_get_services", _on_cmd_profile_get_services},
> {"connection_get_type", _on_cmd_connection_get_type},
> {"connection_get_interface", _on_cmd_connection_get_interface},
> {"connection_get_strength", _on_cmd_connection_get_strength},
> @@ -1479,9 +2258,38 @@
> {"network_set_wifi_security", _on_cmd_network_set_wifi_security},
> {"network_get_wifi_passphrase", _on_cmd_network_get_wifi_passphrase},
> {"network_set_wifi_passphrase", _on_cmd_network_set_wifi_passphrase},
> + {"service_connect", _on_cmd_service_connect},
> + {"service_disconnect", _on_cmd_service_disconnect},
> + {"service_remove", _on_cmd_service_remove},
> + {"service_move_before", _on_cmd_service_move_before},
> + {"service_move_after", _on_cmd_service_move_after},
> + {"service_get_state", _on_cmd_service_get_state},
> + {"service_get_error", _on_cmd_service_get_error},
> + {"service_get_name", _on_cmd_service_get_name},
> + {"service_get_type", _on_cmd_service_get_type},
> + {"service_get_mode", _on_cmd_service_get_mode},
> + {"service_get_security", _on_cmd_service_get_security},
> + {"service_get_passphrase", _on_cmd_service_get_passphrase},
> + {"service_set_passphrase", _on_cmd_service_set_passphrase},
> + {"service_get_passphrase_required",
> _on_cmd_service_get_passphrase_required},
> + {"service_get_strength", _on_cmd_service_get_strength},
> + {"service_get_favorite", _on_cmd_service_get_favorite},
> + {"service_get_auto_connect", _on_cmd_service_get_auto_connect},
> + {"service_set_auto_connect", _on_cmd_service_set_auto_connect},
> + {"service_get_setup_required", _on_cmd_service_get_setup_required},
> + {"service_get_apn", _on_cmd_service_get_apn},
> + {"service_set_apn", _on_cmd_service_set_apn},
> + {"service_get_mcc", _on_cmd_service_get_mcc},
> + {"service_get_mnc", _on_cmd_service_get_mnc},
> + {"service_get_roaming", _on_cmd_service_get_roaming},
> + {"service_get_ipv4_method", _on_cmd_service_get_ipv4_method},
> + {"service_set_ipv4_method", _on_cmd_service_set_ipv4_method},
> + {"service_get_ipv4_address", _on_cmd_service_get_ipv4_address},
> + {"service_set_ipv4_address", _on_cmd_service_set_ipv4_address},
> {NULL, NULL}
> };
>
> +
> if (ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_ERROR))
> {
> fputs("ERROR: reading from stdin, exit\n", stderr);
>
> Modified: trunk/e_dbus/src/bin/e_dbus_connman_test_api.c
> ===================================================================
> --- trunk/e_dbus/src/bin/e_dbus_connman_test_api.c 2009-12-19 21:05:49 UTC
> (rev 44580)
> +++ trunk/e_dbus/src/bin/e_dbus_connman_test_api.c 2009-12-19 22:18:02 UTC
> (rev 44581)
> @@ -2,10 +2,10 @@
> #include <stdio.h>
> #include <string.h>
>
> -#define DBG(...) EINA_ERROR_PDBG(__VA_ARGS__)
> -#define INF(...) EINA_ERROR_PINFO(__VA_ARGS__)
> -#define WRN(...) EINA_ERROR_PWARN(__VA_ARGS__)
> -#define ERR(...) EINA_ERROR_PERR(__VA_ARGS__)
> +#define DBG(...) EINA_LOG_DBG(__VA_ARGS__)
> +#define INF(...) EINA_LOG_INFO(__VA_ARGS__)
> +#define WRN(...) EINA_LOG_WARN(__VA_ARGS__)
> +#define ERR(...) EINA_LOG_ERR(__VA_ARGS__)
>
> static int success = 0;
> static int failure = 0;
> @@ -341,6 +341,7 @@
> TEST_DESC_ELEMENTS_GET_GLOBAL(e_connman_manager_profiles_get, 0),
> TEST_DESC_ELEMENTS_GET_GLOBAL(e_connman_manager_devices_get, 0),
> TEST_DESC_ELEMENTS_GET_GLOBAL(e_connman_manager_connections_get, 1),
> + TEST_DESC_ELEMENTS_GET_GLOBAL(e_connman_manager_services_get, 1),
> TEST_DESC_SENTINEL
> };
>
> @@ -363,6 +364,9 @@
>
> static const struct test_desc test_desc_profile[] = {
> TEST_DESC_STRING_GET(e_connman_profile_name_get, 0),
> + TEST_DESC_BOOL_GET(e_connman_profile_offline_mode_get, 0),
> + //TEST_DESC_BOOL_SET(e_connman_profile_offline_mode_set, 0),
> + TEST_DESC_ELEMENTS_GET(e_connman_profile_services_get, 1),
> TEST_DESC_SENTINEL
> };
>
> @@ -396,6 +400,34 @@
> TEST_DESC_SENTINEL
> };
>
> +static const struct test_desc test_desc_service[] = {
> + /* TODO: need to check exactly what properties may fail */
> + TEST_DESC_STRING_GET(e_connman_service_state_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_error_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_name_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_type_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_mode_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_security_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_passphrase_get, 1),
> + //TEST_DESC_STRING_SET(e_connman_service_passphrase_set, 1),
> + TEST_DESC_BOOL_GET(e_connman_service_passphrase_required_get, 1),
> + TEST_DESC_UCHAR_GET(e_connman_service_strength_get, 1),
> + TEST_DESC_BOOL_GET(e_connman_service_favorite_get, 1),
> + TEST_DESC_BOOL_GET(e_connman_service_auto_connect_get, 1),
> + //TEST_DESC_BOOL_SET(e_connman_service_auto_connect_set, 1),
> + TEST_DESC_BOOL_GET(e_connman_service_setup_required_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_apn_get, 1),
> + //TEST_DESC_STRING_SET(e_connman_service_apn_set, 1),
> + TEST_DESC_STRING_GET(e_connman_service_mcc_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_mnc_get, 1),
> + TEST_DESC_BOOL_GET(e_connman_service_roaming_get, 1),
> + TEST_DESC_STRING_GET(e_connman_service_ipv4_method_get, 1),
> + //TEST_DESC_STRING_SET(e_connman_service_ipv4_method_set, 1),
> + TEST_DESC_STRING_GET(e_connman_service_ipv4_address_get, 1),
> + //TEST_DESC_STRING_SET(e_connman_service_ipv4_address_set, 1),
> + TEST_DESC_SENTINEL
> +};
> +
> static int
> _quit(void *data)
> {
> @@ -442,6 +474,8 @@
> _test_element(element, test_desc_network);
> else if (e_connman_element_is_manager(element))
> _test_element(element, test_desc_manager);
> + else if (e_connman_element_is_service(element))
> + _test_element(element, test_desc_service);
> else
> ERR("!!! don't know how to test %s [%s]\n",
> element->path, element->interface);
>
> Modified: trunk/e_dbus/src/lib/connman/E_Connman.h
> ===================================================================
> --- trunk/e_dbus/src/lib/connman/E_Connman.h 2009-12-19 21:05:49 UTC (rev
> 44580)
> +++ trunk/e_dbus/src/lib/connman/E_Connman.h 2009-12-19 22:18:02 UTC (rev
> 44581)
> @@ -61,6 +61,11 @@
> Eina_Inlist *agent_register;
> Eina_Inlist *agent_unregister;
> Eina_Inlist *device_propose_scan;
> + Eina_Inlist *service_connect;
> + Eina_Inlist *service_disconnect;
> + Eina_Inlist *service_remove;
> + Eina_Inlist *service_move_before;
> + Eina_Inlist *service_move_after;
> } _pending;
> struct {
> Ecore_Idler *changed;
> @@ -125,12 +130,12 @@
> EAPI bool e_connman_manager_profiles_get(unsigned int *count,
> E_Connman_Element ***p_elements);
> EAPI bool e_connman_manager_devices_get(unsigned int *count,
> E_Connman_Element ***p_elements);
> EAPI bool e_connman_manager_connections_get(unsigned int *count,
> E_Connman_Element ***p_elements);
> + EAPI bool e_connman_manager_services_get(unsigned int *count,
> E_Connman_Element ***p_elements);
>
> // TODO: profile_add (not implemented in connman right now)
> // TODO: profile_remove (not implemented in connman right now)
> // TODO: profile_active_get (not implemented in connman right now)
> // TODO: profile_active_set (not implemented in connman right now)
> - // TODO: services_get (not implemented in connman right now)
>
>
> /* Device Methods */
> @@ -172,8 +177,11 @@
> EAPI E_Connman_Element *e_connman_profile_get(const char *path)
> EINA_ARG_NONNULL(1) EINA_PURE EINA_WARN_UNUSED_RESULT;
> EAPI bool e_connman_profile_name_get(const E_Connman_Element *profile,
> const char **name) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
>
> - // TODO: services_get (not implemented in connman right now)
> + EAPI bool e_connman_profile_offline_mode_get(const E_Connman_Element
> *profile, bool *offline) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_profile_offline_mode_set(E_Connman_Element *profile,
> bool offline, E_DBus_Method_Return_Cb cb, const void *data)
> EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
>
> + EAPI bool e_connman_profile_services_get(const E_Connman_Element *profile,
> unsigned int *count, E_Connman_Element ***p_elements) EINA_ARG_NONNULL(1, 2,
> 3) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> /* Connection Methods */
>
> EAPI E_Connman_Element *e_connman_connection_get(const char *path)
> EINA_ARG_NONNULL(1) EINA_PURE EINA_WARN_UNUSED_RESULT;
> @@ -228,6 +236,61 @@
>
> // TODO: address_get
>
> + /* Services Methods */
> +
> + EAPI E_Connman_Element *e_connman_service_get(const char *path)
> EINA_ARG_NONNULL(1) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_connect(E_Connman_Element *service,
> E_DBus_Method_Return_Cb cb, const void *data) EINA_ARG_NONNULL(1)
> EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_service_disconnect(E_Connman_Element *service,
> E_DBus_Method_Return_Cb cb, const void *data) EINA_ARG_NONNULL(1)
> EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_remove(E_Connman_Element *service,
> E_DBus_Method_Return_Cb cb, const void *data) EINA_ARG_NONNULL(1)
> EINA_WARN_UNUSED_RESULT;
> +
> + // TODO: clear_property
> +
> + EAPI bool e_connman_service_move_before(E_Connman_Element *service, const
> char *object_path, E_DBus_Method_Return_Cb cb, const void *data)
> EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_service_move_after(E_Connman_Element *service, const
> char *object_path, E_DBus_Method_Return_Cb cb, const void *data)
> EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_state_get(const E_Connman_Element *service,
> const char **state) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_error_get(const E_Connman_Element *service,
> const char **error) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_name_get(const E_Connman_Element *service,
> const char **name) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_type_get(const E_Connman_Element *service,
> const char **type) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_mode_get(const E_Connman_Element *service,
> const char **mode) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_security_get(const E_Connman_Element *service,
> const char **security) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_passphrase_get(const E_Connman_Element
> *service, const char **passphrase) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_service_passphrase_set(E_Connman_Element *service,
> const char *passphrase, E_DBus_Method_Return_Cb cb, const void *data)
> EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_passphrase_required_get(const
> E_Connman_Element *service, bool *passphrase_required) EINA_ARG_NONNULL(1, 2)
> EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_strength_get(const E_Connman_Element *service,
> unsigned char *strength) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_favorite_get(const E_Connman_Element *service,
> bool *favorite) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_auto_connect_get(const E_Connman_Element
> *service, bool *auto_connect) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_service_auto_connect_set(E_Connman_Element *service,
> bool auto_connect, E_DBus_Method_Return_Cb cb, const void *data)
> EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_setup_required_get(const E_Connman_Element
> *service, bool *setup_required) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_apn_get(const E_Connman_Element *service,
> const char **apn) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_service_apn_set(E_Connman_Element *service, const char
> *apn, E_DBus_Method_Return_Cb cb, const void *data) EINA_ARG_NONNULL(1)
> EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_mcc_get(const E_Connman_Element *service,
> const char **mcc) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_mnc_get(const E_Connman_Element *service,
> const char **mnc) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_roaming_get(const E_Connman_Element *service,
> bool *roaming) EINA_ARG_NONNULL(1, 2) EINA_PURE EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_ipv4_method_get(const E_Connman_Element
> *service, const char **method) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_service_ipv4_method_set(E_Connman_Element *service,
> const char *method, E_DBus_Method_Return_Cb cb, const void *data)
> EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
> +
> + EAPI bool e_connman_service_ipv4_address_get(const E_Connman_Element
> *service, const char **address) EINA_ARG_NONNULL(1, 2) EINA_PURE
> EINA_WARN_UNUSED_RESULT;
> + EAPI bool e_connman_service_ipv4_address_set(E_Connman_Element *service,
> const char *address, E_DBus_Method_Return_Cb cb, const void *data)
> EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
> +
> #ifdef __cplusplus
> }
> #endif
>
> Modified: trunk/e_dbus/src/lib/connman/Makefile.am
> ===================================================================
> --- trunk/e_dbus/src/lib/connman/Makefile.am 2009-12-19 21:05:49 UTC (rev
> 44580)
> +++ trunk/e_dbus/src/lib/connman/Makefile.am 2009-12-19 22:18:02 UTC (rev
> 44581)
> @@ -18,7 +18,8 @@
> e_connman_element.c \
> e_connman_manager.c \
> e_connman_network.c \
> -e_connman_profile.c
> +e_connman_profile.c \
> +e_connman_service.c
>
> libeconnman_la_LIBADD = \
> @EDBUS_LIBS@ @EVAS_LIBS@ \
>
> Modified: trunk/e_dbus/src/lib/connman/e_connman.c
> ===================================================================
> --- trunk/e_dbus/src/lib/connman/e_connman.c 2009-12-19 21:05:49 UTC (rev
> 44580)
> +++ trunk/e_dbus/src/lib/connman/e_connman.c 2009-12-19 22:18:02 UTC (rev
> 44581)
> @@ -44,6 +44,7 @@
> const char *e_connman_prop_powered = NULL;
> const char *e_connman_prop_priority = NULL;
> const char *e_connman_prop_profiles = NULL;
> +const char *e_connman_prop_services = NULL;
> const char *e_connman_prop_remember = NULL;
> const char *e_connman_prop_scan_interval = NULL;
> const char *e_connman_prop_scanning = NULL;
> @@ -54,7 +55,20 @@
> const char *e_connman_prop_wifi_passphrase = NULL;
> const char *e_connman_prop_wifi_security = NULL;
> const char *e_connman_prop_wifi_ssid = NULL;
> +const char *e_connman_prop_error = NULL;
> +const char *e_connman_prop_mode = NULL;
> +const char *e_connman_prop_security = NULL;
> +const char *e_connman_prop_passphrase = NULL;
> +const char *e_connman_prop_passphrase_required = NULL;
> +const char *e_connman_prop_favorite = NULL;
> +const char *e_connman_prop_auto_connect = NULL;
> +const char *e_connman_prop_setup_required = NULL;
> +const char *e_connman_prop_apn = NULL;
> +const char *e_connman_prop_mcc = NULL;
> +const char *e_connman_prop_mnc = NULL;
> +const char *e_connman_prop_roaming = NULL;
>
> +
> int _e_dbus_connman_log_dom = -1;
>
> const char *
> @@ -289,6 +303,8 @@
> e_connman_prop_priority = eina_stringshare_add("Priority");
> if (e_connman_prop_profiles == NULL)
> e_connman_prop_profiles = eina_stringshare_add("Profiles");
> + if (e_connman_prop_services == NULL)
> + e_connman_prop_services = eina_stringshare_add("Services");
> if (e_connman_prop_remember == NULL)
> e_connman_prop_remember = eina_stringshare_add("Remember");
> if (e_connman_prop_scan_interval == NULL)
> @@ -309,6 +325,30 @@
> e_connman_prop_wifi_security = eina_stringshare_add("WiFi.Security");
> if (e_connman_prop_wifi_ssid == NULL)
> e_connman_prop_wifi_ssid = eina_stringshare_add("WiFi.SSID");
> + if (e_connman_prop_error == NULL)
> + e_connman_prop_error = eina_stringshare_add("Error");
> + if (e_connman_prop_mode == NULL)
> + e_connman_prop_mode = eina_stringshare_add("Mode");
> + if (e_connman_prop_security == NULL)
> + e_connman_prop_security = eina_stringshare_add("Security");
> + if (e_connman_prop_passphrase == NULL)
> + e_connman_prop_passphrase = eina_stringshare_add("Passphrase");
> + if (e_connman_prop_passphrase_required == NULL)
> + e_connman_prop_passphrase_required =
> eina_stringshare_add("PassphraseRequired");
> + if (e_connman_prop_favorite == NULL)
> + e_connman_prop_favorite = eina_stringshare_add("Favorite");
> + if (e_connman_prop_auto_connect == NULL)
> + e_connman_prop_auto_connect = eina_stringshare_add("AutoConnect");
> + if (e_connman_prop_setup_required == NULL)
> + e_connman_prop_setup_required = eina_stringshare_add("SetupRequired");
> + if (e_connman_prop_apn == NULL)
> + e_connman_prop_apn = eina_stringshare_add("APN");
> + if (e_connman_prop_mcc == NULL)
> + e_connman_prop_mcc = eina_stringshare_add("MCC");
> + if (e_connman_prop_mnc == NULL)
> + e_connman_prop_mnc = eina_stringshare_add("MCN");
> + if (e_connman_prop_roaming == NULL)
> + e_connman_prop_roaming = eina_stringshare_add("Roaming");
>
> e_connman_conn = edbus_conn;
> cb_name_owner_changed = e_dbus_signal_handler_add
> @@ -377,6 +417,7 @@
> _stringshare_del(&e_connman_prop_powered);
> _stringshare_del(&e_connman_prop_priority);
> _stringshare_del(&e_connman_prop_profiles);
> + _stringshare_del(&e_connman_prop_services);
> _stringshare_del(&e_connman_prop_remember);
> _stringshare_del(&e_connman_prop_scan_interval);
> _stringshare_del(&e_connman_prop_scanning);
> @@ -387,6 +428,18 @@
> _stringshare_del(&e_connman_prop_wifi_passphrase);
> _stringshare_del(&e_connman_prop_wifi_security);
> _stringshare_del(&e_connman_prop_wifi_ssid);
> + _stringshare_del(&e_connman_prop_error);
> + _stringshare_del(&e_connman_prop_mode);
> + _stringshare_del(&e_connman_prop_security);
> + _stringshare_del(&e_connman_prop_passphrase);
> + _stringshare_del(&e_connman_prop_passphrase_required);
> + _stringshare_del(&e_connman_prop_favorite);
> + _stringshare_del(&e_connman_prop_auto_connect);
> + _stringshare_del(&e_connman_prop_setup_required);
> + _stringshare_del(&e_connman_prop_apn);
> + _stringshare_del(&e_connman_prop_mcc);
> + _stringshare_del(&e_connman_prop_mnc);
> + _stringshare_del(&e_connman_prop_roaming);
>
> if (pending_get_name_owner)
> {
>
> Modified: trunk/e_dbus/src/lib/connman/e_connman_element.c
> ===================================================================
> --- trunk/e_dbus/src/lib/connman/e_connman_element.c 2009-12-19 21:05:49 UTC
> (rev 44580)
> +++ trunk/e_dbus/src/lib/connman/e_connman_element.c 2009-12-19 22:18:02 UTC
> (rev 44581)
> @@ -300,6 +300,10 @@
> if (strcmp(tail, "onnections") == 0)
> interface = e_connman_iface_connection;
> break;
> + case 'S':
> + if (strcmp(tail, "ervices") == 0)
> + interface = e_connman_iface_service;
> + break;
> default:
> break;
> }
> @@ -699,6 +703,11 @@
>
> e_connman_element_pending_cancel_and_free(&element->_pending.agent_register);
>
> e_connman_element_pending_cancel_and_free(&element->_pending.agent_unregister);
>
> e_connman_element_pending_cancel_and_free(&element->_pending.device_propose_scan);
> +
> e_connman_element_pending_cancel_and_free(&element->_pending.service_connect);
> +
> e_connman_element_pending_cancel_and_free(&element->_pending.service_disconnect);
> +
> e_connman_element_pending_cancel_and_free(&element->_pending.service_remove);
> +
> e_connman_element_pending_cancel_and_free(&element->_pending.service_move_before);
> +
> e_connman_element_pending_cancel_and_free(&element->_pending.service_move_after);
>
> e_connman_element_extra_properties_free(element);
> eina_stringshare_del(element->interface);
> @@ -1676,3 +1685,10 @@
> EINA_SAFETY_ON_NULL_RETURN_VAL(element, 0);
> return _e_connman_element_is(element, e_connman_iface_network);
> }
> +
> +bool
> +e_connman_element_is_service(const E_Connman_Element *element)
> +{
> + EINA_SAFETY_ON_NULL_RETURN_VAL(element, 0);
> + return _e_connman_element_is(element, e_connman_iface_service);
> +}
>
> Modified: trunk/e_dbus/src/lib/connman/e_connman_manager.c
> ===================================================================
> --- trunk/e_dbus/src/lib/connman/e_connman_manager.c 2009-12-19 21:05:49 UTC
> (rev 44580)
> +++ trunk/e_dbus/src/lib/connman/e_connman_manager.c 2009-12-19 22:18:02 UTC
> (rev 44581)
> @@ -328,3 +328,41 @@
> return e_connman_element_objects_array_get_stringshared
> (element, e_connman_prop_connections, count, p_elements);
> }
> +
> +/**
> + * Get array of services elements.
> + *
> + * List of service object paths. The list is sorted
> + * internally to have the service with the default
> + * route always first and then the favorite services
> + * followed by scan results.
> + *
> + * This list represents the available services for the
> + * current selected profile. If the profile gets changed
> + * then this list will be updated.
> + *
> + * The same list is available via the profile object
> + * itself. It is just provided here for convenience of
> + * applications only dealing with the current active
> + * profile.
> + *
> + * @param count return the number of elements in array.
> + * @param p_elements array with all elements, these are not referenced
> + * and in no particular order, just set if return is 1.
> + *
> + * @return 1 on success, 0 otherwise.
> + */
> +bool
> +e_connman_manager_services_get(unsigned int *count, E_Connman_Element
> ***p_elements)
> +{
> + E_Connman_Element *element;
> +
> + EINA_SAFETY_ON_NULL_RETURN_VAL(count, 0);
> + EINA_SAFETY_ON_NULL_RETURN_VAL(p_elements, 0);
> +
> + element = e_connman_manager_get();
> + if (!element)
> + return 0;
> + return e_connman_element_objects_array_get_stringshared
> + (element, e_connman_prop_services, count, p_elements);
> +}
>
> Modified: trunk/e_dbus/src/lib/connman/e_connman_private.h
> ===================================================================
> --- trunk/e_dbus/src/lib/connman/e_connman_private.h 2009-12-19 21:05:49 UTC
> (rev 44580)
> +++ trunk/e_dbus/src/lib/connman/e_connman_private.h 2009-12-19 22:18:02 UTC
> (rev 44581)
> @@ -31,6 +31,7 @@
> extern const char *e_connman_prop_powered;
> extern const char *e_connman_prop_priority;
> extern const char *e_connman_prop_profiles;
> +extern const char *e_connman_prop_services;
> extern const char *e_connman_prop_remember;
> extern const char *e_connman_prop_scan_interval;
> extern const char *e_connman_prop_scanning;
> @@ -41,6 +42,19 @@
> extern const char *e_connman_prop_wifi_passphrase;
> extern const char *e_connman_prop_wifi_security;
> extern const char *e_connman_prop_wifi_ssid;
> +extern const char *e_connman_prop_error;
> +extern const char *e_connman_prop_mode;
> +extern const char *e_connman_prop_security;
> +extern const char *e_connman_prop_passphrase;
> +extern const char *e_connman_prop_passphrase_required;
> +extern const char *e_connman_prop_favorite;
> +extern const char *e_connman_prop_auto_connect;
> +extern const char *e_connman_prop_setup_required;
> +extern const char *e_connman_prop_apn;
> +extern const char *e_connman_prop_mcc;
> +extern const char *e_connman_prop_mnc;
> +extern const char *e_connman_prop_roaming;
> +
> extern int _e_dbus_connman_log_dom;
>
> #ifndef EINA_LOG_DEFAULT_COLOR
>
> Modified: trunk/e_dbus/src/lib/connman/e_connman_profile.c
> ===================================================================
> --- trunk/e_dbus/src/lib/connman/e_connman_profile.c 2009-12-19 21:05:49 UTC
> (rev 44580)
> +++ trunk/e_dbus/src/lib/connman/e_connman_profile.c 2009-12-19 22:18:02 UTC
> (rev 44581)
> @@ -45,3 +45,75 @@
> return e_connman_element_property_get_stringshared
> (profile, e_connman_prop_name, NULL, name);
> }
> +
> +/**
> + * Get property "OfflineMode" value.
> + *
> + * If this property isn't found then 0 is returned.
> + * If zero is returned, then this call failed and parameter-returned
> + * values shall be considered invalid.
> + *
> + * The offline mode indicates the global setting for
> + * switching all radios on or off. Changing offline mode
> + * to true results in powering down all devices.
> + *
> + * @param offline where to store the property value, must be a pointer
> + * to booleans (bool *).
> + *
> + * @return 1 on success, 0 otherwise.
> + * @see e_connman_profile_offline_mode_set()
> + */
> +bool
> +e_connman_profile_offline_mode_get(const E_Connman_Element *profile, bool
> *offline)
> +{
> + EINA_SAFETY_ON_NULL_RETURN_VAL(profile, 0);
> + EINA_SAFETY_ON_NULL_RETURN_VAL(offline, 0);
> + return e_connman_element_property_get_stringshared
> + (profile, e_connman_prop_offline_mode, NULL, offline);
> +}
> +
> +/**
> + * Call method SetProperty("OfflineMode", offline) at the given element on
> server.
> + *
> + * This is a server call, not local, so it may fail and in that case
> + * no property is updated locally. If the value was set the event
> + * E_CONNMAN_EVENT_ELEMENT_UPDATED will be added to main loop.
> + *
> + * The offline mode indicates the global setting for
> + * switching all radios on or off. Changing offline mode
> + * to true results in powering down all devices.
> + *
> + * @param offline value to set.
> + * @param cb function to call when server replies or some error happens.
> + * @param data data to give to cb when it is called.
> + *
> + * @return 1 on success, 0 otherwise.
> + * @see e_connman_profile_offline_mode_get()
> + */
> +bool
> +e_connman_profile_offline_mode_set(E_Connman_Element *profile, bool offline,
> E_DBus_Method_Return_Cb cb, const void *data)
> +{
> + EINA_SAFETY_ON_NULL_RETURN_VAL(profile, 0);
> + return e_connman_element_property_set_full
> + (profile, e_connman_prop_offline_mode, DBUS_TYPE_BOOLEAN,
> + &offline, cb, data);
> +}
> +
> +/**
> + * Get array of service elements.
> + *
> + * @param count return the number of elements in array.
> + * @param p_elements array with all elements, these are not referenced
> + * and in no particular order, just set if return is 1.
> + *
> + * @return 1 on success, 0 otherwise.
> + */
> +bool
> +e_connman_profile_services_get(const E_Connman_Element *profile, unsigned
> int *count, E_Connman_Element ***p_elements)
> +{
> + EINA_SAFETY_ON_NULL_RETURN_VAL(profile, 0);
> + EINA_SAFETY_ON_NULL_RETURN_VAL(count, 0);
> + EINA_SAFETY_ON_NULL_RETURN_VAL(p_elements, 0);
> + return e_connman_element_objects_array_get_stringshared
> + (profile, e_connman_prop_services, count, p_elements);
> +}
>
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast and easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> enlightenment-svn mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
>
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel