mirror of
https://github.com/jkcoxson/idevice.git
synced 2026-03-02 06:26:15 +01:00
Update FFI to use error struct for message
This commit is contained in:
@@ -31,9 +31,11 @@ int main(int argc, char **argv) {
|
||||
|
||||
// Read pairing file
|
||||
IdevicePairingFile *pairing = NULL;
|
||||
IdeviceErrorCode err = idevice_pairing_file_read(pairing_file, &pairing);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to read pairing file: %d\n", err);
|
||||
IdeviceFfiError *err = idevice_pairing_file_read(pairing_file, &pairing);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to read pairing file: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -46,8 +48,10 @@ int main(int argc, char **argv) {
|
||||
IdeviceProviderHandle *tcp_provider = NULL;
|
||||
err = idevice_tcp_provider_new((struct sockaddr *)&addr, pairing,
|
||||
"ProcessControlTest", &tcp_provider);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to create TCP provider: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to create TCP provider: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
idevice_pairing_file_free(pairing);
|
||||
return 1;
|
||||
}
|
||||
@@ -55,8 +59,10 @@ int main(int argc, char **argv) {
|
||||
// Connect to CoreDeviceProxy
|
||||
CoreDeviceProxyHandle *core_device = NULL;
|
||||
err = core_device_proxy_connect(tcp_provider, &core_device);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to connect to CoreDeviceProxy: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to connect to CoreDeviceProxy: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
idevice_provider_free(tcp_provider);
|
||||
idevice_pairing_file_free(pairing);
|
||||
return 1;
|
||||
@@ -66,8 +72,10 @@ int main(int argc, char **argv) {
|
||||
// Get server RSD port
|
||||
uint16_t rsd_port;
|
||||
err = core_device_proxy_get_server_rsd_port(core_device, &rsd_port);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to get server RSD port: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to get server RSD port: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
core_device_proxy_free(core_device);
|
||||
idevice_pairing_file_free(pairing);
|
||||
return 1;
|
||||
@@ -81,8 +89,10 @@ int main(int argc, char **argv) {
|
||||
|
||||
AdapterHandle *adapter = NULL;
|
||||
err = core_device_proxy_create_tcp_adapter(core_device, &adapter);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to create TCP adapter: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to create TCP adapter: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
core_device_proxy_free(core_device);
|
||||
idevice_pairing_file_free(pairing);
|
||||
return 1;
|
||||
@@ -91,16 +101,20 @@ int main(int argc, char **argv) {
|
||||
// Connect to RSD port
|
||||
AdapterStreamHandle *stream = NULL;
|
||||
err = adapter_connect(adapter, rsd_port, &stream);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to connect to RSD port: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to connect to RSD port: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
adapter_free(adapter);
|
||||
return 1;
|
||||
}
|
||||
|
||||
RsdHandshakeHandle *handshake = NULL;
|
||||
err = rsd_handshake_new(stream, &handshake);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to perform RSD handshake: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to perform RSD handshake: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
adapter_close(stream);
|
||||
adapter_free(adapter);
|
||||
return 1;
|
||||
@@ -109,8 +123,10 @@ int main(int argc, char **argv) {
|
||||
// Create RemoteServerClient
|
||||
RemoteServerHandle *remote_server = NULL;
|
||||
err = remote_server_connect_rsd(adapter, handshake, &remote_server);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to create remote server: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to create remote server: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
adapter_free(adapter);
|
||||
rsd_handshake_free(handshake);
|
||||
return 1;
|
||||
@@ -121,8 +137,10 @@ int main(int argc, char **argv) {
|
||||
// Create ProcessControlClient
|
||||
ProcessControlHandle *process_control = NULL;
|
||||
err = process_control_new(remote_server, &process_control);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to create process control client: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to create process control client: [%d] %s",
|
||||
err->code, err->message);
|
||||
idevice_error_free(err);
|
||||
remote_server_free(remote_server);
|
||||
return 1;
|
||||
}
|
||||
@@ -131,8 +149,9 @@ int main(int argc, char **argv) {
|
||||
uint64_t pid;
|
||||
err = process_control_launch_app(process_control, bundle_id, NULL, 0, NULL, 0,
|
||||
true, false, &pid);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to launch app: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to launch app: [%d] %s", err->code, err->message);
|
||||
idevice_error_free(err);
|
||||
process_control_free(process_control);
|
||||
remote_server_free(remote_server);
|
||||
return 1;
|
||||
@@ -141,8 +160,10 @@ int main(int argc, char **argv) {
|
||||
|
||||
// Disable memory limits
|
||||
err = process_control_disable_memory_limit(process_control, pid);
|
||||
if (err != IdeviceSuccess) {
|
||||
fprintf(stderr, "Failed to disable memory limits: %d\n", err);
|
||||
if (err != NULL) {
|
||||
fprintf(stderr, "Failed to disable memory limits: [%d] %s", err->code,
|
||||
err->message);
|
||||
idevice_error_free(err);
|
||||
} else {
|
||||
printf("Successfully disabled memory limits\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user