diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/companion_proxy.c | 182 | ||||
-rw-r--r-- | src/companion_proxy.h | 2 |
2 files changed, 92 insertions, 92 deletions
diff --git a/src/companion_proxy.c b/src/companion_proxy.c index edce500..f09b416 100644 --- a/src/companion_proxy.c +++ b/src/companion_proxy.c @@ -32,76 +32,76 @@ #include "common/thread.h" /** - * Convert a property_list_service_error_t value to a compproxy_error_t value. + * Convert a property_list_service_error_t value to a companion_proxy_error_t value. * Used internally to get correct error codes. * * @param err An property_list_service_error_t error code * - * @return A matching compproxy_error_t error code, - * COMPPROXY_E_UNKNOWN_ERROR otherwise. + * @return A matching companion_proxy_error_t error code, + * COMPANION_PROXY_E_UNKNOWN_ERROR otherwise. */ -static compproxy_error_t compproxy_error(property_list_service_error_t err) +static companion_proxy_error_t companion_proxy_error(property_list_service_error_t err) { switch (err) { case PROPERTY_LIST_SERVICE_E_SUCCESS: - return COMPPROXY_E_SUCCESS; + return COMPANION_PROXY_E_SUCCESS; case PROPERTY_LIST_SERVICE_E_INVALID_ARG: - return COMPPROXY_E_INVALID_ARG; + return COMPANION_PROXY_E_INVALID_ARG; case PROPERTY_LIST_SERVICE_E_PLIST_ERROR: - return COMPPROXY_E_PLIST_ERROR; + return COMPANION_PROXY_E_PLIST_ERROR; case PROPERTY_LIST_SERVICE_E_MUX_ERROR: - return COMPPROXY_E_MUX_ERROR; + return COMPANION_PROXY_E_MUX_ERROR; case PROPERTY_LIST_SERVICE_E_SSL_ERROR: - return COMPPROXY_E_SSL_ERROR; + return COMPANION_PROXY_E_SSL_ERROR; case PROPERTY_LIST_SERVICE_E_NOT_ENOUGH_DATA: - return COMPPROXY_E_NOT_ENOUGH_DATA; + return COMPANION_PROXY_E_NOT_ENOUGH_DATA; case PROPERTY_LIST_SERVICE_E_RECEIVE_TIMEOUT: - return COMPPROXY_E_TIMEOUT; + return COMPANION_PROXY_E_TIMEOUT; default: break; } - return COMPPROXY_E_UNKNOWN_ERROR; + return COMPANION_PROXY_E_UNKNOWN_ERROR; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_client_new(idevice_t device, lockdownd_service_descriptor_t service, compproxy_client_t * client) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_client_new(idevice_t device, lockdownd_service_descriptor_t service, companion_proxy_client_t * client) { *client = NULL; if (!device || !service || service->port == 0 || !client || *client) { - debug_info("Incorrect parameter passed to compproxy_client_new."); - return COMPPROXY_E_INVALID_ARG; + debug_info("Incorrect parameter passed to companion_proxy_client_new."); + return COMPANION_PROXY_E_INVALID_ARG; } - debug_info("Creating compproxy_client, port = %d.", service->port); + debug_info("Creating companion_proxy_client, port = %d.", service->port); property_list_service_client_t plclient = NULL; - compproxy_error_t ret = compproxy_error(property_list_service_client_new(device, service, &plclient)); - if (ret != COMPPROXY_E_SUCCESS) { + companion_proxy_error_t ret = companion_proxy_error(property_list_service_client_new(device, service, &plclient)); + if (ret != COMPANION_PROXY_E_SUCCESS) { debug_info("Creating a property list client failed. Error: %i", ret); return ret; } - compproxy_client_t client_loc = (compproxy_client_t) malloc(sizeof(struct compproxy_client_private)); + companion_proxy_client_t client_loc = (companion_proxy_client_t) malloc(sizeof(struct companion_proxy_client_private)); client_loc->parent = plclient; client_loc->event_thread = THREAD_T_NULL; *client = client_loc; - debug_info("compproxy_client successfully created."); - return COMPPROXY_E_SUCCESS; + debug_info("Created companion_proxy_client successfully."); + return COMPANION_PROXY_E_SUCCESS; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_client_start_service(idevice_t device, compproxy_client_t * client, const char* label) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_client_start_service(idevice_t device, companion_proxy_client_t * client, const char* label) { - compproxy_error_t err = COMPPROXY_E_UNKNOWN_ERROR; - service_client_factory_start_service(device, COMPPROXY_SERVICE_NAME, (void**)client, label, SERVICE_CONSTRUCTOR(compproxy_client_new), &err); + companion_proxy_error_t err = COMPANION_PROXY_E_UNKNOWN_ERROR; + service_client_factory_start_service(device, COMPANION_PROXY_SERVICE_NAME, (void**)client, label, SERVICE_CONSTRUCTOR(companion_proxy_client_new), &err); return err; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_client_free(compproxy_client_t client) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_client_free(companion_proxy_client_t client) { if (!client) - return COMPPROXY_E_INVALID_ARG; + return COMPANION_PROXY_E_INVALID_ARG; property_list_service_client_t parent = client->parent; client->parent = NULL; @@ -111,18 +111,18 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_client_free(compproxy_client_t thread_free(client->event_thread); client->event_thread = THREAD_T_NULL; } - compproxy_error_t err = compproxy_error(property_list_service_client_free(parent)); + companion_proxy_error_t err = companion_proxy_error(property_list_service_client_free(parent)); free(client); return err; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_send(compproxy_client_t client, plist_t plist) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_send(companion_proxy_client_t client, plist_t plist) { - compproxy_error_t res = COMPPROXY_E_UNKNOWN_ERROR; + companion_proxy_error_t res = COMPANION_PROXY_E_UNKNOWN_ERROR; - res = compproxy_error(property_list_service_send_binary_plist(client->parent, plist)); - if (res != COMPPROXY_E_SUCCESS) { + res = companion_proxy_error(property_list_service_send_binary_plist(client->parent, plist)); + if (res != COMPANION_PROXY_E_SUCCESS) { debug_info("Sending plist failed with error %d", res); return res; } @@ -130,53 +130,53 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_send(compproxy_client_t client, return res; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_receive(compproxy_client_t client, plist_t * plist) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_receive(companion_proxy_client_t client, plist_t * plist) { - compproxy_error_t res = COMPPROXY_E_UNKNOWN_ERROR; + companion_proxy_error_t res = COMPANION_PROXY_E_UNKNOWN_ERROR; plist_t outplist = NULL; - res = compproxy_error(property_list_service_receive_plist_with_timeout(client->parent, &outplist, 10000)); - if (res != COMPPROXY_E_SUCCESS && res != COMPPROXY_E_TIMEOUT) { + res = companion_proxy_error(property_list_service_receive_plist_with_timeout(client->parent, &outplist, 10000)); + if (res != COMPANION_PROXY_E_SUCCESS && res != COMPANION_PROXY_E_TIMEOUT) { debug_info("Could not receive plist, error %d", res); plist_free(outplist); - } else if (res == COMPPROXY_E_SUCCESS) { + } else if (res == COMPANION_PROXY_E_SUCCESS) { *plist = outplist; } return res; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_get_device_registry(compproxy_client_t client, plist_t* paired_devices) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_get_device_registry(companion_proxy_client_t client, plist_t* paired_devices) { if (!client || !paired_devices) { - return COMPPROXY_E_INVALID_ARG; + return COMPANION_PROXY_E_INVALID_ARG; } plist_t dict = plist_new_dict(); plist_dict_set_item(dict, "Command", plist_new_string("GetDeviceRegistry")); - compproxy_error_t res = compproxy_send(client, dict); + companion_proxy_error_t res = companion_proxy_send(client, dict); plist_free(dict); dict = NULL; - if (res != COMPPROXY_E_SUCCESS) { + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } - res = compproxy_receive(client, &dict); - if (res != COMPPROXY_E_SUCCESS) { + res = companion_proxy_receive(client, &dict); + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } if (!dict || !PLIST_IS_DICT(dict)) { - return COMPPROXY_E_PLIST_ERROR; + return COMPANION_PROXY_E_PLIST_ERROR; } plist_t val = plist_dict_get_item(dict, "PairedDevicesArray"); if (val) { *paired_devices = plist_copy(val); - res = COMPPROXY_E_SUCCESS; + res = COMPANION_PROXY_E_SUCCESS; } else { - res = COMPPROXY_E_UNKNOWN_ERROR; + res = COMPANION_PROXY_E_UNKNOWN_ERROR; val = plist_dict_get_item(dict, "Error"); if (val) { if (plist_string_val_compare(val, "NoPairedWatches")) { - res = COMPPROXY_E_NO_DEVICES; + res = COMPANION_PROXY_E_NO_DEVICES; } } } @@ -184,24 +184,24 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_get_device_registry(compproxy_c return res; } -struct compproxy_cb_data { - compproxy_client_t client; - compproxy_device_event_cb_t cbfunc; +struct companion_proxy_cb_data { + companion_proxy_client_t client; + companion_proxy_device_event_cb_t cbfunc; void* user_data; }; -static void* compproxy_event_thread(void* arg) +static void* companion_proxy_event_thread(void* arg) { - struct compproxy_cb_data* data = (struct compproxy_cb_data*)arg; - compproxy_client_t client = data->client; - compproxy_error_t res; + struct companion_proxy_cb_data* data = (struct companion_proxy_cb_data*)arg; + companion_proxy_client_t client = data->client; + companion_proxy_error_t res; plist_t command = plist_new_dict(); plist_dict_set_item(command, "Command", plist_new_string("StartListeningForDevices")); - res = compproxy_send(client, command); + res = companion_proxy_send(client, command); plist_free(command); - if (res != COMPPROXY_E_SUCCESS) { + if (res != COMPANION_PROXY_E_SUCCESS) { free(data); client->event_thread = THREAD_T_NULL; return NULL; @@ -209,8 +209,8 @@ static void* compproxy_event_thread(void* arg) while (client && client->parent) { plist_t node = NULL; - res = compproxy_error(property_list_service_receive_plist_with_timeout(client->parent, &node, 1000)); - if (res != COMPPROXY_E_SUCCESS && res != COMPPROXY_E_TIMEOUT) { + res = companion_proxy_error(property_list_service_receive_plist_with_timeout(client->parent, &node, 1000)); + if (res != COMPANION_PROXY_E_SUCCESS && res != COMPANION_PROXY_E_TIMEOUT) { debug_info("could not receive plist, error %d", res); break; } @@ -227,25 +227,25 @@ static void* compproxy_event_thread(void* arg) return NULL; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_start_listening_for_devices(compproxy_client_t client, compproxy_device_event_cb_t callback, void* userdata) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_start_listening_for_devices(companion_proxy_client_t client, companion_proxy_device_event_cb_t callback, void* userdata) { if (!client || !client->parent || !callback) { - return COMPPROXY_E_INVALID_ARG; + return COMPANION_PROXY_E_INVALID_ARG; } if (client->event_thread) { - return COMPPROXY_E_OP_IN_PROGRESS; + return COMPANION_PROXY_E_OP_IN_PROGRESS; } - compproxy_error_t res = COMPPROXY_E_UNKNOWN_ERROR; - struct compproxy_cb_data *data = (struct compproxy_cb_data*)malloc(sizeof(struct compproxy_cb_data)); + companion_proxy_error_t res = COMPANION_PROXY_E_UNKNOWN_ERROR; + struct companion_proxy_cb_data *data = (struct companion_proxy_cb_data*)malloc(sizeof(struct companion_proxy_cb_data)); if (data) { data->client = client; data->cbfunc = callback; data->user_data = userdata; - if (thread_new(&client->event_thread, compproxy_event_thread, data) == 0) { - res = COMPPROXY_E_SUCCESS; + if (thread_new(&client->event_thread, companion_proxy_event_thread, data) == 0) { + res = COMPANION_PROXY_E_SUCCESS; } else { free(data); } @@ -253,7 +253,7 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_start_listening_for_devices(com return res; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_stop_listening_for_devices(compproxy_client_t client) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_stop_listening_for_devices(companion_proxy_client_t client) { property_list_service_client_t parent = client->parent; client->parent = NULL; @@ -264,13 +264,13 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_stop_listening_for_devices(comp client->event_thread = THREAD_T_NULL; } client->parent = parent; - return COMPPROXY_E_SUCCESS; + return COMPANION_PROXY_E_SUCCESS; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_get_value_from_registry(compproxy_client_t client, const char* companion_udid, const char* key, plist_t* value) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_get_value_from_registry(companion_proxy_client_t client, const char* companion_udid, const char* key, plist_t* value) { if (!client || !companion_udid || !key || !value) { - return COMPPROXY_E_INVALID_ARG; + return COMPANION_PROXY_E_INVALID_ARG; } plist_t dict = plist_new_dict(); @@ -278,32 +278,32 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_get_value_from_registry(comppro plist_dict_set_item(dict, "GetValueGizmoUDIDKey", plist_new_string(companion_udid)); plist_dict_set_item(dict, "GetValueKeyKey", plist_new_string(key)); - compproxy_error_t res = compproxy_send(client, dict); + companion_proxy_error_t res = companion_proxy_send(client, dict); plist_free(dict); dict = NULL; - if (res != COMPPROXY_E_SUCCESS) { + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } - res = compproxy_receive(client, &dict); - if (res != COMPPROXY_E_SUCCESS) { + res = companion_proxy_receive(client, &dict); + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } if (!dict || !PLIST_IS_DICT(dict)) { - return COMPPROXY_E_PLIST_ERROR; + return COMPANION_PROXY_E_PLIST_ERROR; } plist_t val = plist_dict_get_item(dict, "RetrievedValueDictionary"); if (val) { *value = plist_copy(val); - res = COMPPROXY_E_SUCCESS; + res = COMPANION_PROXY_E_SUCCESS; } else { - res = COMPPROXY_E_UNKNOWN_ERROR; + res = COMPANION_PROXY_E_UNKNOWN_ERROR; val = plist_dict_get_item(dict, "Error"); if (val) { if (!plist_string_val_compare(val, "UnsupportedWatchKey")) { - res = COMPPROXY_E_UNSUPPORTED_KEY; + res = COMPANION_PROXY_E_UNSUPPORTED_KEY; } else if (plist_string_val_compare(val, "TimeoutReply")) { - res = COMPPROXY_E_TIMEOUT_REPLY; + res = COMPANION_PROXY_E_TIMEOUT_REPLY; } } } @@ -311,10 +311,10 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_get_value_from_registry(comppro return res; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_start_forwarding_service_port(compproxy_client_t client, uint16_t remote_port, const char* service_name, uint16_t* forward_port, plist_t options) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_start_forwarding_service_port(companion_proxy_client_t client, uint16_t remote_port, const char* service_name, uint16_t* forward_port, plist_t options) { if (!client) { - return COMPPROXY_E_INVALID_ARG; + return COMPANION_PROXY_E_INVALID_ARG; } plist_t dict = plist_new_dict(); @@ -329,15 +329,15 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_start_forwarding_service_port(c plist_dict_merge(dict, options); } - compproxy_error_t res = compproxy_send(client, dict); + companion_proxy_error_t res = companion_proxy_send(client, dict); plist_free(dict); dict = NULL; - if (res != COMPPROXY_E_SUCCESS) { + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } - res = compproxy_receive(client, &dict); - if (res != COMPPROXY_E_SUCCESS) { + res = companion_proxy_receive(client, &dict); + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } plist_t val = plist_dict_get_item(dict, "CompanionProxyServicePort"); @@ -345,34 +345,34 @@ LIBIMOBILEDEVICE_API compproxy_error_t compproxy_start_forwarding_service_port(c uint64_t u64val = 0; plist_get_uint_val(val, &u64val); *forward_port = (uint16_t)u64val; - res = COMPPROXY_E_SUCCESS; + res = COMPANION_PROXY_E_SUCCESS; } else { - res = COMPPROXY_E_UNKNOWN_ERROR; + res = COMPANION_PROXY_E_UNKNOWN_ERROR; } plist_free(dict); return res; } -LIBIMOBILEDEVICE_API compproxy_error_t compproxy_stop_forwarding_service_port(compproxy_client_t client, uint16_t remote_port) +LIBIMOBILEDEVICE_API companion_proxy_error_t companion_proxy_stop_forwarding_service_port(companion_proxy_client_t client, uint16_t remote_port) { if (!client) { - return COMPPROXY_E_INVALID_ARG; + return COMPANION_PROXY_E_INVALID_ARG; } plist_t dict = plist_new_dict(); plist_dict_set_item(dict, "Command", plist_new_string("StopForwardingServicePort")); plist_dict_set_item(dict, "GizmoRemotePortNumber", plist_new_uint(remote_port)); - compproxy_error_t res = compproxy_send(client, dict); + companion_proxy_error_t res = companion_proxy_send(client, dict); plist_free(dict); dict = NULL; - if (res != COMPPROXY_E_SUCCESS) { + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } - res = compproxy_receive(client, &dict); - if (res != COMPPROXY_E_SUCCESS) { + res = companion_proxy_receive(client, &dict); + if (res != COMPANION_PROXY_E_SUCCESS) { return res; } plist_free(dict); diff --git a/src/companion_proxy.h b/src/companion_proxy.h index 33c4a80..0314b67 100644 --- a/src/companion_proxy.h +++ b/src/companion_proxy.h @@ -26,7 +26,7 @@ #include "property_list_service.h" #include "common/thread.h" -struct compproxy_client_private { +struct companion_proxy_client_private { property_list_service_client_t parent; THREAD_T event_thread; }; |