Class InstallationProxyNativeMethods
Inheritance
Inherited Members
Namespace: iMobileDevice.InstallationProxy
Assembly: iMobileDevice-net.dll
Syntax
public class InstallationProxyNativeMethods
Methods
instproxy_archive(InstallationProxyClientHandle, String, PlistHandle, InstallationProxyStatusCallBack, IntPtr)
Archive an application on the device. This function tells the device to make an archive of the specified application. This results in the device creating a ZIP archive in the 'ApplicationArchives' directory and uninstalling the application.
Declaration
public static InstallationProxyError instproxy_archive(InstallationProxyClientHandle client, string appid, PlistHandle clientOptions, InstallationProxyStatusCallBack statusCallBack, IntPtr userData)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation proxy client |
System.String | appid | ApplicationIdentifier of the app to archive. |
PlistHandle | clientOptions | |
InstallationProxyStatusCallBack | statusCallBack | |
System.IntPtr | userData |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
Remarks
If a callback function is given (async mode), this function returns INSTPROXY_E_SUCCESS immediately if the status updater thread has been created successfully; any error occuring during the command has to be handled inside the specified callback function.
instproxy_browse(InstallationProxyClientHandle, PlistHandle, out PlistHandle)
List installed applications. This function runs synchronously.
Declaration
public static InstallationProxyError instproxy_browse(InstallationProxyClientHandle client, PlistHandle clientOptions, out PlistHandle result)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation_proxy client |
PlistHandle | clientOptions | |
PlistHandle | result | Pointer that will be set to a plist that will hold an array of PLIST_DICT holding information about the applications found. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
instproxy_browse_with_callback(InstallationProxyClientHandle, PlistHandle, InstallationProxyStatusCallBack, IntPtr)
List pages of installed applications in a callback.
Declaration
public static InstallationProxyError instproxy_browse_with_callback(InstallationProxyClientHandle client, PlistHandle clientOptions, InstallationProxyStatusCallBack statusCallBack, IntPtr userData)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation_proxy client |
PlistHandle | clientOptions | |
InstallationProxyStatusCallBack | statusCallBack | |
System.IntPtr | userData |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
instproxy_check_capabilities_match(InstallationProxyClientHandle, out IntPtr, PlistHandle, out PlistHandle)
Checks a device for certain capabilities.
Declaration
public static InstallationProxyError instproxy_check_capabilities_match(InstallationProxyClientHandle client, out IntPtr capabilities, PlistHandle clientOptions, out PlistHandle result)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation_proxy client |
System.IntPtr | capabilities | An array of char* with capability names that MUST have a terminating NULL entry. |
PlistHandle | clientOptions | |
PlistHandle | result | Pointer that will be set to a plist containing a PLIST_DICT holding information if the capabilities matched or NULL on errors. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
instproxy_check_capabilities_match(InstallationProxyClientHandle, out String, PlistHandle, out PlistHandle)
Declaration
public static InstallationProxyError instproxy_check_capabilities_match(InstallationProxyClientHandle client, out string capabilities, PlistHandle clientOptions, out PlistHandle result)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | |
System.String | capabilities | |
PlistHandle | clientOptions | |
PlistHandle | result |
Returns
Type | Description |
---|---|
InstallationProxyError |
instproxy_client_free(IntPtr)
Disconnects an installation_proxy client from the device and frees up the installation_proxy client data.
Declaration
public static InstallationProxyError instproxy_client_free(IntPtr client)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | client | The installation_proxy client to disconnect and free. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or INSTPROXY_E_INVALID_ARG if client is NULL. |
instproxy_client_get_path_for_bundle_identifier(InstallationProxyClientHandle, String, out IntPtr)
Queries the device for the path of an application.
Declaration
public static InstallationProxyError instproxy_client_get_path_for_bundle_identifier(InstallationProxyClientHandle client, string bundleId, out IntPtr path)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation proxy client. |
System.String | bundleId | |
System.IntPtr | path | Pointer to store the device path for the application which is set to NULL if it could not be determined. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success, INSTPROXY_E_OP_FAILED if the path could not be determined or an INSTPROXY_E_* error value if an error occured. |
instproxy_client_get_path_for_bundle_identifier(InstallationProxyClientHandle, String, out String)
Declaration
public static InstallationProxyError instproxy_client_get_path_for_bundle_identifier(InstallationProxyClientHandle client, string bundleId, out string path)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | |
System.String | bundleId | |
System.String | path |
Returns
Type | Description |
---|---|
InstallationProxyError |
instproxy_client_new(iDeviceHandle, LockdownServiceDescriptorHandle, out InstallationProxyClientHandle)
Connects to the installation_proxy service on the specified device.
Declaration
public static InstallationProxyError instproxy_client_new(iDeviceHandle device, LockdownServiceDescriptorHandle service, out InstallationProxyClientHandle client)
Parameters
Type | Name | Description |
---|---|---|
iDeviceHandle | device | The device to connect to |
LockdownServiceDescriptorHandle | service | The service descriptor returned by lockdownd_start_service. |
InstallationProxyClientHandle | client | Pointer that will be set to a newly allocated instproxy_client_t upon successful return. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error value when an error occured. |
instproxy_client_options_add(PlistHandle)
Adds one or more new key:value pairs to the given client_options.
Declaration
public static void instproxy_client_options_add(PlistHandle clientOptions)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | clientOptions |
Remarks
The keys and values passed are expected to be strings, except for the keys "ApplicationSINF", "iTunesMetadata", "ReturnAttributes" which are expecting a plist_t node as value and "SkipUninstall" expects int.
instproxy_client_options_add(PlistHandle, String, String, Byte)
Declaration
public static void instproxy_client_options_add(PlistHandle client_options, string key, string value, byte term)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | client_options | |
System.String | key | |
System.String | value | |
System.Byte | term |
instproxy_client_options_free(PlistHandle)
Frees client_options plist.
Declaration
public static void instproxy_client_options_free(PlistHandle clientOptions)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | clientOptions |
instproxy_client_options_new()
Creates a new client_options plist.
Declaration
public static PlistHandle instproxy_client_options_new()
Returns
Type | Description |
---|---|
PlistHandle | A new plist_t of type PLIST_DICT. |
instproxy_client_options_set_return_attributes(PlistHandle)
Adds attributes to the given client_options to filter browse results.
Declaration
public static void instproxy_client_options_set_return_attributes(PlistHandle clientOptions)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | clientOptions |
Remarks
The values passed are expected to be strings.
instproxy_client_start_service(iDeviceHandle, out InstallationProxyClientHandle, String)
Starts a new installation_proxy service on the specified device and connects to it.
Declaration
public static InstallationProxyError instproxy_client_start_service(iDeviceHandle device, out InstallationProxyClientHandle client, string label)
Parameters
Type | Name | Description |
---|---|---|
iDeviceHandle | device | The device to connect to. |
InstallationProxyClientHandle | client | Pointer that will point to a newly allocated instproxy_client_t upon successful return. Must be freed using instproxy_client_free() after use. |
System.String | label | The label to use for communication. Usually the program name. Pass NULL to disable sending the label in requests to lockdownd. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error code otherwise. |
instproxy_command_get_name(PlistHandle, out IntPtr)
Gets the name from a command dictionary.
Declaration
public static void instproxy_command_get_name(PlistHandle command, out IntPtr name)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | command | The dictionary describing the command. |
System.IntPtr | name | Pointer to store the name of the command. |
instproxy_command_get_name(PlistHandle, out String)
Declaration
public static void instproxy_command_get_name(PlistHandle command, out string name)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | command | |
System.String | name |
instproxy_install(InstallationProxyClientHandle, String, PlistHandle, InstallationProxyStatusCallBack, IntPtr)
Install an application on the device.
Declaration
public static InstallationProxyError instproxy_install(InstallationProxyClientHandle client, string pkgPath, PlistHandle clientOptions, InstallationProxyStatusCallBack statusCallBack, IntPtr userData)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation_proxy client |
System.String | pkgPath | |
PlistHandle | clientOptions | |
InstallationProxyStatusCallBack | statusCallBack | |
System.IntPtr | userData |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
Remarks
If a callback function is given (async mode), this function returns INSTPROXY_E_SUCCESS immediately if the status updater thread has been created successfully; any error occuring during the command has to be handled inside the specified callback function.
instproxy_lookup(InstallationProxyClientHandle, ReadOnlyCollection<String>, PlistHandle, out PlistHandle)
Declaration
public static InstallationProxyError instproxy_lookup(InstallationProxyClientHandle client, ReadOnlyCollection<string> appids, PlistHandle clientOptions, out PlistHandle result)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | |
System.Collections.ObjectModel.ReadOnlyCollection<System.String> | appids | |
PlistHandle | clientOptions | |
PlistHandle | result |
Returns
Type | Description |
---|---|
InstallationProxyError |
instproxy_lookup(InstallationProxyClientHandle, IntPtr, PlistHandle, out PlistHandle)
Lookup information about specific applications from the device.
Declaration
public static InstallationProxyError instproxy_lookup(InstallationProxyClientHandle client, IntPtr appids, PlistHandle clientOptions, out PlistHandle result)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation_proxy client |
System.IntPtr | appids | An array of bundle identifiers that MUST have a terminating NULL entry or NULL to lookup all. |
PlistHandle | clientOptions | |
PlistHandle | result | Pointer that will be set to a plist containing a PLIST_DICT holding requested information about the application or NULL on errors. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
instproxy_lookup_archives(InstallationProxyClientHandle, PlistHandle, out PlistHandle)
List archived applications. This function runs synchronously.
Declaration
public static InstallationProxyError instproxy_lookup_archives(InstallationProxyClientHandle client, PlistHandle clientOptions, out PlistHandle result)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation_proxy client |
PlistHandle | clientOptions | |
PlistHandle | result | Pointer that will be set to a plist containing a PLIST_DICT holding information about the archived applications found. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
instproxy_remove_archive(InstallationProxyClientHandle, String, PlistHandle, InstallationProxyStatusCallBack, IntPtr)
Removes a previously archived application from the device. This function removes the ZIP archive from the 'ApplicationArchives' directory.
Declaration
public static InstallationProxyError instproxy_remove_archive(InstallationProxyClientHandle client, string appid, PlistHandle clientOptions, InstallationProxyStatusCallBack statusCallBack, IntPtr userData)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation proxy client |
System.String | appid | ApplicationIdentifier of the archived app to remove. |
PlistHandle | clientOptions | |
InstallationProxyStatusCallBack | statusCallBack | |
System.IntPtr | userData |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
Remarks
If a callback function is given (async mode), this function returns INSTPROXY_E_SUCCESS immediately if the status updater thread has been created successfully; any error occuring during the command has to be handled inside the specified callback function.
instproxy_restore(InstallationProxyClientHandle, String, PlistHandle, InstallationProxyStatusCallBack, IntPtr)
Restore a previously archived application on the device. This function is the counterpart to instproxy_archive.
Declaration
public static InstallationProxyError instproxy_restore(InstallationProxyClientHandle client, string appid, PlistHandle clientOptions, InstallationProxyStatusCallBack statusCallBack, IntPtr userData)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation proxy client |
System.String | appid | ApplicationIdentifier of the app to restore. |
PlistHandle | clientOptions | |
InstallationProxyStatusCallBack | statusCallBack | |
System.IntPtr | userData |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
Remarks
If a callback function is given (async mode), this function returns INSTPROXY_E_SUCCESS immediately if the status updater thread has been created successfully; any error occuring during the command has to be handled inside the specified callback function.
instproxy_status_get_current_list(PlistHandle, ref UInt64, ref UInt64, ref UInt64, out PlistHandle)
Gets total and current item information from a browse response if available.
Declaration
public static void instproxy_status_get_current_list(PlistHandle status, ref ulong total, ref ulong currentIndex, ref ulong currentAmount, out PlistHandle list)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | status | The dictionary status response to use. |
System.UInt64 | total | Pointer to store the total number of items. |
System.UInt64 | currentIndex | |
System.UInt64 | currentAmount | |
PlistHandle | list | Pointer to store a newly allocated plist with items. The caller is reponsible for freeing the list after use. If NULL is passed no list will be returned. If NULL is returned no list was found in the status. |
instproxy_status_get_error(PlistHandle, out IntPtr, out IntPtr, ref UInt64)
Gets error name, code and description from a response if available.
Declaration
public static InstallationProxyError instproxy_status_get_error(PlistHandle status, out IntPtr name, out IntPtr description, ref ulong code)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | status | The dictionary status response to use. |
System.IntPtr | name | Pointer to store the name of an error. |
System.IntPtr | description | Pointer to store error description text if available. The caller is reponsible for freeing the allocated buffer after use. If NULL is passed no description will be returned. |
System.UInt64 | code | Pointer to store the returned error code if available. If NULL is passed no error code will be returned. |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS if no error is found or an INSTPROXY_E_* error value matching the error that ẃas found in the status. |
instproxy_status_get_error(PlistHandle, out String, out String, ref UInt64)
Declaration
public static InstallationProxyError instproxy_status_get_error(PlistHandle status, out string name, out string description, ref ulong code)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | status | |
System.String | name | |
System.String | description | |
System.UInt64 | code |
Returns
Type | Description |
---|---|
InstallationProxyError |
instproxy_status_get_name(PlistHandle, out IntPtr)
Gets the name of a status.
Declaration
public static void instproxy_status_get_name(PlistHandle status, out IntPtr name)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | status | The dictionary status response to use. |
System.IntPtr | name | Pointer to store the name of the status. |
instproxy_status_get_name(PlistHandle, out String)
Declaration
public static void instproxy_status_get_name(PlistHandle status, out string name)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | status | |
System.String | name |
instproxy_status_get_percent_complete(PlistHandle, ref Int32)
Gets progress in percentage from a status if available.
Declaration
public static void instproxy_status_get_percent_complete(PlistHandle status, ref int percent)
Parameters
Type | Name | Description |
---|---|---|
PlistHandle | status | The dictionary status response to use. |
System.Int32 | percent |
instproxy_uninstall(InstallationProxyClientHandle, String, PlistHandle, InstallationProxyStatusCallBack, IntPtr)
Uninstall an application from the device.
Declaration
public static InstallationProxyError instproxy_uninstall(InstallationProxyClientHandle client, string appid, PlistHandle clientOptions, InstallationProxyStatusCallBack statusCallBack, IntPtr userData)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation proxy client |
System.String | appid | ApplicationIdentifier of the app to uninstall |
PlistHandle | clientOptions | |
InstallationProxyStatusCallBack | statusCallBack | |
System.IntPtr | userData |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
Remarks
If a callback function is given (async mode), this function returns INSTPROXY_E_SUCCESS immediately if the status updater thread has been created successfully; any error occuring during the command has to be handled inside the specified callback function.
instproxy_upgrade(InstallationProxyClientHandle, String, PlistHandle, InstallationProxyStatusCallBack, IntPtr)
Upgrade an application on the device. This function is nearly the same as instproxy_install; the difference is that the installation progress on the device is faster if the application is already installed.
Declaration
public static InstallationProxyError instproxy_upgrade(InstallationProxyClientHandle client, string pkgPath, PlistHandle clientOptions, InstallationProxyStatusCallBack statusCallBack, IntPtr userData)
Parameters
Type | Name | Description |
---|---|---|
InstallationProxyClientHandle | client | The connected installation_proxy client |
System.String | pkgPath | |
PlistHandle | clientOptions | |
InstallationProxyStatusCallBack | statusCallBack | |
System.IntPtr | userData |
Returns
Type | Description |
---|---|
InstallationProxyError | INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if an error occured. |
Remarks
If a callback function is given (async mode), this function returns INSTPROXY_E_SUCCESS immediately if the status updater thread has been created successfully; any error occuring during the command has to be handled inside the specified callback function.