diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/InstallationProxy.c | 66 | ||||
| -rw-r--r-- | src/InstallationProxy.h | 3 | 
2 files changed, 35 insertions, 34 deletions
| diff --git a/src/InstallationProxy.c b/src/InstallationProxy.c index 387f9ca..34777d1 100644 --- a/src/InstallationProxy.c +++ b/src/InstallationProxy.c @@ -26,7 +26,7 @@  #include <plist/plist.h>  #include "InstallationProxy.h" -#include "iphone.h" +#include "property_list_service.h"  #include "utils.h"  struct instproxy_status_data { @@ -56,24 +56,25 @@ static void instproxy_unlock(instproxy_client_t client)  }  /** - * Convert an iphone_error_t value to an instproxy_error_t value. - * Used internally to get correct error codes when using plist helper - * functions. + * Convert a property_list_service_error_t value to an instproxy_error_t value. + * Used internally to get correct error codes.   * - * @param err An iphone_error_t error code + * @param err A property_list_service_error_t error code   *   * @return A matching instproxy_error_t error code,   *     INSTPROXY_E_UNKNOWN_ERROR otherwise.   */ -static instproxy_error_t iphone_to_instproxy_error(iphone_error_t err) +static instproxy_error_t instproxy_error(property_list_service_error_t err)  {  	switch (err) { -		case IPHONE_E_SUCCESS: +		case PROPERTY_LIST_SERVICE_E_SUCCESS:  			return INSTPROXY_E_SUCCESS; -		case IPHONE_E_INVALID_ARG: +		case PROPERTY_LIST_SERVICE_E_INVALID_ARG:  			return INSTPROXY_E_INVALID_ARG; -		case IPHONE_E_PLIST_ERROR: +		case PROPERTY_LIST_SERVICE_E_PLIST_ERROR:  			return INSTPROXY_E_PLIST_ERROR; +		case PROPERTY_LIST_SERVICE_E_MUX_ERROR: +			return INSTPROXY_E_CONN_FAILED;  		default:  			break;  	} @@ -100,14 +101,13 @@ instproxy_error_t instproxy_client_new(iphone_device_t device, int dst_port, ins  	if (!device)  		return INSTPROXY_E_INVALID_ARG; -	/* Attempt connection */ -	iphone_connection_t connection = NULL; -	if (iphone_device_connect(device, dst_port, &connection) != IPHONE_E_SUCCESS) { +	property_list_service_client_t plistclient = NULL; +	if (property_list_service_client_new(device, dst_port, &plistclient) != PROPERTY_LIST_SERVICE_E_SUCCESS) {  		return INSTPROXY_E_CONN_FAILED;  	}  	instproxy_client_t client_loc = (instproxy_client_t) malloc(sizeof(struct instproxy_client_int)); -	client_loc->connection = connection; +	client_loc->parent = plistclient;  	client_loc->mutex = g_mutex_new();  	client_loc->status_updater = NULL; @@ -128,8 +128,8 @@ instproxy_error_t instproxy_client_free(instproxy_client_t client)  	if (!client)  		return INSTPROXY_E_INVALID_ARG; -	iphone_device_disconnect(client->connection); -	client->connection = NULL; +	property_list_service_client_free(client->parent); +	client->parent = NULL;  	if (client->status_updater) {  		log_dbg_msg(DBGMASK_INSTPROXY, "joining status_updater");  		g_thread_join(client->status_updater); @@ -155,7 +155,7 @@ instproxy_error_t instproxy_client_free(instproxy_client_t client)   */  instproxy_error_t instproxy_browse(instproxy_client_t client, instproxy_apptype_t apptype, plist_t *result)  { -	if (!client || !client->connection || !result) +	if (!client || !client->parent || !result)  		return INSTPROXY_E_INVALID_ARG;  	instproxy_error_t res = INSTPROXY_E_UNKNOWN_ERROR; @@ -184,7 +184,7 @@ instproxy_error_t instproxy_browse(instproxy_client_t client, instproxy_apptype_  	plist_dict_insert_item(dict, "Command", plist_new_string("Browse"));  	instproxy_lock(client); -	res = iphone_to_instproxy_error(iphone_device_send_xml_plist(client->connection, dict)); +	res = instproxy_error(property_list_service_send_xml_plist(client->parent, dict));  	plist_free(dict);  	if (res != INSTPROXY_E_SUCCESS) {  		log_dbg_msg(DBGMASK_INSTPROXY, "%s: could not send plist\n", __func__); @@ -196,7 +196,7 @@ instproxy_error_t instproxy_browse(instproxy_client_t client, instproxy_apptype_  	do {  		browsing = 0;  		dict = NULL; -		res = iphone_to_instproxy_error(iphone_device_receive_plist(client->connection, &dict)); +		res = instproxy_error(property_list_service_receive_plist(client->parent, &dict));  		if (res != INSTPROXY_E_SUCCESS) {  			break;  		} @@ -261,7 +261,7 @@ static instproxy_error_t instproxy_perform_operation(instproxy_client_t client,  	do {  		instproxy_lock(client); -		res = iphone_to_instproxy_error(iphone_device_receive_plist_with_timeout(client->connection, &dict, 30000)); +		res = instproxy_error(property_list_service_receive_plist_with_timeout(client->parent, &dict, 30000));  		instproxy_unlock(client);  		if (res != INSTPROXY_E_SUCCESS) {  			log_dbg_msg(DBGMASK_INSTPROXY, "%s: could not receive plist, error %d\n", __func__, res); @@ -314,7 +314,7 @@ static instproxy_error_t instproxy_perform_operation(instproxy_client_t client,  			plist_free(dict);  			dict = NULL;  		} -	} while (ok && client->connection); +	} while (ok && client->parent);  	return res;  } @@ -404,7 +404,7 @@ static instproxy_error_t instproxy_create_status_updater(instproxy_client_t clie   */  static instproxy_error_t instproxy_install_or_upgrade(instproxy_client_t client, const char *pkg_path, plist_t sinf, plist_t metadata, instproxy_status_cb_t status_cb, const char *command)  { -	if (!client || !client->connection || !pkg_path) { +	if (!client || !client->parent || !pkg_path) {  		return INSTPROXY_E_INVALID_ARG;  	}  	if (sinf && (plist_get_node_type(sinf) != PLIST_DATA)) { @@ -433,7 +433,7 @@ static instproxy_error_t instproxy_install_or_upgrade(instproxy_client_t client,  	plist_dict_insert_item(dict, "PackagePath", plist_new_string(pkg_path));  	instproxy_lock(client); -	res = iphone_to_instproxy_error(iphone_device_send_xml_plist(client->connection, dict)); +	res = instproxy_error(property_list_service_send_xml_plist(client->parent, dict));  	instproxy_unlock(client);  	plist_free(dict); @@ -512,7 +512,7 @@ instproxy_error_t instproxy_upgrade(instproxy_client_t client, const char *pkg_p   */  instproxy_error_t instproxy_uninstall(instproxy_client_t client, const char *appid, instproxy_status_cb_t status_cb)  { -	if (!client || !client->connection || !appid) { +	if (!client || !client->parent || !appid) {  		return INSTPROXY_E_INVALID_ARG;  	} @@ -526,7 +526,7 @@ instproxy_error_t instproxy_uninstall(instproxy_client_t client, const char *app  	plist_dict_insert_item(dict, "Command", plist_new_string("Uninstall"));  	instproxy_lock(client); -	res = iphone_to_instproxy_error(iphone_device_send_xml_plist(client->connection, dict)); +	res = instproxy_error(property_list_service_send_xml_plist(client->parent, dict));  	instproxy_unlock(client);  	plist_free(dict); @@ -553,7 +553,7 @@ instproxy_error_t instproxy_uninstall(instproxy_client_t client, const char *app   */  instproxy_error_t instproxy_lookup_archives(instproxy_client_t client, plist_t *result)  { -	if (!client || !client->connection || !result) +	if (!client || !client->parent || !result)  		return INSTPROXY_E_INVALID_ARG;  	instproxy_error_t res = INSTPROXY_E_UNKNOWN_ERROR; @@ -563,7 +563,7 @@ instproxy_error_t instproxy_lookup_archives(instproxy_client_t client, plist_t *  	instproxy_lock(client); -	res = iphone_to_instproxy_error(iphone_device_send_xml_plist(client->connection, dict)); +	res = instproxy_error(property_list_service_send_xml_plist(client->parent, dict));  	plist_free(dict);  	if (res != INSTPROXY_E_SUCCESS) { @@ -571,7 +571,7 @@ instproxy_error_t instproxy_lookup_archives(instproxy_client_t client, plist_t *  		goto leave_unlock;  	} -	res = iphone_to_instproxy_error(iphone_device_receive_plist(client->connection, result)); +	res = instproxy_error(property_list_service_receive_plist(client->parent, result));  	if (res != INSTPROXY_E_SUCCESS) {  		log_dbg_msg(DBGMASK_INSTPROXY, "%s: could not receive plist, error %d\n", __func__, res);  		goto leave_unlock; @@ -610,7 +610,7 @@ leave_unlock:   */  instproxy_error_t instproxy_archive(instproxy_client_t client, const char *appid, uint32_t options, instproxy_status_cb_t status_cb)  { -	if (!client || !client->connection || !appid) +	if (!client || !client->parent || !appid)  		return INSTPROXY_E_INVALID_ARG;  	if (client->status_updater) { @@ -634,7 +634,7 @@ instproxy_error_t instproxy_archive(instproxy_client_t client, const char *appid  	plist_dict_insert_item(dict, "Command", plist_new_string("Archive"));  	instproxy_lock(client); -	res = iphone_to_instproxy_error(iphone_device_send_xml_plist(client->connection, dict)); +	res = instproxy_error(property_list_service_send_xml_plist(client->parent, dict));  	instproxy_unlock(client);  	plist_free(dict); @@ -666,7 +666,7 @@ instproxy_error_t instproxy_archive(instproxy_client_t client, const char *appid   */  instproxy_error_t instproxy_restore(instproxy_client_t client, const char *appid, instproxy_status_cb_t status_cb)  { -	if (!client || !client->connection || !appid) +	if (!client || !client->parent || !appid)  		return INSTPROXY_E_INVALID_ARG;  	if (client->status_updater) { @@ -680,7 +680,7 @@ instproxy_error_t instproxy_restore(instproxy_client_t client, const char *appid  	plist_dict_insert_item(dict, "Command", plist_new_string("Restore"));  	instproxy_lock(client); -	res = iphone_to_instproxy_error(iphone_device_send_xml_plist(client->connection, dict)); +	res = instproxy_error(property_list_service_send_xml_plist(client->parent, dict));  	instproxy_unlock(client);  	plist_free(dict); @@ -712,7 +712,7 @@ instproxy_error_t instproxy_restore(instproxy_client_t client, const char *appid   */  instproxy_error_t instproxy_remove_archive(instproxy_client_t client, const char *appid, instproxy_status_cb_t status_cb)  { -	if (!client || !client->connection || !appid) +	if (!client || !client->parent || !appid)  		return INSTPROXY_E_INVALID_ARG;  	if (client->status_updater) { @@ -726,7 +726,7 @@ instproxy_error_t instproxy_remove_archive(instproxy_client_t client, const char  	plist_dict_insert_item(dict, "Command", plist_new_string("RemoveArchive"));  	instproxy_lock(client); -	res = iphone_to_instproxy_error(iphone_device_send_xml_plist(client->connection, dict)); +	res = instproxy_error(property_list_service_send_xml_plist(client->parent, dict));  	instproxy_unlock(client);  	plist_free(dict); diff --git a/src/InstallationProxy.h b/src/InstallationProxy.h index c8c5ef1..f0b5691 100644 --- a/src/InstallationProxy.h +++ b/src/InstallationProxy.h @@ -24,9 +24,10 @@  #include <glib.h>  #include "libiphone/installation_proxy.h" +#include "property_list_service.h"  struct instproxy_client_int { -	iphone_connection_t connection; +	property_list_service_client_t parent;  	GMutex *mutex;  	GThread *status_updater;  }; | 
