DIAGNOSTICO
DIAGNOSTICO
>
<doc>
<assembly>
<name>iMobileDevice-net</name>
</assembly>
<members>
<member name="F:iMobileDevice.Afc.AfcApi.parent">
<summary>
Backing field for the <see cref="P:iMobileDevice.Afc.AfcApi.Parent"/>
property
</summary>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Afc"/>.
</param>
</member>
<member name="P:iMobileDevice.Afc.AfcApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_client_new(iMobileDevice.iDevice.iDeviceHandle
,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevice.Afc.AfcClient
Handle@)">
<summary>
Makes a connection to the AFC service on the device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated afc_client_t
upon successful return.
</param>
<returns>
AFC_E_SUCCESS on success, AFC_E_INVALID_ARG if device or service is
invalid, AFC_E_MUX_ERROR if the connection cannot be established,
or AFC_E_NO_MEM if there is a memory allocation problem.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_client_start_service(iMobileDevice.iDevice.iDe
viceHandle,iMobileDevice.Afc.AfcClientHandle@,System.String)">
<summary>
Starts a new AFC service on the specified device and connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated afc_client_t upon
successful return. Must be freed using afc_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
AFC_E_SUCCESS on success, or an AFC_E_* error code otherwise.
</returns>
</member>
<member name="M:iMobileDevice.Afc.AfcApi.afc_client_free(System.IntPtr)">
<summary>
Frees up an AFC client. If the connection was created by the client
itself,
the connection will be closed.
</summary>
<param name="client">
The client to free.
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_get_device_info(iMobileDevice.Afc.AfcClientHan
dle,System.Collections.ObjectModel.ReadOnlyCollection{System.String}@)">
<summary>
Get device information for a connected client. The device information
returned is the device model as well as the free space, the total
capacity
and blocksize on the accessed disk partition.
</summary>
<param name="client">
The client to get device info for.
</param>
<param name="device_information">
A char list of device information terminated by an
empty string or NULL if there was an error. Free with
afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_read_directory(iMobileDevice.Afc.AfcClientHand
le,System.String,System.Collections.ObjectModel.ReadOnlyCollection{System.String}@)
">
<summary>
Gets a directory listing of the directory requested.
</summary>
<param name="client">
The client to get a directory listing from.
</param>
<param name="path">
The directory for listing. (must be a fully-qualified path)
</param>
<param name="directory_information">
A char list of files in the directory
terminated by an empty string or NULL if there was an error. Free with
afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_get_file_info(iMobileDevice.Afc.AfcClientHandl
e,System.String,System.Collections.ObjectModel.ReadOnlyCollection{System.String}@)"
>
<summary>
Gets information about a specific file.
</summary>
<param name="client">
The client to use to get the information of the file.
</param>
<param name="filename">
The fully-qualified path to the file.
</param>
<param name="file_information">
Pointer to a buffer that will be filled with a
NULL-terminated list of strings with the file information. Set to NULL
before calling this function. Free with afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_open(iMobileDevice.Afc.AfcClientHandle,Sy
stem.String,iMobileDevice.Afc.AfcFileMode,System.UInt64@)">
<summary>
Opens a file on the device.
</summary>
<param name="client">
The client to use to open the file.
</param>
<param name="filename">
The file to open. (must be a fully-qualified path)
</param>
<param name="file_mode">
The mode to use to open the file.
</param>
<param name="handle">
Pointer to a uint64_t that will hold the handle of the file
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_close(iMobileDevice.Afc.AfcClientHandle,S
ystem.UInt64)">
<summary>
Closes a file on the device.
</summary>
<param name="client">
The client to close the file with.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_lock(iMobileDevice.Afc.AfcClientHandle,Sy
stem.UInt64,iMobileDevice.Afc.AfcLockOp)">
<summary>
Locks or unlocks a file on the device.
Makes use of flock on the device.
</summary>
<param name="client">
The client to lock the file with.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="operation">
the lock or unlock operation to perform, this is one of
AFC_LOCK_SH (shared lock), AFC_LOCK_EX (exclusive lock), or
AFC_LOCK_UN (unlock).
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_read(iMobileDevice.Afc.AfcClientHandle,Sy
stem.UInt64,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Attempts to the read the given number of bytes from the given file.
</summary>
<param name="client">
The relevant AFC client
</param>
<param name="handle">
File handle of a previously opened file
</param>
<param name="data">
The pointer to the memory region to store the read data
</param>
<param name="length">
The number of bytes to read
</param>
<param name="bytes_read">
The number of bytes actually read.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_write(iMobileDevice.Afc.AfcClientHandle,S
ystem.UInt64,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Writes a given number of bytes to a file.
</summary>
<param name="client">
The client to use to write to the file.
</param>
<param name="handle">
File handle of previously opened file.
</param>
<param name="data">
The data to write to the file.
</param>
<param name="length">
How much data to write.
</param>
<param name="bytes_written">
The number of bytes actually written to the file.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_seek(iMobileDevice.Afc.AfcClientHandle,Sy
stem.UInt64,System.Int64,System.Int32)">
<summary>
Seeks to a given position of a pre-opened file on the device.
</summary>
<param name="client">
The client to use to seek to the position.
</param>
<param name="handle">
File handle of a previously opened.
</param>
<param name="offset">
Seek offset.
</param>
<param name="whence">
Seeking direction, one of SEEK_SET, SEEK_CUR, or SEEK_END.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_tell(iMobileDevice.Afc.AfcClientHandle,Sy
stem.UInt64,System.UInt64@)">
<summary>
Returns current position in a pre-opened file on the device.
</summary>
<param name="client">
The client to use.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="position">
Position in bytes of indicator
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_file_truncate(iMobileDevice.Afc.AfcClientHandl
e,System.UInt64,System.UInt64)">
<summary>
Sets the size of a file on the device.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="newsize">
The size to set the file to.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
<remarks>
This function is more akin to ftruncate than truncate, and truncate
calls would have to open the file before calling this, sadly.
</remarks>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_remove_path(iMobileDevice.Afc.AfcClientHandle,
System.String)">
<summary>
Deletes a file or directory.
</summary>
<param name="client">
The client to use.
</param>
<param name="path">
The path to delete. (must be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_rename_path(iMobileDevice.Afc.AfcClientHandle,
System.String,System.String)">
<summary>
Renames a file or directory on the device.
</summary>
<param name="client">
The client to have rename.
</param>
<param name="from">
The name to rename from. (must be a fully-qualified path)
</param>
<param name="to">
The new name. (must also be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_make_directory(iMobileDevice.Afc.AfcClientHand
le,System.String)">
<summary>
Creates a directory on the device.
</summary>
<param name="client">
The client to use to make a directory.
</param>
<param name="path">
The directory's path. (must be a fully-qualified path, I assume
all other mkdir restrictions apply as well)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_truncate(iMobileDevice.Afc.AfcClientHandle,Sys
tem.String,System.UInt64)">
<summary>
Sets the size of a file on the device without prior opening it.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="path">
The path of the file to be truncated.
</param>
<param name="newsize">
The size to set the file to.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_make_link(iMobileDevice.Afc.AfcClientHandle,iM
obileDevice.Afc.AfcLinkType,System.String,System.String)">
<summary>
Creates a hard link or symbolic link on the device.
</summary>
<param name="client">
The client to use for making a link
</param>
<param name="linktype">
1 = hard link, 2 = symlink
</param>
<param name="target">
The file to be linked.
</param>
<param name="linkname">
The name of link.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_set_file_time(iMobileDevice.Afc.AfcClientHandl
e,System.String,System.UInt64)">
<summary>
Sets the modification time of a file on the device.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="path">
Path of the file for which the modification time should be set.
</param>
<param name="mtime">
The modification time to set in nanoseconds since epoch.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_remove_path_and_contents(iMobileDevice.Afc.Afc
ClientHandle,System.String)">
<summary>
Deletes a file or directory including possible contents.
</summary>
<param name="client">
The client to use.
</param>
<param name="path">
The path to delete. (must be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
<remarks>
Only available in iOS 6 and later.
</remarks>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_get_device_info_key(iMobileDevice.Afc.AfcClien
tHandle,System.String,System.String@)">
<summary>
Get a specific key of the device info list for a client connection.
Known key values are: Model, FSTotalBytes, FSFreeBytes and FSBlockSize.
This is a helper function for afc_get_device_info().
</summary>
<param name="client">
The client to get device info for.
</param>
<param name="key">
The key to get the value of.
</param>
<param name="value">
The value for the key if successful or NULL otherwise.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcApi.afc_dictionary_free(System.IntPtr)">
<summary>
Frees up a char dictionary as returned by some AFC functions.
</summary>
<param name="dictionary">
The char array terminated by an empty string.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member name="T:iMobileDevice.Afc.AfcClientHandle">
<summary>
Represents a wrapper class for Afc handles.
</summary>
</member>
<member name="M:iMobileDevice.Afc.AfcClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcClientHandle"/> class.
</summary>
</member>
<member name="M:iMobileDevice.Afc.AfcClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcClientHandle"/> class, specifying whether the handle
is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Afc.AfcClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Afc.AfcClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Afc.AfcClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Afc.AfcClientHandle.DangerousCreate(System.IntPtr,System.Bool
ean)">
<summary>
Creates a new <see cref="T:iMobileDevice.Afc.AfcClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcClientHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.Afc.AfcClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Afc.AfcClientHandle.ToString">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Afc.AfcClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Afc.AfcClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Afc.AfcClientHandle.op_Equality(iMobileDevice.Afc.AfcClientHa
ndle,iMobileDevice.Afc.AfcClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Afc.AfcClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcClientHandle.op_Inequality(iMobileDevice.Afc.AfcClient
Handle,iMobileDevice.Afc.AfcClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Afc.AfcClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Afc.AfcError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Afc.AfcException">
Represents an exception that occurred when interacting with the Afc
API.
</member>
<member name="F:iMobileDevice.Afc.AfcException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Afc.AfcException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Afc.AfcException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Afc.AfcException.#ctor(iMobileDevice.Afc.AfcError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcException"/> class with a specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcException.#ctor(iMobileDevice.Afc.AfcError,System.Stri
ng)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcException"/> class with a specified error code and
error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member name="M:iMobileDevice.Afc.AfcException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcException"/> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcException"/> class with a specified error message and
a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcException.#ctor(System.Runtime.Serialization.Serializa
tionInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Afc.AfcException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Afc.AfcException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member name="T:iMobileDevice.Afc.AfcFileMode">
<summary>
Flags for afc_file_open
</summary>
</member>
<member name="F:iMobileDevice.Afc.AfcFileMode.FopenRdappend">
<summary>
a+ O_RDWR | O_APPEND | O_CREAT
</summary>
</member>
<member name="T:iMobileDevice.Afc.AfcLinkType">
<summary>
Type of link for afc_make_link() calls
</summary>
</member>
<member name="T:iMobileDevice.Afc.AfcLockOp">
<summary>
Lock operation flags
</summary>
</member>
<member name="F:iMobileDevice.Afc.AfcLockOp.LockUn">
<summary>
unlock
</summary>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_client_new(iMobileDevice.iDevice.iDe
viceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevice.Afc
.AfcClientHandle@)">
<summary>
Makes a connection to the AFC service on the device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated afc_client_t
upon successful return.
</param>
<returns>
AFC_E_SUCCESS on success, AFC_E_INVALID_ARG if device or service is
invalid, AFC_E_MUX_ERROR if the connection cannot be established,
or AFC_E_NO_MEM if there is a memory allocation problem.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_client_start_service(iMobileDevice.i
Device.iDeviceHandle,iMobileDevice.Afc.AfcClientHandle@,System.String)">
<summary>
Starts a new AFC service on the specified device and connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated afc_client_t upon
successful return. Must be freed using afc_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
AFC_E_SUCCESS on success, or an AFC_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_client_free(System.IntPtr)">
<summary>
Frees up an AFC client. If the connection was created by the client
itself,
the connection will be closed.
</summary>
<param name="client">
The client to free.
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_get_device_info(iMobileDevice.Afc.Af
cClientHandle,System.IntPtr@)">
<summary>
Get device information for a connected client. The device information
returned is the device model as well as the free space, the total
capacity
and blocksize on the accessed disk partition.
</summary>
<param name="client">
The client to get device info for.
</param>
<param name="device_information">
A char list of device information terminated by an
empty string or NULL if there was an error. Free with
afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_read_directory(iMobileDevice.Afc.Afc
ClientHandle,System.String,System.IntPtr@)">
<summary>
Gets a directory listing of the directory requested.
</summary>
<param name="client">
The client to get a directory listing from.
</param>
<param name="path">
The directory for listing. (must be a fully-qualified path)
</param>
<param name="directory_information">
A char list of files in the directory
terminated by an empty string or NULL if there was an error. Free with
afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_get_file_info(iMobileDevice.Afc.AfcC
lientHandle,System.String,System.IntPtr@)">
<summary>
Gets information about a specific file.
</summary>
<param name="client">
The client to use to get the information of the file.
</param>
<param name="filename">
The fully-qualified path to the file.
</param>
<param name="file_information">
Pointer to a buffer that will be filled with a
NULL-terminated list of strings with the file information. Set to NULL
before calling this function. Free with afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_open(iMobileDevice.Afc.AfcClien
tHandle,System.String,iMobileDevice.Afc.AfcFileMode,System.UInt64@)">
<summary>
Opens a file on the device.
</summary>
<param name="client">
The client to use to open the file.
</param>
<param name="filename">
The file to open. (must be a fully-qualified path)
</param>
<param name="file_mode">
The mode to use to open the file.
</param>
<param name="handle">
Pointer to a uint64_t that will hold the handle of the file
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_close(iMobileDevice.Afc.AfcClie
ntHandle,System.UInt64)">
<summary>
Closes a file on the device.
</summary>
<param name="client">
The client to close the file with.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_lock(iMobileDevice.Afc.AfcClien
tHandle,System.UInt64,iMobileDevice.Afc.AfcLockOp)">
<summary>
Locks or unlocks a file on the device.
Makes use of flock on the device.
</summary>
<param name="client">
The client to lock the file with.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="operation">
the lock or unlock operation to perform, this is one of
AFC_LOCK_SH (shared lock), AFC_LOCK_EX (exclusive lock), or
AFC_LOCK_UN (unlock).
</param>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_read(iMobileDevice.Afc.AfcClien
tHandle,System.UInt64,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Attempts to the read the given number of bytes from the given file.
</summary>
<param name="client">
The relevant AFC client
</param>
<param name="handle">
File handle of a previously opened file
</param>
<param name="data">
The pointer to the memory region to store the read data
</param>
<param name="length">
The number of bytes to read
</param>
<param name="bytes_read">
The number of bytes actually read.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_write(iMobileDevice.Afc.AfcClie
ntHandle,System.UInt64,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Writes a given number of bytes to a file.
</summary>
<param name="client">
The client to use to write to the file.
</param>
<param name="handle">
File handle of previously opened file.
</param>
<param name="data">
The data to write to the file.
</param>
<param name="length">
How much data to write.
</param>
<param name="bytes_written">
The number of bytes actually written to the file.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_seek(iMobileDevice.Afc.AfcClien
tHandle,System.UInt64,System.Int64,System.Int32)">
<summary>
Seeks to a given position of a pre-opened file on the device.
</summary>
<param name="client">
The client to use to seek to the position.
</param>
<param name="handle">
File handle of a previously opened.
</param>
<param name="offset">
Seek offset.
</param>
<param name="whence">
Seeking direction, one of SEEK_SET, SEEK_CUR, or SEEK_END.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_tell(iMobileDevice.Afc.AfcClien
tHandle,System.UInt64,System.UInt64@)">
<summary>
Returns current position in a pre-opened file on the device.
</summary>
<param name="client">
The client to use.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="position">
Position in bytes of indicator
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_file_truncate(iMobileDevice.Afc.AfcC
lientHandle,System.UInt64,System.UInt64)">
<summary>
Sets the size of a file on the device.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="newsize">
The size to set the file to.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
<remarks>
This function is more akin to ftruncate than truncate, and truncate
calls would have to open the file before calling this, sadly.
</remarks>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_remove_path(iMobileDevice.Afc.AfcCli
entHandle,System.String)">
<summary>
Deletes a file or directory.
</summary>
<param name="client">
The client to use.
</param>
<param name="path">
The path to delete. (must be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_rename_path(iMobileDevice.Afc.AfcCli
entHandle,System.String,System.String)">
<summary>
Renames a file or directory on the device.
</summary>
<param name="client">
The client to have rename.
</param>
<param name="from">
The name to rename from. (must be a fully-qualified path)
</param>
<param name="to">
The new name. (must also be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_make_directory(iMobileDevice.Afc.Afc
ClientHandle,System.String)">
<summary>
Creates a directory on the device.
</summary>
<param name="client">
The client to use to make a directory.
</param>
<param name="path">
The directory's path. (must be a fully-qualified path, I assume
all other mkdir restrictions apply as well)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_truncate(iMobileDevice.Afc.AfcClient
Handle,System.String,System.UInt64)">
<summary>
Sets the size of a file on the device without prior opening it.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="path">
The path of the file to be truncated.
</param>
<param name="newsize">
The size to set the file to.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_make_link(iMobileDevice.Afc.AfcClien
tHandle,iMobileDevice.Afc.AfcLinkType,System.String,System.String)">
<summary>
Creates a hard link or symbolic link on the device.
</summary>
<param name="client">
The client to use for making a link
</param>
<param name="linktype">
1 = hard link, 2 = symlink
</param>
<param name="target">
The file to be linked.
</param>
<param name="linkname">
The name of link.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_set_file_time(iMobileDevice.Afc.AfcC
lientHandle,System.String,System.UInt64)">
<summary>
Sets the modification time of a file on the device.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="path">
Path of the file for which the modification time should be set.
</param>
<param name="mtime">
The modification time to set in nanoseconds since epoch.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_remove_path_and_contents(iMobileDevi
ce.Afc.AfcClientHandle,System.String)">
<summary>
Deletes a file or directory including possible contents.
</summary>
<param name="client">
The client to use.
</param>
<param name="path">
The path to delete. (must be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
<remarks>
Only available in iOS 6 and later.
</remarks>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_get_device_info_key(iMobileDevice.Af
c.AfcClientHandle,System.String,System.IntPtr@)">
<summary>
Get a specific key of the device info list for a client connection.
Known key values are: Model, FSTotalBytes, FSFreeBytes and FSBlockSize.
This is a helper function for afc_get_device_info().
</summary>
<param name="client">
The client to get device info for.
</param>
<param name="key">
The key to get the value of.
</param>
<param name="value">
The value for the key if successful or NULL otherwise.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.AfcNativeMethods.afc_dictionary_free(System.IntPtr)">
<summary>
Frees up a char dictionary as returned by some AFC functions.
</summary>
<param name="dictionary">
The char array terminated by an empty string.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member name="P:iMobileDevice.Afc.IAfcApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Afc"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_client_new(iMobileDevice.iDevice.iDeviceHandl
e,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevice.Afc.AfcClien
tHandle@)">
<summary>
Makes a connection to the AFC service on the device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated afc_client_t
upon successful return.
</param>
<returns>
AFC_E_SUCCESS on success, AFC_E_INVALID_ARG if device or service is
invalid, AFC_E_MUX_ERROR if the connection cannot be established,
or AFC_E_NO_MEM if there is a memory allocation problem.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_client_start_service(iMobileDevice.iDevice.iD
eviceHandle,iMobileDevice.Afc.AfcClientHandle@,System.String)">
<summary>
Starts a new AFC service on the specified device and connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated afc_client_t upon
successful return. Must be freed using afc_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
AFC_E_SUCCESS on success, or an AFC_E_* error code otherwise.
</returns>
</member>
<member name="M:iMobileDevice.Afc.IAfcApi.afc_client_free(System.IntPtr)">
<summary>
Frees up an AFC client. If the connection was created by the client
itself,
the connection will be closed.
</summary>
<param name="client">
The client to free.
</param>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_get_device_info(iMobileDevice.Afc.AfcClientHa
ndle,System.Collections.ObjectModel.ReadOnlyCollection{System.String}@)">
<summary>
Get device information for a connected client. The device information
returned is the device model as well as the free space, the total
capacity
and blocksize on the accessed disk partition.
</summary>
<param name="client">
The client to get device info for.
</param>
<param name="device_information">
A char list of device information terminated by an
empty string or NULL if there was an error. Free with
afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_read_directory(iMobileDevice.Afc.AfcClientHan
dle,System.String,System.Collections.ObjectModel.ReadOnlyCollection{System.String}@
)">
<summary>
Gets a directory listing of the directory requested.
</summary>
<param name="client">
The client to get a directory listing from.
</param>
<param name="path">
The directory for listing. (must be a fully-qualified path)
</param>
<param name="directory_information">
A char list of files in the directory
terminated by an empty string or NULL if there was an error. Free with
afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_get_file_info(iMobileDevice.Afc.AfcClientHand
le,System.String,System.Collections.ObjectModel.ReadOnlyCollection{System.String}@)
">
<summary>
Gets information about a specific file.
</summary>
<param name="client">
The client to use to get the information of the file.
</param>
<param name="filename">
The fully-qualified path to the file.
</param>
<param name="file_information">
Pointer to a buffer that will be filled with a
NULL-terminated list of strings with the file information. Set to NULL
before calling this function. Free with afc_dictionary_free().
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_open(iMobileDevice.Afc.AfcClientHandle,S
ystem.String,iMobileDevice.Afc.AfcFileMode,System.UInt64@)">
<summary>
Opens a file on the device.
</summary>
<param name="client">
The client to use to open the file.
</param>
<param name="filename">
The file to open. (must be a fully-qualified path)
</param>
<param name="file_mode">
The mode to use to open the file.
</param>
<param name="handle">
Pointer to a uint64_t that will hold the handle of the file
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_close(iMobileDevice.Afc.AfcClientHandle,
System.UInt64)">
<summary>
Closes a file on the device.
</summary>
<param name="client">
The client to close the file with.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_lock(iMobileDevice.Afc.AfcClientHandle,S
ystem.UInt64,iMobileDevice.Afc.AfcLockOp)">
<summary>
Locks or unlocks a file on the device.
Makes use of flock on the device.
</summary>
<param name="client">
The client to lock the file with.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="operation">
the lock or unlock operation to perform, this is one of
AFC_LOCK_SH (shared lock), AFC_LOCK_EX (exclusive lock), or
AFC_LOCK_UN (unlock).
</param>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_read(iMobileDevice.Afc.AfcClientHandle,S
ystem.UInt64,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Attempts to the read the given number of bytes from the given file.
</summary>
<param name="client">
The relevant AFC client
</param>
<param name="handle">
File handle of a previously opened file
</param>
<param name="data">
The pointer to the memory region to store the read data
</param>
<param name="length">
The number of bytes to read
</param>
<param name="bytes_read">
The number of bytes actually read.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_write(iMobileDevice.Afc.AfcClientHandle,
System.UInt64,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Writes a given number of bytes to a file.
</summary>
<param name="client">
The client to use to write to the file.
</param>
<param name="handle">
File handle of previously opened file.
</param>
<param name="data">
The data to write to the file.
</param>
<param name="length">
How much data to write.
</param>
<param name="bytes_written">
The number of bytes actually written to the file.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_seek(iMobileDevice.Afc.AfcClientHandle,S
ystem.UInt64,System.Int64,System.Int32)">
<summary>
Seeks to a given position of a pre-opened file on the device.
</summary>
<param name="client">
The client to use to seek to the position.
</param>
<param name="handle">
File handle of a previously opened.
</param>
<param name="offset">
Seek offset.
</param>
<param name="whence">
Seeking direction, one of SEEK_SET, SEEK_CUR, or SEEK_END.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_tell(iMobileDevice.Afc.AfcClientHandle,S
ystem.UInt64,System.UInt64@)">
<summary>
Returns current position in a pre-opened file on the device.
</summary>
<param name="client">
The client to use.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="position">
Position in bytes of indicator
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_file_truncate(iMobileDevice.Afc.AfcClientHand
le,System.UInt64,System.UInt64)">
<summary>
Sets the size of a file on the device.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="handle">
File handle of a previously opened file.
</param>
<param name="newsize">
The size to set the file to.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
<remarks>
This function is more akin to ftruncate than truncate, and truncate
calls would have to open the file before calling this, sadly.
</remarks>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_remove_path(iMobileDevice.Afc.AfcClientHandle
,System.String)">
<summary>
Deletes a file or directory.
</summary>
<param name="client">
The client to use.
</param>
<param name="path">
The path to delete. (must be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_rename_path(iMobileDevice.Afc.AfcClientHandle
,System.String,System.String)">
<summary>
Renames a file or directory on the device.
</summary>
<param name="client">
The client to have rename.
</param>
<param name="from">
The name to rename from. (must be a fully-qualified path)
</param>
<param name="to">
The new name. (must also be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_make_directory(iMobileDevice.Afc.AfcClientHan
dle,System.String)">
<summary>
Creates a directory on the device.
</summary>
<param name="client">
The client to use to make a directory.
</param>
<param name="path">
The directory's path. (must be a fully-qualified path, I assume
all other mkdir restrictions apply as well)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_truncate(iMobileDevice.Afc.AfcClientHandle,Sy
stem.String,System.UInt64)">
<summary>
Sets the size of a file on the device without prior opening it.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="path">
The path of the file to be truncated.
</param>
<param name="newsize">
The size to set the file to.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_make_link(iMobileDevice.Afc.AfcClientHandle,i
MobileDevice.Afc.AfcLinkType,System.String,System.String)">
<summary>
Creates a hard link or symbolic link on the device.
</summary>
<param name="client">
The client to use for making a link
</param>
<param name="linktype">
1 = hard link, 2 = symlink
</param>
<param name="target">
The file to be linked.
</param>
<param name="linkname">
The name of link.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_set_file_time(iMobileDevice.Afc.AfcClientHand
le,System.String,System.UInt64)">
<summary>
Sets the modification time of a file on the device.
</summary>
<param name="client">
The client to use to set the file size.
</param>
<param name="path">
Path of the file for which the modification time should be set.
</param>
<param name="mtime">
The modification time to set in nanoseconds since epoch.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_remove_path_and_contents(iMobileDevice.Afc.Af
cClientHandle,System.String)">
<summary>
Deletes a file or directory including possible contents.
</summary>
<param name="client">
The client to use.
</param>
<param name="path">
The path to delete. (must be a fully-qualified path)
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
<remarks>
Only available in iOS 6 and later.
</remarks>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_get_device_info_key(iMobileDevice.Afc.AfcClie
ntHandle,System.String,System.String@)">
<summary>
Get a specific key of the device info list for a client connection.
Known key values are: Model, FSTotalBytes, FSFreeBytes and FSBlockSize.
This is a helper function for afc_get_device_info().
</summary>
<param name="client">
The client to get device info for.
</param>
<param name="key">
The key to get the value of.
</param>
<param name="value">
The value for the key if successful or NULL otherwise.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member
name="M:iMobileDevice.Afc.IAfcApi.afc_dictionary_free(System.IntPtr)">
<summary>
Frees up a char dictionary as returned by some AFC functions.
</summary>
<param name="dictionary">
The char array terminated by an empty string.
</param>
<returns>
AFC_E_SUCCESS on success or an AFC_E_* error value.
</returns>
</member>
<member name="F:iMobileDevice.CompanionProxy.CompanionProxyApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.CompanionProxy.CompanionProxyApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.#ctor(iMobileDevice.ILibiMob
ileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.CompanionProxy"/>.
</param>
</member>
<member name="P:iMobileDevice.CompanionProxy.CompanionProxyApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_client_new(i
MobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptor
Handle,iMobileDevice.CompanionProxy.CompanionProxyClientHandle@)">
<summary>
Connects to the companion_proxy service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
companion_proxy_client_t upon successful return. Must be freed using
companion_proxy_client_free() after use.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, COMPANION_PROXY_E_INVALID_ARG
when
the arguments are invalid, or an COMPANION_PROXY_E_* error code
otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_client_start
_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.CompanionProxy.Companion
ProxyClientHandle@,System.String)">
<summary>
Starts a new companion_proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
companion_proxy_client_t upon successful return. Must be freed using
companion_proxy_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, or an COMPANION_PROXY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_client_free(
System.IntPtr)">
<summary>
Disconnects a companion_proxy client from the device and frees up the
companion_proxy client data.
</summary>
<param name="client">
The companion_proxy client to disconnect and free.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, COMPANION_PROXY_E_INVALID_ARG
when
client is NULL, or an COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_send(iMobile
Device.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="plist">
The plist to send
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_receive(iMob
ileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plist.PlistHandle
@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_get_device_r
egistry(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plist
.PlistHandle@)">
<summary>
Retrieves a list of paired devices.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="devices">
Point that will receive a PLIST_ARRAY with paired device UDIDs
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_NO_DEVICES if no devices are paired,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The device closes the connection after sending the reply.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_start_listen
ing_for_devices(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevi
ce.CompanionProxy.CompanionProxyDeviceEventCallBack,System.IntPtr)">
<summary>
Starts listening for paired devices.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="callback">
Callback function that will be called when a new device is detected
</param>
<param name="userdata">
Pointer that that will be passed to the callback function
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The event parameter that gets passed to the callback function is
freed internally after returning from the callback. The consumer needs
to make a copy if required.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_stop_listeni
ng_for_devices(iMobileDevice.CompanionProxy.CompanionProxyClientHandle)">
<summary>
Stops listening for paired devices
</summary>
<param name="client">
The companion_proxy client
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_get_value_fr
om_registry(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,System.String,S
ystem.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Returns a value for the given key.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="companion_udid">
UDID of the (paired) companion device
</param>
<param name="key">
The key to retrieve the value for
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or paired_devices is invalid,
COMPANION_PROXY_E_UNSUPPORTED_KEY if the companion device doesn't
support the given key,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The device closes the connection after sending the reply.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_start_forwar
ding_service_port(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,System.UI
nt16,System.String,System.UInt16@,iMobileDevice.Plist.PlistHandle)">
<summary>
Start forwarding a service port on the companion device to a port on
the idevice.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="remote_port">
remote port
</param>
<param name="service_name">
The name of the service that shall be forwarded
</param>
<param name="forward_port">
Pointer that will receive the newly-assigned port accessible via
USB/Network on the idevice
</param>
<param name="options">
PLIST_DICT with additional options. Currently known are
IsServiceLowPriority (boolean) and PreferWifi (boolean).
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyApi.companion_proxy_stop_forward
ing_service_port(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,System.UIn
t16)">
<summary>
Stop forwarding a service port between companion device and idevice.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="remote_port">
remote port
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member name="T:iMobileDevice.CompanionProxy.CompanionProxyClientHandle">
<summary>
Represents a wrapper class for CompanionProxy handles.
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.#ctor(System.Boolea
n)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.DangerousCreate(Sys
tem.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.DangerousCreate(Sys
tem.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.Equals(System.Objec
t)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.op_Equality(iMobile
Device.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.CompanionProxy.Compa
nionProxyClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyClientHandle.op_Inequality(iMobi
leDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.CompanionProxy.Com
panionProxyClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.CompanionProxy.CompanionProxyError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.CompanionProxy.CompanionProxyException">
Represents an exception that occurred when interacting with the
CompanionProxy API.
</member>
<member
name="F:iMobileDevice.CompanionProxy.CompanionProxyException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.CompanionProxy.CompanionProxyException.ErrorCode"/> property.
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyException.#ctor(iMobileDevice.Co
mpanionProxy.CompanionProxyError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyException"/> class with a
specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyException.#ctor(iMobileDevice.Co
mpanionProxy.CompanionProxyError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyException"/> class with a
specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyException"/> class with a
specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyException.#ctor(System.String,Sy
stem.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyException"/> class with a
specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyException.#ctor(System.Runtime.S
erialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.CompanionProxy.CompanionProxyException"/> class with
serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.CompanionProxy.CompanionProxyException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_cl
ient_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownService
DescriptorHandle,iMobileDevice.CompanionProxy.CompanionProxyClientHandle@)">
<summary>
Connects to the companion_proxy service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
companion_proxy_client_t upon successful return. Must be freed using
companion_proxy_client_free() after use.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, COMPANION_PROXY_E_INVALID_ARG
when
the arguments are invalid, or an COMPANION_PROXY_E_* error code
otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_cl
ient_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.CompanionProxy
.CompanionProxyClientHandle@,System.String)">
<summary>
Starts a new companion_proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
companion_proxy_client_t upon successful return. Must be freed using
companion_proxy_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, or an COMPANION_PROXY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_cl
ient_free(System.IntPtr)">
<summary>
Disconnects a companion_proxy client from the device and frees up the
companion_proxy client data.
</summary>
<param name="client">
The companion_proxy client to disconnect and free.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, COMPANION_PROXY_E_INVALID_ARG
when
client is NULL, or an COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_se
nd(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plist.Plis
tHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="plist">
The plist to send
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_re
ceive(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plist.P
listHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_ge
t_device_registry(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDe
vice.Plist.PlistHandle@)">
<summary>
Retrieves a list of paired devices.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="devices">
Point that will receive a PLIST_ARRAY with paired device UDIDs
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_NO_DEVICES if no devices are paired,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The device closes the connection after sending the reply.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_st
art_listening_for_devices(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,i
MobileDevice.CompanionProxy.CompanionProxyDeviceEventCallBack,System.IntPtr)">
<summary>
Starts listening for paired devices.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="callback">
Callback function that will be called when a new device is detected
</param>
<param name="userdata">
Pointer that that will be passed to the callback function
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The event parameter that gets passed to the callback function is
freed internally after returning from the callback. The consumer needs
to make a copy if required.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_st
op_listening_for_devices(iMobileDevice.CompanionProxy.CompanionProxyClientHandle)">
<summary>
Stops listening for paired devices
</summary>
<param name="client">
The companion_proxy client
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_ge
t_value_from_registry(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,Syste
m.String,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Returns a value for the given key.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="companion_udid">
UDID of the (paired) companion device
</param>
<param name="key">
The key to retrieve the value for
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or paired_devices is invalid,
COMPANION_PROXY_E_UNSUPPORTED_KEY if the companion device doesn't
support the given key,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The device closes the connection after sending the reply.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_st
art_forwarding_service_port(iMobileDevice.CompanionProxy.CompanionProxyClientHandle
,System.UInt16,System.String,System.UInt16@,iMobileDevice.Plist.PlistHandle)">
<summary>
Start forwarding a service port on the companion device to a port on
the idevice.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="remote_port">
remote port
</param>
<param name="service_name">
The name of the service that shall be forwarded
</param>
<param name="forward_port">
Pointer that will receive the newly-assigned port accessible via
USB/Network on the idevice
</param>
<param name="options">
PLIST_DICT with additional options. Currently known are
IsServiceLowPriority (boolean) and PreferWifi (boolean).
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.CompanionProxyNativeMethods.companion_proxy_st
op_forwarding_service_port(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,
System.UInt16)">
<summary>
Stop forwarding a service port between companion device and idevice.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="remote_port">
remote port
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member name="P:iMobileDevice.CompanionProxy.ICompanionProxyApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.CompanionProxy"/>.
</summary>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_client_new(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescripto
rHandle,iMobileDevice.CompanionProxy.CompanionProxyClientHandle@)">
<summary>
Connects to the companion_proxy service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
companion_proxy_client_t upon successful return. Must be freed using
companion_proxy_client_free() after use.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, COMPANION_PROXY_E_INVALID_ARG
when
the arguments are invalid, or an COMPANION_PROXY_E_* error code
otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_client_star
t_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.CompanionProxy.Companio
nProxyClientHandle@,System.String)">
<summary>
Starts a new companion_proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
companion_proxy_client_t upon successful return. Must be freed using
companion_proxy_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, or an COMPANION_PROXY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_client_free
(System.IntPtr)">
<summary>
Disconnects a companion_proxy client from the device and frees up the
companion_proxy client data.
</summary>
<param name="client">
The companion_proxy client to disconnect and free.
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success, COMPANION_PROXY_E_INVALID_ARG
when
client is NULL, or an COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_send(iMobil
eDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plist.PlistHandle)"
>
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="plist">
The plist to send
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_receive(iMo
bileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plist.PlistHandl
e@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_get_device_
registry(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDevice.Plis
t.PlistHandle@)">
<summary>
Retrieves a list of paired devices.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="devices">
Point that will receive a PLIST_ARRAY with paired device UDIDs
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_NO_DEVICES if no devices are paired,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The device closes the connection after sending the reply.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_start_liste
ning_for_devices(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,iMobileDev
ice.CompanionProxy.CompanionProxyDeviceEventCallBack,System.IntPtr)">
<summary>
Starts listening for paired devices.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="callback">
Callback function that will be called when a new device is detected
</param>
<param name="userdata">
Pointer that that will be passed to the callback function
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The event parameter that gets passed to the callback function is
freed internally after returning from the callback. The consumer needs
to make a copy if required.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_stop_listen
ing_for_devices(iMobileDevice.CompanionProxy.CompanionProxyClientHandle)">
<summary>
Stops listening for paired devices
</summary>
<param name="client">
The companion_proxy client
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_get_value_f
rom_registry(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,System.String,
System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Returns a value for the given key.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="companion_udid">
UDID of the (paired) companion device
</param>
<param name="key">
The key to retrieve the value for
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
COMPANION_PROXY_E_INVALID_ARG when client or paired_devices is invalid,
COMPANION_PROXY_E_UNSUPPORTED_KEY if the companion device doesn't
support the given key,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
<remarks>
The device closes the connection after sending the reply.
</remarks>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_start_forwa
rding_service_port(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,System.U
Int16,System.String,System.UInt16@,iMobileDevice.Plist.PlistHandle)">
<summary>
Start forwarding a service port on the companion device to a port on
the idevice.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="remote_port">
remote port
</param>
<param name="service_name">
The name of the service that shall be forwarded
</param>
<param name="forward_port">
Pointer that will receive the newly-assigned port accessible via
USB/Network on the idevice
</param>
<param name="options">
PLIST_DICT with additional options. Currently known are
IsServiceLowPriority (boolean) and PreferWifi (boolean).
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.CompanionProxy.ICompanionProxyApi.companion_proxy_stop_forwar
ding_service_port(iMobileDevice.CompanionProxy.CompanionProxyClientHandle,System.UI
nt16)">
<summary>
Stop forwarding a service port between companion device and idevice.
</summary>
<param name="client">
The companion_proxy client
</param>
<param name="remote_port">
remote port
</param>
<returns>
COMPANION_PROXY_E_SUCCESS on success,
or a COMPANION_PROXY_E_* error code otherwise.
</returns>
</member>
<member name="F:iMobileDevice.DebugServer.DebugServerApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.DebugServer.DebugServerApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.#ctor(iMobileDevice.ILibiMobileDev
ice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.DebugServer"/>.
</param>
</member>
<member name="P:iMobileDevice.DebugServer.DebugServerApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_new(iMobileDevi
ce.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMo
bileDevice.DebugServer.DebugServerClientHandle@)">
<summary>
Connects to the debugserver service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
debugserver_client_t upon successful return. Must be freed using
debugserver_client_free() after use.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, DEBUGSERVER_E_INVALID_ARG when
client is NULL, or an DEBUGSERVER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_start_service(i
MobileDevice.iDevice.iDeviceHandle,iMobileDevice.DebugServer.DebugServerClientHandl
e@,System.String)">
<summary>
Starts a new debugserver service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
debugserver_client_t upon successful return. Must be freed using
debugserver_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, or an DEBUGSERVER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_free(System.Int
Ptr)">
<summary>
Disconnects a debugserver client from the device and frees up the
debugserver client data.
</summary>
<param name="client">
The debugserver client to disconnect and free.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, DEBUGSERVER_E_INVALID_ARG when
client is NULL, or an DEBUGSERVER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_send(iMobileDev
ice.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt32,System.UInt32@)
">
<summary>
Sends raw data using the given debugserver service client.
</summary>
<param name="client">
The debugserver client to use for sending
</param>
<param name="data">
Data to send
</param>
<param name="size">
Size of the data to send
</param>
<param name="sent">
Number of bytes sent (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when one or more parameters are
invalid, or DEBUGSERVER_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_receive_with_ti
meout(iMobileDevice.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt32
,System.UInt32@,System.UInt32)">
<summary>
Receives raw data using the given debugserver client with specified
timeout.
</summary>
<param name="client">
The debugserver client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when one or more parameters are
invalid, DEBUGSERVER_E_MUX_ERROR when a communication error
occurs, or DEBUGSERVER_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_receive(iMobile
Device.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt32,System.UInt3
2@)">
<summary>
Receives raw data from the debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client or plist is NULL
</returns>
<remarks>
The default read timeout is 10 seconds.
</remarks>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_send_command(iM
obileDevice.DebugServer.DebugServerClientHandle,iMobileDevice.DebugServer.DebugServ
erCommandHandle,System.String@,System.UInt32@)">
<summary>
Sends a command to the debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="command">
Command to process and send
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<param name="response_size">
Pointer to receive response size. Set to NULL to ignore.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client or command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_receive_respons
e(iMobileDevice.DebugServer.DebugServerClientHandle,System.String@,System.UInt32@)"
>
<summary>
Receives and parses response of debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="response">
Response received for last command (can be NULL to ignore)
</param>
<param name="response_size">
Pointer to receive response size. Set to NULL to ignore.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_set_ack_mode(iM
obileDevice.DebugServer.DebugServerClientHandle,System.Int32)">
<summary>
Controls status of ACK mode when sending commands or receiving
responses.
</summary>
<param name="client">
The debugserver client
</param>
<param name="enabled">
A boolean flag indicating whether the internal ACK mode
handling should be enabled or disabled.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, or an DEBUGSERVER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_set_argv(iMobil
eDevice.DebugServer.DebugServerClientHandle,System.Int32,System.Collections.ObjectM
odel.ReadOnlyCollection{System.String},System.String@)">
<summary>
Sets the argv which launches an app.
</summary>
<param name="client">
The debugserver client
</param>
<param name="argc">
Number of arguments
</param>
<param name="argv">
Array starting with the executable to be run followed by it's arguments
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_client_set_environment
_hex_encoded(iMobileDevice.DebugServer.DebugServerClientHandle,System.String,System
.String@)">
<summary>
Adds or sets an environment variable.
</summary>
<param name="client">
The debugserver client
</param>
<param name="env">
The environment variable in "KEY=VALUE" notation
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_command_new(System.Str
ing,System.Int32,System.Collections.ObjectModel.ReadOnlyCollection{System.String},i
MobileDevice.DebugServer.DebugServerCommandHandle@)">
<summary>
Creates and initializes a new command object.
</summary>
<param name="name">
The name of the command which is sent in plain text
</param>
<param name="argv">
Array of tokens for the command ment to be encoded
</param>
<param name="argc">
Number of items in the token array
</param>
<param name="command">
New command object
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when name or command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_command_free(System.In
tPtr)">
<summary>
Frees memory of command object.
</summary>
<param name="command">
The command object
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_encode_string(System.S
tring,System.String@,System.UInt32@)">
<summary>
Encodes a string into hex notation.
</summary>
<param name="buffer">
String to encode into hex notiation
</param>
<param name="encoded_buffer">
The buffer receives a hex encoded string
</param>
<param name="encoded_length">
Length of the hex encoded string
</param>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerApi.debugserver_decode_string(System.S
tring,System.UInt32,System.String@)">
<summary>
Decodes a hex encoded string.
</summary>
<param name="encoded_buffer">
The buffer with a hex encoded string
</param>
<param name="encoded_length">
Length of the encoded buffer
</param>
<param name="buffer">
Decoded string to be freed by the caller
</param>
</member>
<member name="T:iMobileDevice.DebugServer.DebugServerClientHandle">
<summary>
Represents a wrapper class for DebugServer handles.
</summary>
</member>
<member name="M:iMobileDevice.DebugServer.DebugServerClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.DebugServer.DebugServerClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.DebugServer.DebugServerClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.DangerousCreate(System.In
tPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.DebugServer.DebugServerClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.DangerousCreate(System.In
tPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.DebugServer.DebugServerClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.op_Equality(iMobileDevice
.DebugServer.DebugServerClientHandle,iMobileDevice.DebugServer.DebugServerClientHan
dle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.DebugServer.DebugServerClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerClientHandle.op_Inequality(iMobileDevi
ce.DebugServer.DebugServerClientHandle,iMobileDevice.DebugServer.DebugServerClientH
andle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.DebugServer.DebugServerClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.DebugServer.DebugServerCommandHandle">
<summary>
Represents a wrapper class for DebugServer handles.
</summary>
</member>
<member name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerCommandHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerCommandHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.DebugServer.DebugServerCommandHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.DebugServer.DebugServerCommandHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.DangerousCreate(System.I
ntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.DebugServer.DebugServerCommandHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.DangerousCreate(System.I
ntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.DebugServer.DebugServerCommandHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.op_Equality(iMobileDevic
e.DebugServer.DebugServerCommandHandle,iMobileDevice.DebugServer.DebugServerCommand
Handle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.DebugServer.DebugServerCommandHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerCommandHandle.op_Inequality(iMobileDev
ice.DebugServer.DebugServerCommandHandle,iMobileDevice.DebugServer.DebugServerComma
ndHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.DebugServer.DebugServerCommandHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.DebugServer.DebugServerError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.DebugServer.DebugServerException">
Represents an exception that occurred when interacting with the
DebugServer API.
</member>
<member name="F:iMobileDevice.DebugServer.DebugServerException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.DebugServer.DebugServerException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.DebugServer.DebugServerException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerException.#ctor(iMobileDevice.DebugSer
ver.DebugServerError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerException"/> class with a specified
error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerException.#ctor(iMobileDevice.DebugSer
ver.DebugServerError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerException"/> class with a specified
error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerException"/> class with a specified
error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerException.#ctor(System.String,System.E
xception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerException"/> class with a specified
error message and a reference to the inner exception that is the cause of this
exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerException.#ctor(System.Runtime.Seriali
zation.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DebugServer.DebugServerException"/> class with serialized
data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.DebugServer.DebugServerException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_new(i
MobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptor
Handle,iMobileDevice.DebugServer.DebugServerClientHandle@)">
<summary>
Connects to the debugserver service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
debugserver_client_t upon successful return. Must be freed using
debugserver_client_free() after use.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, DEBUGSERVER_E_INVALID_ARG when
client is NULL, or an DEBUGSERVER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_start
_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.DebugServer.DebugServerC
lientHandle@,System.String)">
<summary>
Starts a new debugserver service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
debugserver_client_t upon successful return. Must be freed using
debugserver_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, or an DEBUGSERVER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_free(
System.IntPtr)">
<summary>
Disconnects a debugserver client from the device and frees up the
debugserver client data.
</summary>
<param name="client">
The debugserver client to disconnect and free.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, DEBUGSERVER_E_INVALID_ARG when
client is NULL, or an DEBUGSERVER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_send(
iMobileDevice.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt32,Syste
m.UInt32@)">
<summary>
Sends raw data using the given debugserver service client.
</summary>
<param name="client">
The debugserver client to use for sending
</param>
<param name="data">
Data to send
</param>
<param name="size">
Size of the data to send
</param>
<param name="sent">
Number of bytes sent (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when one or more parameters are
invalid, or DEBUGSERVER_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_recei
ve_with_timeout(iMobileDevice.DebugServer.DebugServerClientHandle,System.Byte[],Sys
tem.UInt32,System.UInt32@,System.UInt32)">
<summary>
Receives raw data using the given debugserver client with specified
timeout.
</summary>
<param name="client">
The debugserver client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when one or more parameters are
invalid, DEBUGSERVER_E_MUX_ERROR when a communication error
occurs, or DEBUGSERVER_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_recei
ve(iMobileDevice.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt32,Sy
stem.UInt32@)">
<summary>
Receives raw data from the debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client or plist is NULL
</returns>
<remarks>
The default read timeout is 10 seconds.
</remarks>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_send_
command(iMobileDevice.DebugServer.DebugServerClientHandle,iMobileDevice.DebugServer
.DebugServerCommandHandle,System.IntPtr@,System.UInt32@)">
<summary>
Sends a command to the debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="command">
Command to process and send
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<param name="response_size">
Pointer to receive response size. Set to NULL to ignore.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client or command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_recei
ve_response(iMobileDevice.DebugServer.DebugServerClientHandle,System.IntPtr@,System
.UInt32@)">
<summary>
Receives and parses response of debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="response">
Response received for last command (can be NULL to ignore)
</param>
<param name="response_size">
Pointer to receive response size. Set to NULL to ignore.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_set_a
ck_mode(iMobileDevice.DebugServer.DebugServerClientHandle,System.Int32)">
<summary>
Controls status of ACK mode when sending commands or receiving
responses.
</summary>
<param name="client">
The debugserver client
</param>
<param name="enabled">
A boolean flag indicating whether the internal ACK mode
handling should be enabled or disabled.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, or an DEBUGSERVER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_set_a
rgv(iMobileDevice.DebugServer.DebugServerClientHandle,System.Int32,System.IntPtr,Sy
stem.IntPtr@)">
<summary>
Sets the argv which launches an app.
</summary>
<param name="client">
The debugserver client
</param>
<param name="argc">
Number of arguments
</param>
<param name="argv">
Array starting with the executable to be run followed by it's arguments
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_client_set_e
nvironment_hex_encoded(iMobileDevice.DebugServer.DebugServerClientHandle,System.Str
ing,System.IntPtr@)">
<summary>
Adds or sets an environment variable.
</summary>
<param name="client">
The debugserver client
</param>
<param name="env">
The environment variable in "KEY=VALUE" notation
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_command_new(
System.String,System.Int32,System.IntPtr,iMobileDevice.DebugServer.DebugServerComma
ndHandle@)">
<summary>
Creates and initializes a new command object.
</summary>
<param name="name">
The name of the command which is sent in plain text
</param>
<param name="argv">
Array of tokens for the command ment to be encoded
</param>
<param name="argc">
Number of items in the token array
</param>
<param name="command">
New command object
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when name or command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_command_free
(System.IntPtr)">
<summary>
Frees memory of command object.
</summary>
<param name="command">
The command object
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_encode_strin
g(System.String,System.IntPtr@,System.UInt32@)">
<summary>
Encodes a string into hex notation.
</summary>
<param name="buffer">
String to encode into hex notiation
</param>
<param name="encoded_buffer">
The buffer receives a hex encoded string
</param>
<param name="encoded_length">
Length of the hex encoded string
</param>
</member>
<member
name="M:iMobileDevice.DebugServer.DebugServerNativeMethods.debugserver_decode_strin
g(System.String,System.UInt32,System.IntPtr@)">
<summary>
Decodes a hex encoded string.
</summary>
<param name="encoded_buffer">
The buffer with a hex encoded string
</param>
<param name="encoded_length">
Length of the encoded buffer
</param>
<param name="buffer">
Decoded string to be freed by the caller
</param>
</member>
<member name="P:iMobileDevice.DebugServer.IDebugServerApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.DebugServer"/>.
</summary>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_new(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iM
obileDevice.DebugServer.DebugServerClientHandle@)">
<summary>
Connects to the debugserver service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
debugserver_client_t upon successful return. Must be freed using
debugserver_client_free() after use.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, DEBUGSERVER_E_INVALID_ARG when
client is NULL, or an DEBUGSERVER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_start_service(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.DebugServer.DebugServerClientHand
le@,System.String)">
<summary>
Starts a new debugserver service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
debugserver_client_t upon successful return. Must be freed using
debugserver_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, or an DEBUGSERVER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_free(System.In
tPtr)">
<summary>
Disconnects a debugserver client from the device and frees up the
debugserver client data.
</summary>
<param name="client">
The debugserver client to disconnect and free.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, DEBUGSERVER_E_INVALID_ARG when
client is NULL, or an DEBUGSERVER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_send(iMobileDe
vice.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt32,System.UInt32@
)">
<summary>
Sends raw data using the given debugserver service client.
</summary>
<param name="client">
The debugserver client to use for sending
</param>
<param name="data">
Data to send
</param>
<param name="size">
Size of the data to send
</param>
<param name="sent">
Number of bytes sent (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when one or more parameters are
invalid, or DEBUGSERVER_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_receive_with_t
imeout(iMobileDevice.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt3
2,System.UInt32@,System.UInt32)">
<summary>
Receives raw data using the given debugserver client with specified
timeout.
</summary>
<param name="client">
The debugserver client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when one or more parameters are
invalid, DEBUGSERVER_E_MUX_ERROR when a communication error
occurs, or DEBUGSERVER_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_receive(iMobil
eDevice.DebugServer.DebugServerClientHandle,System.Byte[],System.UInt32,System.UInt
32@)">
<summary>
Receives raw data from the debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client or plist is NULL
</returns>
<remarks>
The default read timeout is 10 seconds.
</remarks>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_send_command(i
MobileDevice.DebugServer.DebugServerClientHandle,iMobileDevice.DebugServer.DebugSer
verCommandHandle,System.String@,System.UInt32@)">
<summary>
Sends a command to the debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="command">
Command to process and send
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<param name="response_size">
Pointer to receive response size. Set to NULL to ignore.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client or command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_receive_respon
se(iMobileDevice.DebugServer.DebugServerClientHandle,System.String@,System.UInt32@)
">
<summary>
Receives and parses response of debugserver service.
</summary>
<param name="client">
The debugserver client
</param>
<param name="response">
Response received for last command (can be NULL to ignore)
</param>
<param name="response_size">
Pointer to receive response size. Set to NULL to ignore.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_set_ack_mode(i
MobileDevice.DebugServer.DebugServerClientHandle,System.Int32)">
<summary>
Controls status of ACK mode when sending commands or receiving
responses.
</summary>
<param name="client">
The debugserver client
</param>
<param name="enabled">
A boolean flag indicating whether the internal ACK mode
handling should be enabled or disabled.
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success, or an DEBUGSERVER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_set_argv(iMobi
leDevice.DebugServer.DebugServerClientHandle,System.Int32,System.Collections.Object
Model.ReadOnlyCollection{System.String},System.String@)">
<summary>
Sets the argv which launches an app.
</summary>
<param name="client">
The debugserver client
</param>
<param name="argc">
Number of arguments
</param>
<param name="argv">
Array starting with the executable to be run followed by it's arguments
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_client_set_environmen
t_hex_encoded(iMobileDevice.DebugServer.DebugServerClientHandle,System.String,Syste
m.String@)">
<summary>
Adds or sets an environment variable.
</summary>
<param name="client">
The debugserver client
</param>
<param name="env">
The environment variable in "KEY=VALUE" notation
</param>
<param name="response">
Response received for the command (can be NULL to ignore)
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_command_new(System.St
ring,System.Int32,System.Collections.ObjectModel.ReadOnlyCollection{System.String},
iMobileDevice.DebugServer.DebugServerCommandHandle@)">
<summary>
Creates and initializes a new command object.
</summary>
<param name="name">
The name of the command which is sent in plain text
</param>
<param name="argv">
Array of tokens for the command ment to be encoded
</param>
<param name="argc">
Number of items in the token array
</param>
<param name="command">
New command object
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when name or command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_command_free(System.I
ntPtr)">
<summary>
Frees memory of command object.
</summary>
<param name="command">
The command object
</param>
<returns>
DEBUGSERVER_E_SUCCESS on success,
DEBUGSERVER_E_INVALID_ARG when command is NULL
</returns>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_encode_string(System.
String,System.String@,System.UInt32@)">
<summary>
Encodes a string into hex notation.
</summary>
<param name="buffer">
String to encode into hex notiation
</param>
<param name="encoded_buffer">
The buffer receives a hex encoded string
</param>
<param name="encoded_length">
Length of the hex encoded string
</param>
</member>
<member
name="M:iMobileDevice.DebugServer.IDebugServerApi.debugserver_decode_string(System.
String,System.UInt32,System.String@)">
<summary>
Decodes a hex encoded string.
</summary>
<param name="encoded_buffer">
The buffer with a hex encoded string
</param>
<param name="encoded_length">
Length of the encoded buffer
</param>
<param name="buffer">
Decoded string to be freed by the caller
</param>
</member>
<member name="F:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.#ctor(iMobileDevice.ILib
iMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.DiagnosticsRelay"/>.
</param>
</member>
<member name="P:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_client
_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDesc
riptorHandle,iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle@)">
<summary>
Connects to the diagnostics_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
diagnostics_relay_client_t upon successful return.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when one of the parameters is invalid,
or DIAGNOSTICS_RELAY_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_client
_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.DiagnosticsRelay.D
iagnosticsRelayClientHandle@,System.String)">
<summary>
Starts a new diagnostics_relay service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
diagnostics_relay_client_t upon successful return. Must be freed using
diagnostics_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success, or an DIAGNOSTICS_RELAY_E_*
error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_client
_free(System.IntPtr)">
<summary>
Disconnects a diagnostics_relay client from the device and frees up the
diagnostics_relay client data.
</summary>
<param name="client">
The diagnostics_relay client to disconnect and free.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when one of client or client->parent
is invalid, or DIAGNOSTICS_RELAY_E_UNKNOWN_ERROR when the was an
error freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_goodby
e(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle)">
<summary>
Sends the Goodbye request signaling the end of communication.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_sleep(
iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle)">
<summary>
Puts the device into deep sleep mode and disconnects from host.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_restar
t(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDevice.Diagnos
ticsRelay.DiagnosticsRelayAction)">
<summary>
Restart the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_shutdo
wn(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDevice.Diagno
sticsRelay.DiagnosticsRelayAction)">
<summary>
Shutdown of the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayApi.diagnostics_relay_reques
t_diagnostics(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,System.St
ring,iMobileDevice.Plist.PlistHandle@)">
<summary>
Shutdown of the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle">
<summary>
Represents a wrapper class for DiagnosticsRelay handles.
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.#ctor(System.Bo
olean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.DangerousCreate
(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.DangerousCreate
(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.Equals(System.O
bject)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.op_Equality(iMo
bileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDevice.DiagnosticsR
elay.DiagnosticsRelayClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle.op_Inequality(i
MobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDevice.Diagnostic
sRelay.DiagnosticsRelayClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle"/> are not
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException">
Represents an exception that occurred when interacting with the
DiagnosticsRelay API.
</member>
<member
name="F:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.#ctor(iMobileDevic
e.DiagnosticsRelay.DiagnosticsRelayError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException"/> class with a
specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.#ctor(iMobileDevic
e.DiagnosticsRelay.DiagnosticsRelayError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException"/> class with a
specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.#ctor(System.Strin
g)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException"/> class with a
specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.#ctor(System.Strin
g,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException"/> class with a
specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.#ctor(System.Runti
me.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException"/> class with
serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_client_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownS
erviceDescriptorHandle,iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle@
)">
<summary>
Connects to the diagnostics_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
diagnostics_relay_client_t upon successful return.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when one of the parameters is invalid,
or DIAGNOSTICS_RELAY_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_client_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Diagnost
icsRelay.DiagnosticsRelayClientHandle@,System.String)">
<summary>
Starts a new diagnostics_relay service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
diagnostics_relay_client_t upon successful return. Must be freed using
diagnostics_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success, or an DIAGNOSTICS_RELAY_E_*
error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_client_free(System.IntPtr)">
<summary>
Disconnects a diagnostics_relay client from the device and frees up the
diagnostics_relay client data.
</summary>
<param name="client">
The diagnostics_relay client to disconnect and free.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when one of client or client->parent
is invalid, or DIAGNOSTICS_RELAY_E_UNKNOWN_ERROR when the was an
error freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_goodbye(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle)">
<summary>
Sends the Goodbye request signaling the end of communication.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_sleep(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle)">
<summary>
Puts the device into deep sleep mode and disconnects from host.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_restart(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDevi
ce.DiagnosticsRelay.DiagnosticsRelayAction)">
<summary>
Restart the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_shutdown(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDev
ice.DiagnosticsRelay.DiagnosticsRelayAction)">
<summary>
Shutdown of the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.DiagnosticsRelayNativeMethods.diagnostics_re
lay_request_diagnostics(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle
,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Shutdown of the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="P:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.DiagnosticsRelay"/>.
</summary>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_clien
t_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDes
criptorHandle,iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle@)">
<summary>
Connects to the diagnostics_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
diagnostics_relay_client_t upon successful return.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when one of the parameters is invalid,
or DIAGNOSTICS_RELAY_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_clien
t_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.DiagnosticsRelay.
DiagnosticsRelayClientHandle@,System.String)">
<summary>
Starts a new diagnostics_relay service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
diagnostics_relay_client_t upon successful return. Must be freed using
diagnostics_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success, or an DIAGNOSTICS_RELAY_E_*
error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_clien
t_free(System.IntPtr)">
<summary>
Disconnects a diagnostics_relay client from the device and frees up the
diagnostics_relay client data.
</summary>
<param name="client">
The diagnostics_relay client to disconnect and free.
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when one of client or client->parent
is invalid, or DIAGNOSTICS_RELAY_E_UNKNOWN_ERROR when the was an
error freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_goodb
ye(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle)">
<summary>
Sends the Goodbye request signaling the end of communication.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_sleep
(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle)">
<summary>
Puts the device into deep sleep mode and disconnects from host.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_resta
rt(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDevice.Diagno
sticsRelay.DiagnosticsRelayAction)">
<summary>
Restart the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_shutd
own(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,iMobileDevice.Diagn
osticsRelay.DiagnosticsRelayAction)">
<summary>
Shutdown of the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.DiagnosticsRelay.IDiagnosticsRelayApi.diagnostics_relay_reque
st_diagnostics(iMobileDevice.DiagnosticsRelay.DiagnosticsRelayClientHandle,System.S
tring,iMobileDevice.Plist.PlistHandle@)">
<summary>
Shutdown of the device and optionally show a user notification.
</summary>
<param name="client">
The diagnostics_relay client
</param>
<param name="flags">
A binary flag combination of
DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until
diagnostics_relay_client_free() disconnects before execution and
DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog
or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL,
DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member name="T:iMobileDevice.DlOpenFlags">
<summary>
Specifies how the <see
cref="M:iMobileDevice.NativeMethods.dlopen(System.String,iMobileDevice.DlOpenFlags)
"/> function loads
a dynamic link library.
</summary>
</member>
<member name="F:iMobileDevice.DlOpenFlags.RTLD_LAZY">
<summary>
Perform lazy binding. Only resolve symbols as the code that references
them is executed.
If the symbol is never referenced, then it is never resolved.
(Lazy binding is only performed for function references; references to
variables are always
immediately bound when the library is loaded.)
</summary>
</member>
<member name="F:iMobileDevice.DlOpenFlags.RTLD_NOW">
<summary>
If this value is specified, or the environment variable
<c>LD_BIND_NOW</c> is set to a nonempty string,
all undefined symbols in the library are resolved before <see
cref="M:iMobileDevice.NativeMethods.dlopen(System.String,iMobileDevice.DlOpenFlags)
"/> returns.
If this cannot be done, an error is returned.
</summary>
</member>
<member name="F:iMobileDevice.DlOpenFlags.RTLD_GLOBAL">
<summary>
The symbols defined by this library will be made available for symbol
resolution of subsequently
loaded libraries.
</summary>
</member>
<member name="F:iMobileDevice.DlOpenFlags.RTLD_LOCAL">
<summary>
This is the converse of <see
cref="F:iMobileDevice.DlOpenFlags.RTLD_GLOBAL"/>, and the default if neither flag
is specified.
Symbols defined in this library are not made available to resolve
references in subsequently
loaded libraries.
</summary>
</member>
<member name="F:iMobileDevice.DlOpenFlags.RTLD_NODELETE">
<summary>
Do not unload the library during <see cref="!:NativeMethods.dlclose"/>.
Consequently, the library's
static variables are not reinitialized if the library is reloaded with
<see
cref="M:iMobileDevice.NativeMethods.dlopen(System.String,iMobileDevice.DlOpenFlags)
"/> at a later time.
</summary>
<remarks>
This flag is not specified in POSIX.1-2001.
</remarks>
</member>
<member name="F:iMobileDevice.DlOpenFlags.RTLD_NOLOAD">
<summary>
Don't load the library. This can be used to test if the library is
already resident
(<see
cref="M:iMobileDevice.NativeMethods.dlopen(System.String,iMobileDevice.DlOpenFlags)
"/> returns <see cref="F:System.IntPtr.Zero"/> if it is not, or the library's
handle if it is resident). This flag can also be used to promote the
flags on a library
that is already loaded. For example, a library that was previously
loaded with
<see cref="F:iMobileDevice.DlOpenFlags.RTLD_LOCAL"/> can be reopened
with <see cref="F:iMobileDevice.DlOpenFlags.RTLD_NOLOAD"/> |
<see cref="F:iMobileDevice.DlOpenFlags.RTLD_GLOBAL"/>.
</summary>
<remarks>
This flag is not specified in POSIX.1-2001.
</remarks>
</member>
<member name="F:iMobileDevice.DlOpenFlags.RTLD_DEEPBIND">
<summary>
Place the lookup scope of the symbols in this library ahead of the
global scope.
This means that a self-contained library will use its own symbols in
preference to global
symbols with the same name contained in libraries that have already
been loaded.
</summary>
<remarks>
This flag is not specified in POSIX.1-2001.
</remarks>
</member>
<member name="F:iMobileDevice.FileRelay.FileRelayApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.FileRelay.FileRelayApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayApi.#ctor(iMobileDevice.ILibiMobileDevice)
">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.FileRelay"/>.
</param>
</member>
<member name="P:iMobileDevice.FileRelay.FileRelayApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayApi.file_relay_client_new(iMobileDevice.iD
evice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileD
evice.FileRelay.FileRelayClientHandle@)">
<summary>
Connects to the file_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
file_relay_client_t upon successful return.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success,
FILE_RELAY_E_INVALID_ARG when one of the parameters is invalid,
or FILE_RELAY_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayApi.file_relay_client_start_service(iMobil
eDevice.iDevice.iDeviceHandle,iMobileDevice.FileRelay.FileRelayClientHandle@,System
.String)">
<summary>
Starts a new file_relay service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
file_relay_client_t upon successful return. Must be freed using
file_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success, or an FILE_RELAY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayApi.file_relay_client_free(System.IntPtr)"
>
<summary>
Disconnects a file_relay client from the device and frees up the
file_relay
client data.
</summary>
<param name="client">
The file_relay client to disconnect and free.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success,
FILE_RELAY_E_INVALID_ARG when one of client or client->parent
is invalid, or FILE_RELAY_E_UNKNOWN_ERROR when the was an error
freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayApi.file_relay_request_sources(iMobileDevi
ce.FileRelay.FileRelayClientHandle,System.String@,iMobileDevice.iDevice.iDeviceConn
ectionHandle@)">
<summary>
Request data for the given sources.
</summary>
<param name="client">
The connected file_relay client.
</param>
<param name="sources">
A NULL-terminated list of sources to retrieve.
Valid sources are:
- AppleSupport
- Network
- VPN
- WiFi
- UserDatabases
- CrashReporter
- tmp
- SystemConfiguration
</param>
<param name="connection">
The connection that has to be used for receiving the
data using idevice_connection_receive(). The connection will be closed
automatically by the device, but use file_relay_client_free() to clean
up properly.
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
FILE_RELAY_E_SUCCESS on succes, FILE_RELAY_E_INVALID_ARG when one or
more parameters are invalid, FILE_RELAY_E_MUX_ERROR if a communication
error occurs, FILE_RELAY_E_PLIST_ERROR when the received result is NULL
or is not a valid plist, FILE_RELAY_E_INVALID_SOURCE if one or more
sources are invalid, FILE_RELAY_E_STAGING_EMPTY if no data is available
for the given sources, or FILE_RELAY_E_UNKNOWN_ERROR otherwise.
</returns>
<remarks>
WARNING: Don't call this function without reading the data afterwards.
A directory mobile_file_relay.XXXX used for creating the archive will
remain in the /tmp directory otherwise.
</remarks>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayApi.file_relay_request_sources_timeout(iMo
bileDevice.FileRelay.FileRelayClientHandle,System.String@,iMobileDevice.iDevice.iDe
viceConnectionHandle@,System.UInt32)">
<summary>
Request data for the given sources. Calls
file_relay_request_sources_timeout() with
a timeout of 60000 milliseconds (60 seconds).
</summary>
<param name="client">
The connected file_relay client.
</param>
<param name="sources">
A NULL-terminated list of sources to retrieve.
Valid sources are:
- AppleSupport
- Network
- VPN
- WiFi
- UserDatabases
- CrashReporter
- tmp
- SystemConfiguration
</param>
<param name="connection">
The connection that has to be used for receiving the
data using idevice_connection_receive(). The connection will be closed
automatically by the device, but use file_relay_client_free() to clean
up properly.
</param>
<returns>
FILE_RELAY_E_SUCCESS on succes, FILE_RELAY_E_INVALID_ARG when one or
more parameters are invalid, FILE_RELAY_E_MUX_ERROR if a communication
error occurs, FILE_RELAY_E_PLIST_ERROR when the received result is NULL
or is not a valid plist, FILE_RELAY_E_INVALID_SOURCE if one or more
sources are invalid, FILE_RELAY_E_STAGING_EMPTY if no data is available
for the given sources, or FILE_RELAY_E_UNKNOWN_ERROR otherwise.
</returns>
<remarks>
WARNING: Don't call this function without reading the data afterwards.
A directory mobile_file_relay.XXXX used for creating the archive will
remain in the /tmp directory otherwise.
</remarks>
</member>
<member name="T:iMobileDevice.FileRelay.FileRelayClientHandle">
<summary>
Represents a wrapper class for FileRelay handles.
</summary>
</member>
<member name="M:iMobileDevice.FileRelay.FileRelayClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayClientHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.FileRelay.FileRelayClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.FileRelay.FileRelayClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayClientHandle.DangerousCreate(System.IntPtr
,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.FileRelay.FileRelayClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayClientHandle.DangerousCreate(System.IntPtr
)">
<summary>
Creates a new <see
cref="T:iMobileDevice.FileRelay.FileRelayClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.FileRelay.FileRelayClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.FileRelay.FileRelayClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayClientHandle.op_Equality(iMobileDevice.Fil
eRelay.FileRelayClientHandle,iMobileDevice.FileRelay.FileRelayClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.FileRelay.FileRelayClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayClientHandle.op_Inequality(iMobileDevice.F
ileRelay.FileRelayClientHandle,iMobileDevice.FileRelay.FileRelayClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.FileRelay.FileRelayClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.FileRelay.FileRelayError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.FileRelay.FileRelayException">
Represents an exception that occurred when interacting with the
FileRelay API.
</member>
<member name="F:iMobileDevice.FileRelay.FileRelayException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.FileRelay.FileRelayException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.FileRelay.FileRelayException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayException.#ctor(iMobileDevice.FileRelay.Fi
leRelayError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayException.#ctor(iMobileDevice.FileRelay.Fi
leRelayError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayException"/> class with a specified error
code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayException.#ctor(System.String,System.Excep
tion)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayException.#ctor(System.Runtime.Serializati
on.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.FileRelay.FileRelayException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.FileRelay.FileRelayException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayNativeMethods.file_relay_client_new(iMobil
eDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandl
e,iMobileDevice.FileRelay.FileRelayClientHandle@)">
<summary>
Connects to the file_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
file_relay_client_t upon successful return.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success,
FILE_RELAY_E_INVALID_ARG when one of the parameters is invalid,
or FILE_RELAY_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayNativeMethods.file_relay_client_start_serv
ice(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.FileRelay.FileRelayClientHand
le@,System.String)">
<summary>
Starts a new file_relay service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
file_relay_client_t upon successful return. Must be freed using
file_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success, or an FILE_RELAY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayNativeMethods.file_relay_client_free(Syste
m.IntPtr)">
<summary>
Disconnects a file_relay client from the device and frees up the
file_relay
client data.
</summary>
<param name="client">
The file_relay client to disconnect and free.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success,
FILE_RELAY_E_INVALID_ARG when one of client or client->parent
is invalid, or FILE_RELAY_E_UNKNOWN_ERROR when the was an error
freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayNativeMethods.file_relay_request_sources(i
MobileDevice.FileRelay.FileRelayClientHandle,System.IntPtr@,iMobileDevice.iDevice.i
DeviceConnectionHandle@)">
<summary>
Request data for the given sources.
</summary>
<param name="client">
The connected file_relay client.
</param>
<param name="sources">
A NULL-terminated list of sources to retrieve.
Valid sources are:
- AppleSupport
- Network
- VPN
- WiFi
- UserDatabases
- CrashReporter
- tmp
- SystemConfiguration
</param>
<param name="connection">
The connection that has to be used for receiving the
data using idevice_connection_receive(). The connection will be closed
automatically by the device, but use file_relay_client_free() to clean
up properly.
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
FILE_RELAY_E_SUCCESS on succes, FILE_RELAY_E_INVALID_ARG when one or
more parameters are invalid, FILE_RELAY_E_MUX_ERROR if a communication
error occurs, FILE_RELAY_E_PLIST_ERROR when the received result is NULL
or is not a valid plist, FILE_RELAY_E_INVALID_SOURCE if one or more
sources are invalid, FILE_RELAY_E_STAGING_EMPTY if no data is available
for the given sources, or FILE_RELAY_E_UNKNOWN_ERROR otherwise.
</returns>
<remarks>
WARNING: Don't call this function without reading the data afterwards.
A directory mobile_file_relay.XXXX used for creating the archive will
remain in the /tmp directory otherwise.
</remarks>
</member>
<member
name="M:iMobileDevice.FileRelay.FileRelayNativeMethods.file_relay_request_sources_t
imeout(iMobileDevice.FileRelay.FileRelayClientHandle,System.IntPtr@,iMobileDevice.i
Device.iDeviceConnectionHandle@,System.UInt32)">
<summary>
Request data for the given sources. Calls
file_relay_request_sources_timeout() with
a timeout of 60000 milliseconds (60 seconds).
</summary>
<param name="client">
The connected file_relay client.
</param>
<param name="sources">
A NULL-terminated list of sources to retrieve.
Valid sources are:
- AppleSupport
- Network
- VPN
- WiFi
- UserDatabases
- CrashReporter
- tmp
- SystemConfiguration
</param>
<param name="connection">
The connection that has to be used for receiving the
data using idevice_connection_receive(). The connection will be closed
automatically by the device, but use file_relay_client_free() to clean
up properly.
</param>
<returns>
FILE_RELAY_E_SUCCESS on succes, FILE_RELAY_E_INVALID_ARG when one or
more parameters are invalid, FILE_RELAY_E_MUX_ERROR if a communication
error occurs, FILE_RELAY_E_PLIST_ERROR when the received result is NULL
or is not a valid plist, FILE_RELAY_E_INVALID_SOURCE if one or more
sources are invalid, FILE_RELAY_E_STAGING_EMPTY if no data is available
for the given sources, or FILE_RELAY_E_UNKNOWN_ERROR otherwise.
</returns>
<remarks>
WARNING: Don't call this function without reading the data afterwards.
A directory mobile_file_relay.XXXX used for creating the archive will
remain in the /tmp directory otherwise.
</remarks>
</member>
<member name="P:iMobileDevice.FileRelay.IFileRelayApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.FileRelay"/>.
</summary>
</member>
<member
name="M:iMobileDevice.FileRelay.IFileRelayApi.file_relay_client_new(iMobileDevice.i
Device.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobile
Device.FileRelay.FileRelayClientHandle@)">
<summary>
Connects to the file_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
file_relay_client_t upon successful return.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success,
FILE_RELAY_E_INVALID_ARG when one of the parameters is invalid,
or FILE_RELAY_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.IFileRelayApi.file_relay_client_start_service(iMobi
leDevice.iDevice.iDeviceHandle,iMobileDevice.FileRelay.FileRelayClientHandle@,Syste
m.String)">
<summary>
Starts a new file_relay service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
file_relay_client_t upon successful return. Must be freed using
file_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success, or an FILE_RELAY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.IFileRelayApi.file_relay_client_free(System.IntPtr)
">
<summary>
Disconnects a file_relay client from the device and frees up the
file_relay
client data.
</summary>
<param name="client">
The file_relay client to disconnect and free.
</param>
<returns>
FILE_RELAY_E_SUCCESS on success,
FILE_RELAY_E_INVALID_ARG when one of client or client->parent
is invalid, or FILE_RELAY_E_UNKNOWN_ERROR when the was an error
freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.FileRelay.IFileRelayApi.file_relay_request_sources(iMobileDev
ice.FileRelay.FileRelayClientHandle,System.String@,iMobileDevice.iDevice.iDeviceCon
nectionHandle@)">
<summary>
Request data for the given sources.
</summary>
<param name="client">
The connected file_relay client.
</param>
<param name="sources">
A NULL-terminated list of sources to retrieve.
Valid sources are:
- AppleSupport
- Network
- VPN
- WiFi
- UserDatabases
- CrashReporter
- tmp
- SystemConfiguration
</param>
<param name="connection">
The connection that has to be used for receiving the
data using idevice_connection_receive(). The connection will be closed
automatically by the device, but use file_relay_client_free() to clean
up properly.
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
FILE_RELAY_E_SUCCESS on succes, FILE_RELAY_E_INVALID_ARG when one or
more parameters are invalid, FILE_RELAY_E_MUX_ERROR if a communication
error occurs, FILE_RELAY_E_PLIST_ERROR when the received result is NULL
or is not a valid plist, FILE_RELAY_E_INVALID_SOURCE if one or more
sources are invalid, FILE_RELAY_E_STAGING_EMPTY if no data is available
for the given sources, or FILE_RELAY_E_UNKNOWN_ERROR otherwise.
</returns>
<remarks>
WARNING: Don't call this function without reading the data afterwards.
A directory mobile_file_relay.XXXX used for creating the archive will
remain in the /tmp directory otherwise.
</remarks>
</member>
<member
name="M:iMobileDevice.FileRelay.IFileRelayApi.file_relay_request_sources_timeout(iM
obileDevice.FileRelay.FileRelayClientHandle,System.String@,iMobileDevice.iDevice.iD
eviceConnectionHandle@,System.UInt32)">
<summary>
Request data for the given sources. Calls
file_relay_request_sources_timeout() with
a timeout of 60000 milliseconds (60 seconds).
</summary>
<param name="client">
The connected file_relay client.
</param>
<param name="sources">
A NULL-terminated list of sources to retrieve.
Valid sources are:
- AppleSupport
- Network
- VPN
- WiFi
- UserDatabases
- CrashReporter
- tmp
- SystemConfiguration
</param>
<param name="connection">
The connection that has to be used for receiving the
data using idevice_connection_receive(). The connection will be closed
automatically by the device, but use file_relay_client_free() to clean
up properly.
</param>
<returns>
FILE_RELAY_E_SUCCESS on succes, FILE_RELAY_E_INVALID_ARG when one or
more parameters are invalid, FILE_RELAY_E_MUX_ERROR if a communication
error occurs, FILE_RELAY_E_PLIST_ERROR when the received result is NULL
or is not a valid plist, FILE_RELAY_E_INVALID_SOURCE if one or more
sources are invalid, FILE_RELAY_E_STAGING_EMPTY if no data is available
for the given sources, or FILE_RELAY_E_UNKNOWN_ERROR otherwise.
</returns>
<remarks>
WARNING: Don't call this function without reading the data afterwards.
A directory mobile_file_relay.XXXX used for creating the archive will
remain in the /tmp directory otherwise.
</remarks>
</member>
<member name="F:iMobileDevice.HeartBeat.HeartBeatApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.HeartBeat.HeartBeatApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatApi.#ctor(iMobileDevice.ILibiMobileDevice)
">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.HeartBeat"/>.
</param>
</member>
<member name="P:iMobileDevice.HeartBeat.HeartBeatApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatApi.heartbeat_client_new(iMobileDevice.iDe
vice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDe
vice.HeartBeat.HeartBeatClientHandle@)">
<summary>
Connects to the heartbeat service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
heartbeat_client_t upon successful return. Must be freed using
heartbeat_client_free() after use.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, HEARTBEAT_E_INVALID_ARG when
client is NULL, or an HEARTBEAT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatApi.heartbeat_client_start_service(iMobile
Device.iDevice.iDeviceHandle,iMobileDevice.HeartBeat.HeartBeatClientHandle@,System.
String)">
<summary>
Starts a new heartbeat service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
heartbeat_client_t upon successful return. Must be freed using
heartbeat_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, or an HEARTBEAT_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatApi.heartbeat_client_free(System.IntPtr)">
<summary>
Disconnects a heartbeat client from the device and frees up the
heartbeat client data.
</summary>
<param name="client">
The heartbeat client to disconnect and free.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, HEARTBEAT_E_INVALID_ARG when
client is NULL, or an HEARTBEAT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatApi.heartbeat_send(iMobileDevice.HeartBeat
.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The heartbeat client
</param>
<param name="plist">
The plist to send
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatApi.heartbeat_receive(iMobileDevice.HeartB
eat.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The heartbeat client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatApi.heartbeat_receive_with_timeout(iMobile
Device.HeartBeat.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle@,System.UInt
32)">
<summary>
Receives a plist using the given heartbeat client.
</summary>
<param name="client">
The heartbeat client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or *plist is NULL,
HEARTBEAT_E_NOT_ENOUGH_DATA when not enough data
received, HEARTBEAT_E_TIMEOUT when the connection times out,
HEARTBEAT_E_PLIST_ERROR when the received data cannot be
converted to a plist, HEARTBEAT_E_MUX_ERROR when a
communication error occurs, or HEARTBEAT_E_UNKNOWN_ERROR
when an unspecified error occurs.
</returns>
</member>
<member name="T:iMobileDevice.HeartBeat.HeartBeatClientHandle">
<summary>
Represents a wrapper class for HeartBeat handles.
</summary>
</member>
<member name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatClientHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.HeartBeat.HeartBeatClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.HeartBeat.HeartBeatClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.DangerousCreate(System.IntPtr
,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.HeartBeat.HeartBeatClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.DangerousCreate(System.IntPtr
)">
<summary>
Creates a new <see
cref="T:iMobileDevice.HeartBeat.HeartBeatClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.op_Equality(iMobileDevice.Hea
rtBeat.HeartBeatClientHandle,iMobileDevice.HeartBeat.HeartBeatClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.HeartBeat.HeartBeatClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatClientHandle.op_Inequality(iMobileDevice.H
eartBeat.HeartBeatClientHandle,iMobileDevice.HeartBeat.HeartBeatClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.HeartBeat.HeartBeatClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.HeartBeat.HeartBeatError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.HeartBeat.HeartBeatException">
Represents an exception that occurred when interacting with the
HeartBeat API.
</member>
<member name="F:iMobileDevice.HeartBeat.HeartBeatException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.HeartBeat.HeartBeatException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.HeartBeat.HeartBeatException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatException.#ctor(iMobileDevice.HeartBeat.He
artBeatError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatException.#ctor(iMobileDevice.HeartBeat.He
artBeatError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatException"/> class with a specified error
code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatException.#ctor(System.String,System.Excep
tion)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatException.#ctor(System.Runtime.Serializati
on.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HeartBeat.HeartBeatException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.HeartBeat.HeartBeatException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatNativeMethods.heartbeat_client_new(iMobile
Device.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle
,iMobileDevice.HeartBeat.HeartBeatClientHandle@)">
<summary>
Connects to the heartbeat service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
heartbeat_client_t upon successful return. Must be freed using
heartbeat_client_free() after use.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, HEARTBEAT_E_INVALID_ARG when
client is NULL, or an HEARTBEAT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatNativeMethods.heartbeat_client_start_servi
ce(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.HeartBeat.HeartBeatClientHandl
e@,System.String)">
<summary>
Starts a new heartbeat service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
heartbeat_client_t upon successful return. Must be freed using
heartbeat_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, or an HEARTBEAT_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatNativeMethods.heartbeat_client_free(System
.IntPtr)">
<summary>
Disconnects a heartbeat client from the device and frees up the
heartbeat client data.
</summary>
<param name="client">
The heartbeat client to disconnect and free.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, HEARTBEAT_E_INVALID_ARG when
client is NULL, or an HEARTBEAT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatNativeMethods.heartbeat_send(iMobileDevice
.HeartBeat.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The heartbeat client
</param>
<param name="plist">
The plist to send
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatNativeMethods.heartbeat_receive(iMobileDev
ice.HeartBeat.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The heartbeat client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.HeartBeatNativeMethods.heartbeat_receive_with_timeo
ut(iMobileDevice.HeartBeat.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle@,S
ystem.UInt32)">
<summary>
Receives a plist using the given heartbeat client.
</summary>
<param name="client">
The heartbeat client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or *plist is NULL,
HEARTBEAT_E_NOT_ENOUGH_DATA when not enough data
received, HEARTBEAT_E_TIMEOUT when the connection times out,
HEARTBEAT_E_PLIST_ERROR when the received data cannot be
converted to a plist, HEARTBEAT_E_MUX_ERROR when a
communication error occurs, or HEARTBEAT_E_UNKNOWN_ERROR
when an unspecified error occurs.
</returns>
</member>
<member name="P:iMobileDevice.HeartBeat.IHeartBeatApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.HeartBeat"/>.
</summary>
</member>
<member
name="M:iMobileDevice.HeartBeat.IHeartBeatApi.heartbeat_client_new(iMobileDevice.iD
evice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileD
evice.HeartBeat.HeartBeatClientHandle@)">
<summary>
Connects to the heartbeat service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
heartbeat_client_t upon successful return. Must be freed using
heartbeat_client_free() after use.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, HEARTBEAT_E_INVALID_ARG when
client is NULL, or an HEARTBEAT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.IHeartBeatApi.heartbeat_client_start_service(iMobil
eDevice.iDevice.iDeviceHandle,iMobileDevice.HeartBeat.HeartBeatClientHandle@,System
.String)">
<summary>
Starts a new heartbeat service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
heartbeat_client_t upon successful return. Must be freed using
heartbeat_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, or an HEARTBEAT_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.IHeartBeatApi.heartbeat_client_free(System.IntPtr)"
>
<summary>
Disconnects a heartbeat client from the device and frees up the
heartbeat client data.
</summary>
<param name="client">
The heartbeat client to disconnect and free.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success, HEARTBEAT_E_INVALID_ARG when
client is NULL, or an HEARTBEAT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.IHeartBeatApi.heartbeat_send(iMobileDevice.HeartBea
t.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The heartbeat client
</param>
<param name="plist">
The plist to send
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.IHeartBeatApi.heartbeat_receive(iMobileDevice.Heart
Beat.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The heartbeat client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.HeartBeat.IHeartBeatApi.heartbeat_receive_with_timeout(iMobil
eDevice.HeartBeat.HeartBeatClientHandle,iMobileDevice.Plist.PlistHandle@,System.UIn
t32)">
<summary>
Receives a plist using the given heartbeat client.
</summary>
<param name="client">
The heartbeat client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
HEARTBEAT_E_SUCCESS on success,
HEARTBEAT_E_INVALID_ARG when client or *plist is NULL,
HEARTBEAT_E_NOT_ENOUGH_DATA when not enough data
received, HEARTBEAT_E_TIMEOUT when the connection times out,
HEARTBEAT_E_PLIST_ERROR when the received data cannot be
converted to a plist, HEARTBEAT_E_MUX_ERROR when a
communication error occurs, or HEARTBEAT_E_UNKNOWN_ERROR
when an unspecified error occurs.
</returns>
</member>
<member name="F:iMobileDevice.HouseArrest.HouseArrestApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.HouseArrest.HouseArrestApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.#ctor(iMobileDevice.ILibiMobileDev
ice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.HouseArrest"/>.
</param>
</member>
<member name="P:iMobileDevice.HouseArrest.HouseArrestApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.house_arrest_client_new(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iM
obileDevice.HouseArrest.HouseArrestClientHandle@)">
<summary>
Connects to the house_arrest service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
housearrest_client_t upon successful return.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, HOUSE_ARREST_E_INVALID_ARG when
client is NULL, or an HOUSE_ARREST_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.house_arrest_client_start_service(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.HouseArrest.HouseArrestClientHand
le@,System.String)">
<summary>
Starts a new house_arrest service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
house_arrest_client_t upon successful return. Must be freed using
house_arrest_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, or an HOUSE_ARREST_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.house_arrest_client_free(System.In
tPtr)">
<summary>
Disconnects an house_arrest client from the device and frees up the
house_arrest client data.
</summary>
<param name="client">
The house_arrest client to disconnect and free.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, HOUSE_ARREST_E_INVALID_ARG when
client is NULL, or an HOUSE_ARREST_E_* error code otherwise.
</returns>
<remarks>
After using afc_client_new_from_house_arrest_client(), make sure
you call afc_client_free() before calling this function to ensure
a proper cleanup. Do not call this function if you still need to
perform AFC operations since it will close the connection.
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.house_arrest_send_request(iMobileD
evice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a generic request to the connected house_arrest service.
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="dict">
The request to send as a plist of type PLIST_DICT.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if the request was successfully sent,
HOUSE_ARREST_E_INVALID_ARG if client or dict is invalid,
HOUSE_ARREST_E_PLIST_ERROR if dict is not a plist of type PLIST_DICT,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
<remarks>
If this function returns HOUSE_ARREST_E_SUCCESS it does not mean
that the request was successful. To check for success or failure you
need to call house_arrest_get_result().
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.house_arrest_send_command(iMobileD
evice.HouseArrest.HouseArrestClientHandle,System.String,System.String)">
<summary>
Send a command to the connected house_arrest service.
Calls house_arrest_send_request() internally.
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="command">
The command to send. Currently, only VendContainer and
VendDocuments are known.
</param>
<param name="appid">
The application identifier to pass along with the .
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if the command was successfully sent,
HOUSE_ARREST_E_INVALID_ARG if client, command, or appid is invalid,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
<remarks>
If this function returns HOUSE_ARREST_E_SUCCESS it does not mean
that the command was successful. To check for success or failure you
need to call house_arrest_get_result().
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.house_arrest_get_result(iMobileDev
ice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves the result of a previously sent house_arrest_request_*
request.
</summary>
<param name="client">
The house_arrest client to use
</param>
<param name="dict">
Pointer that will be set to a plist containing the result to
the last performed operation. It holds a key 'Status' with the value
'Complete' on success or a key 'Error' with an error description as
value. The caller is responsible for freeing the returned plist.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if a result plist was retrieved,
HOUSE_ARREST_E_INVALID_ARG if client is invalid,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestApi.afc_client_new_from_house_arrest_c
lient(iMobileDevice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Afc.AfcClient
Handle@)">
<summary>
Creates an AFC client using the given house_arrest client's connection
allowing file access to a specific application directory requested by
functions like house_arrest_request_vendor_documents().
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="afc_client">
Pointer that will be set to a newly allocated afc_client_t
upon successful return.
</param>
<returns>
AFC_E_SUCCESS if the afc client was successfully created,
AFC_E_INVALID_ARG if client is invalid or was already used to create
an afc client, or an AFC_E_* error code returned by
afc_client_new_with_service_client().
</returns>
<remarks>
After calling this function the house_arrest client will go in an
AFC mode that will only allow calling house_arrest_client_free().
Only call house_arrest_client_free() if all AFC operations have
completed since it will close the connection.
</remarks>
</member>
<member name="T:iMobileDevice.HouseArrest.HouseArrestClientHandle">
<summary>
Represents a wrapper class for HouseArrest handles.
</summary>
</member>
<member name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.HouseArrest.HouseArrestClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.HouseArrest.HouseArrestClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.DangerousCreate(System.In
tPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.HouseArrest.HouseArrestClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.DangerousCreate(System.In
tPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.HouseArrest.HouseArrestClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.op_Equality(iMobileDevice
.HouseArrest.HouseArrestClientHandle,iMobileDevice.HouseArrest.HouseArrestClientHan
dle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.HouseArrest.HouseArrestClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestClientHandle.op_Inequality(iMobileDevi
ce.HouseArrest.HouseArrestClientHandle,iMobileDevice.HouseArrest.HouseArrestClientH
andle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.HouseArrest.HouseArrestClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.HouseArrest.HouseArrestError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.HouseArrest.HouseArrestException">
Represents an exception that occurred when interacting with the
HouseArrest API.
</member>
<member name="F:iMobileDevice.HouseArrest.HouseArrestException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.HouseArrest.HouseArrestException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.HouseArrest.HouseArrestException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestException.#ctor(iMobileDevice.HouseArr
est.HouseArrestError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestException"/> class with a specified
error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestException.#ctor(iMobileDevice.HouseArr
est.HouseArrestError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestException"/> class with a specified
error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestException"/> class with a specified
error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestException.#ctor(System.String,System.E
xception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestException"/> class with a specified
error message and a reference to the inner exception that is the cause of this
exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestException.#ctor(System.Runtime.Seriali
zation.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.HouseArrest.HouseArrestException"/> class with serialized
data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.HouseArrest.HouseArrestException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestNativeMethods.house_arrest_client_new(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescripto
rHandle,iMobileDevice.HouseArrest.HouseArrestClientHandle@)">
<summary>
Connects to the house_arrest service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
housearrest_client_t upon successful return.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, HOUSE_ARREST_E_INVALID_ARG when
client is NULL, or an HOUSE_ARREST_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestNativeMethods.house_arrest_client_star
t_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.HouseArrest.HouseArrest
ClientHandle@,System.String)">
<summary>
Starts a new house_arrest service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
house_arrest_client_t upon successful return. Must be freed using
house_arrest_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, or an HOUSE_ARREST_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestNativeMethods.house_arrest_client_free
(System.IntPtr)">
<summary>
Disconnects an house_arrest client from the device and frees up the
house_arrest client data.
</summary>
<param name="client">
The house_arrest client to disconnect and free.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, HOUSE_ARREST_E_INVALID_ARG when
client is NULL, or an HOUSE_ARREST_E_* error code otherwise.
</returns>
<remarks>
After using afc_client_new_from_house_arrest_client(), make sure
you call afc_client_free() before calling this function to ensure
a proper cleanup. Do not call this function if you still need to
perform AFC operations since it will close the connection.
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestNativeMethods.house_arrest_send_reques
t(iMobileDevice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Plist.PlistHandle
)">
<summary>
Sends a generic request to the connected house_arrest service.
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="dict">
The request to send as a plist of type PLIST_DICT.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if the request was successfully sent,
HOUSE_ARREST_E_INVALID_ARG if client or dict is invalid,
HOUSE_ARREST_E_PLIST_ERROR if dict is not a plist of type PLIST_DICT,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
<remarks>
If this function returns HOUSE_ARREST_E_SUCCESS it does not mean
that the request was successful. To check for success or failure you
need to call house_arrest_get_result().
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestNativeMethods.house_arrest_send_comman
d(iMobileDevice.HouseArrest.HouseArrestClientHandle,System.String,System.String)">
<summary>
Send a command to the connected house_arrest service.
Calls house_arrest_send_request() internally.
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="command">
The command to send. Currently, only VendContainer and
VendDocuments are known.
</param>
<param name="appid">
The application identifier to pass along with the .
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if the command was successfully sent,
HOUSE_ARREST_E_INVALID_ARG if client, command, or appid is invalid,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
<remarks>
If this function returns HOUSE_ARREST_E_SUCCESS it does not mean
that the command was successful. To check for success or failure you
need to call house_arrest_get_result().
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestNativeMethods.house_arrest_get_result(
iMobileDevice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Plist.PlistHandle@)
">
<summary>
Retrieves the result of a previously sent house_arrest_request_*
request.
</summary>
<param name="client">
The house_arrest client to use
</param>
<param name="dict">
Pointer that will be set to a plist containing the result to
the last performed operation. It holds a key 'Status' with the value
'Complete' on success or a key 'Error' with an error description as
value. The caller is responsible for freeing the returned plist.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if a result plist was retrieved,
HOUSE_ARREST_E_INVALID_ARG if client is invalid,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.HouseArrestNativeMethods.afc_client_new_from_hous
e_arrest_client(iMobileDevice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Afc
.AfcClientHandle@)">
<summary>
Creates an AFC client using the given house_arrest client's connection
allowing file access to a specific application directory requested by
functions like house_arrest_request_vendor_documents().
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="afc_client">
Pointer that will be set to a newly allocated afc_client_t
upon successful return.
</param>
<returns>
AFC_E_SUCCESS if the afc client was successfully created,
AFC_E_INVALID_ARG if client is invalid or was already used to create
an afc client, or an AFC_E_* error code returned by
afc_client_new_with_service_client().
</returns>
<remarks>
After calling this function the house_arrest client will go in an
AFC mode that will only allow calling house_arrest_client_free().
Only call house_arrest_client_free() if all AFC operations have
completed since it will close the connection.
</remarks>
</member>
<member name="P:iMobileDevice.HouseArrest.IHouseArrestApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.HouseArrest"/>.
</summary>
</member>
<member
name="M:iMobileDevice.HouseArrest.IHouseArrestApi.house_arrest_client_new(iMobileDe
vice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,i
MobileDevice.HouseArrest.HouseArrestClientHandle@)">
<summary>
Connects to the house_arrest service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
housearrest_client_t upon successful return.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, HOUSE_ARREST_E_INVALID_ARG when
client is NULL, or an HOUSE_ARREST_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.IHouseArrestApi.house_arrest_client_start_service
(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.HouseArrest.HouseArrestClientHan
dle@,System.String)">
<summary>
Starts a new house_arrest service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
house_arrest_client_t upon successful return. Must be freed using
house_arrest_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, or an HOUSE_ARREST_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.IHouseArrestApi.house_arrest_client_free(System.I
ntPtr)">
<summary>
Disconnects an house_arrest client from the device and frees up the
house_arrest client data.
</summary>
<param name="client">
The house_arrest client to disconnect and free.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS on success, HOUSE_ARREST_E_INVALID_ARG when
client is NULL, or an HOUSE_ARREST_E_* error code otherwise.
</returns>
<remarks>
After using afc_client_new_from_house_arrest_client(), make sure
you call afc_client_free() before calling this function to ensure
a proper cleanup. Do not call this function if you still need to
perform AFC operations since it will close the connection.
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.IHouseArrestApi.house_arrest_send_request(iMobile
Device.HouseArrest.HouseArrestClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a generic request to the connected house_arrest service.
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="dict">
The request to send as a plist of type PLIST_DICT.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if the request was successfully sent,
HOUSE_ARREST_E_INVALID_ARG if client or dict is invalid,
HOUSE_ARREST_E_PLIST_ERROR if dict is not a plist of type PLIST_DICT,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
<remarks>
If this function returns HOUSE_ARREST_E_SUCCESS it does not mean
that the request was successful. To check for success or failure you
need to call house_arrest_get_result().
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.IHouseArrestApi.house_arrest_send_command(iMobile
Device.HouseArrest.HouseArrestClientHandle,System.String,System.String)">
<summary>
Send a command to the connected house_arrest service.
Calls house_arrest_send_request() internally.
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="command">
The command to send. Currently, only VendContainer and
VendDocuments are known.
</param>
<param name="appid">
The application identifier to pass along with the .
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if the command was successfully sent,
HOUSE_ARREST_E_INVALID_ARG if client, command, or appid is invalid,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
<remarks>
If this function returns HOUSE_ARREST_E_SUCCESS it does not mean
that the command was successful. To check for success or failure you
need to call house_arrest_get_result().
</remarks>
</member>
<member
name="M:iMobileDevice.HouseArrest.IHouseArrestApi.house_arrest_get_result(iMobileDe
vice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves the result of a previously sent house_arrest_request_*
request.
</summary>
<param name="client">
The house_arrest client to use
</param>
<param name="dict">
Pointer that will be set to a plist containing the result to
the last performed operation. It holds a key 'Status' with the value
'Complete' on success or a key 'Error' with an error description as
value. The caller is responsible for freeing the returned plist.
</param>
<returns>
HOUSE_ARREST_E_SUCCESS if a result plist was retrieved,
HOUSE_ARREST_E_INVALID_ARG if client is invalid,
HOUSE_ARREST_E_INVALID_MODE if the client is not in the correct mode,
or HOUSE_ARREST_E_CONN_FAILED if a connection error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.HouseArrest.IHouseArrestApi.afc_client_new_from_house_arrest_
client(iMobileDevice.HouseArrest.HouseArrestClientHandle,iMobileDevice.Afc.AfcClien
tHandle@)">
<summary>
Creates an AFC client using the given house_arrest client's connection
allowing file access to a specific application directory requested by
functions like house_arrest_request_vendor_documents().
</summary>
<param name="client">
The house_arrest client to use.
</param>
<param name="afc_client">
Pointer that will be set to a newly allocated afc_client_t
upon successful return.
</param>
<returns>
AFC_E_SUCCESS if the afc client was successfully created,
AFC_E_INVALID_ARG if client is invalid or was already used to create
an afc client, or an AFC_E_* error code returned by
afc_client_new_with_service_client().
</returns>
<remarks>
After calling this function the house_arrest client will go in an
AFC mode that will only allow calling house_arrest_client_free().
Only call house_arrest_client_free() if all AFC operations have
completed since it will close the connection.
</remarks>
</member>
<member
name="F:iMobileDevice.iDeviceActivation.iDeviceActivationApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.iDeviceActivation.iDeviceActivationApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationApi.#ctor(iMobileDevice.IL
ibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.iDeviceActivation"/>.
</param>
</member>
<member
name="P:iMobileDevice.iDeviceActivation.iDeviceActivationApi.Parent">
<inheritdoc/>
</member>
<member
name="T:iMobileDevice.iDeviceActivation.iDeviceActivationException">
Represents an exception that occurred when interacting with the
iDeviceActivation API.
</member>
<member
name="F:iMobileDevice.iDeviceActivation.iDeviceActivationException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.iDeviceActivation.iDeviceActivationException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationException.#ctor(iMobileDev
ice.iDeviceActivation.iDeviceActivationError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationException"/> class with a
specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationException.#ctor(iMobileDev
ice.iDeviceActivation.iDeviceActivationError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationException"/> class with a
specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationException.#ctor(System.Str
ing)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationException"/> class with a
specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationException.#ctor(System.Str
ing,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationException"/> class with a
specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationException.#ctor(System.Run
time.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationException"/> class with
serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.iDeviceActivation.iDeviceActivationException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="T:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle">
<summary>
Represents a wrapper class for iDeviceActivation handles.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.#ctor(System
.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.ReleaseHandl
e">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.DangerousCre
ate(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.DangerousCre
ate(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.Equals(Syste
m.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.GetHashCode"
>
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.op_Equality(
iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle,iMobileDevice.iDevic
eActivation.iDeviceActivationRequestHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle"/> are
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle.op_Inequalit
y(iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle,iMobileDevice.iDev
iceActivation.iDeviceActivationRequestHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationRequestHandle"/> are not
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="T:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle">
<summary>
Represents a wrapper class for iDeviceActivation handles.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.#ctor(Syste
m.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.ReleaseHand
le">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.DangerousCr
eate(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.DangerousCr
eate(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.Equals(Syst
em.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.GetHashCode
">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.op_Equality
(iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle,iMobileDevice.iDev
iceActivation.iDeviceActivationResponseHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle"/> are
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle.op_Inequali
ty(iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle,iMobileDevice.iD
eviceActivation.iDeviceActivationResponseHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDeviceActivation.iDeviceActivationResponseHandle"/> are not
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="P:iMobileDevice.iDeviceActivation.IiDeviceActivationApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.iDeviceActivation"/>.
</summary>
</member>
<member name="F:iMobileDevice.iDevice.iDeviceApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.iDevice.iDeviceApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.iDevice"/>.
</param>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_set_debug_callback(iMobileDevice.i
Device.iDeviceDebugCallBack)">
<summary>
Sets the callback to invoke when writing out debug messages. If this
callback is set, messages
will be written to this callback instead of the standard output.
</summary>
<param name="callback">
The callback which will receive the debug messages. Set to NULL to
redirect to stdout.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_set_debug_level(System.Int32)">
<summary>
Set the level of debugging.
</summary>
<param name="level">
Set to 0 for no debug output, 1 to enable basic debug output and 2 to
enable full debug output.
When set to 2, the values of buffers being sent across the wire are
printed out as well, this results in very
verbose output.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_event_subscribe(iMobileDevice.iDev
ice.iDeviceEventCallBack,System.IntPtr)">
<summary>
Register a callback function that will be called when device add/remove
events occur.
</summary>
<param name="callback">
Callback function to call.
</param>
<param name="user_data">
Application-specific data passed as parameter
to the registered callback function.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_event_unsubscribe">
<summary>
Release the event callback function that has been registered with
idevice_event_subscribe().
</summary>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_get_device_list(System.Collections
.ObjectModel.ReadOnlyCollection{System.String}@,System.Int32@)">
<summary>
Get a list of UDIDs of currently available devices (USBMUX devices
only).
</summary>
<param name="devices">
List of UDIDs of devices that are currently available.
This list is terminated by a NULL pointer.
</param>
<param name="count">
Number of devices found.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
<remarks>
This function only returns the UDIDs of USBMUX devices. To also include
network devices in the list, use idevice_get_device_list_extended().
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_device_list_free(System.IntPtr)">
<summary>
Free a list of device UDIDs.
</summary>
<param name="devices">
List of UDIDs to free.
</param>
<returns>
Always returnes IDEVICE_E_SUCCESS.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_get_device_list_extended(System.In
tPtr@,System.Int32@)">
<summary>
Get a list of currently available devices
</summary>
<param name="devices">
List of idevice_info_t records with device information.
This list is terminated by a NULL pointer.
</param>
<param name="count">
Number of devices included in the list.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_device_list_extended_free(System.I
ntPtr)">
<summary>
Free an extended device list retrieved through
idevice_get_device_list_extended().
</summary>
<param name="devices">
Device list to free.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_new(iMobileDevice.iDevice.iDeviceH
andle@,System.String)">
<summary>
Creates an idevice_t structure for the device specified by UDID,
if the device is available (USBMUX devices only).
</summary>
<param name="device">
Upon calling this function, a pointer to a location of type
idevice_t. On successful return, this location will be populated.
</param>
<param name="udid">
The UDID to match.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
<remarks>
The resulting idevice_t structure has to be freed with
idevice_free() if it is no longer used.
If you need to connect to a device available via network, use
idevice_new_with_options() and include IDEVICE_LOOKUP_NETWORK in
options.
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_new_with_options(iMobileDevice.iDe
vice.iDeviceHandle@,System.String,System.Int32)">
<summary>
Creates an idevice_t structure for the device specified by UDID,
if the device is available, with the given lookup options.
</summary>
<param name="device">
Upon calling this function, a pointer to a location of type
idevice_t. On successful return, this location will be populated.
</param>
<param name="udid">
The UDID to match.
</param>
<param name="options">
Specifies what connection types should be considered
when looking up devices. Accepts bitwise or'ed values of
idevice_options.
If 0 (no option) is specified it will default to IDEVICE_LOOKUP_USBMUX.
To lookup both USB and network-connected devices, pass
IDEVICE_LOOKUP_USBMUX | IDEVICE_LOOKUP_NETWORK. If a device is
available
both via USBMUX *and* network, it will select the USB connection.
This behavior can be changed by adding IDEVICE_LOOKUP_PREFER_NETWORK
to the options in which case it will select the network connection.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
<remarks>
The resulting idevice_t structure has to be freed with
idevice_free() if it is no longer used.
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_free(System.IntPtr)">
<summary>
Cleans up an idevice structure, then frees the structure itself.
</summary>
<param name="device">
idevice_t to free.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connect(iMobileDevice.iDevice.iDev
iceHandle,System.UInt16,iMobileDevice.iDevice.iDeviceConnectionHandle@)">
<summary>
Set up a connection to the given device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="port">
The destination port to connect to.
</param>
<param name="connection">
Pointer to an idevice_connection_t that will be filled
with the necessary data of the connection.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_disconnect(System.IntPtr)">
<summary>
Disconnect from the device and clean up the connection structure.
</summary>
<param name="connection">
The connection to close.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connection_send(iMobileDevice.iDev
ice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Send data to a device via the given connection.
</summary>
<param name="connection">
The connection to send data over.
</param>
<param name="data">
Buffer with data to send.
</param>
<param name="len">
Size of the buffer to send.
</param>
<param name="sent_bytes">
Pointer to an uint32_t that will be filled
with the number of bytes actually sent.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connection_receive_timeout(iMobile
Device.iDevice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@,S
ystem.UInt32)">
<summary>
Receive data from a device via the given connection.
This function will return after the given timeout even if no data has
been
received.
</summary>
<param name="connection">
The connection to receive data from.
</param>
<param name="data">
Buffer that will be filled with the received data.
This buffer has to be large enough to hold len bytes.
</param>
<param name="len">
Buffer size or number of bytes to receive.
</param>
<param name="recv_bytes">
Number of bytes actually received.
</param>
<param name="timeout">
Timeout in milliseconds after which this function should
return even if no data has been received.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connection_receive(iMobileDevice.i
Device.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receive data from a device via the given connection.
This function is like idevice_connection_receive_timeout, but with a
predefined reasonable timeout.
</summary>
<param name="connection">
The connection to receive data from.
</param>
<param name="data">
Buffer that will be filled with the received data.
This buffer has to be large enough to hold len bytes.
</param>
<param name="len">
Buffer size or number of bytes to receive.
</param>
<param name="recv_bytes">
Number of bytes actually received.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connection_enable_ssl(iMobileDevic
e.iDevice.iDeviceConnectionHandle)">
<summary>
Enables SSL for the given connection.
</summary>
<param name="connection">
The connection to enable SSL for.
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL or connection->ssl_data is non-NULL, or IDEVICE_E_SSL_ERROR
when
SSL initialization, setup, or handshake fails.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connection_disable_ssl(iMobileDevi
ce.iDevice.iDeviceConnectionHandle)">
<summary>
Disable SSL for the given connection.
</summary>
<param name="connection">
The connection to disable SSL for.
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL. This function also returns IDEVICE_E_SUCCESS when SSL is not
enabled and does no further error checking on cleanup.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connection_disable_bypass_ssl(iMob
ileDevice.iDevice.iDeviceConnectionHandle,System.Char)">
<summary>
Disable bypass SSL for the given connection without sending out
terminate messages.
</summary>
<param name="connection">
The connection to disable SSL for.
</param>
<param name="sslBypass">
if true ssl connection will not be terminated but just cleaned up,
allowing
plain text data going on underlying connection
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL. This function also returns IDEVICE_E_SUCCESS when SSL is not
enabled and does no further error checking on cleanup.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_connection_get_fd(iMobileDevice.iD
evice.iDeviceConnectionHandle,System.Int32@)">
<summary>
Get the underlying file descriptor for a connection
</summary>
<param name="connection">
The connection to get fd of
</param>
<param name="fd">
Pointer to an int where the fd is stored
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_get_handle(iMobileDevice.iDevice.i
DeviceHandle,System.UInt32@)">
<summary>
Gets the handle or (usbmux device id) of the device.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_get_udid(iMobileDevice.iDevice.iDe
viceHandle,System.String@)">
<summary>
Gets the unique id for the device.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_set_socket_type(System.Int32)">
<summary>
Sets the socket type (Unix socket or TCP socket) libimobiledevice
should use when connecting
to usbmuxd.
</summary>
<param name="value">
IDEVICE_SOCKET_TYPE_UNIX or IDEVICE_SOCKET_TYPE_TCP
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_get_socket_type(System.Int32@)">
<summary>
Gets the socket type (Unix socket or TCP socket) libimobiledevice
should use when connecting
to usbmuxd.
</summary>
<param name="value">
A pointer to an integer which will reveive the current socket type
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_set_tcp_endpoint(System.String,Sys
tem.UInt16)">
<summary>
Sets the TCP endpoint to which libimobiledevice will connect if the
socket type is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
The hostname or IP address to which to connect
</param>
<param name="port">
The port to which to connect.
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceApi.idevice_get_tcp_endpoint(System.String@,Sy
stem.UInt16@)">
<summary>
Gets the TCP endpoint to which libimobiledevice will connect if the
socket type is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
A pointer which will be set to the hostname or IP address to which to
connect.
The caller must free this string.
</param>
<param name="port">
The port to which to connect
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceConnectionHandle">
<summary>
Represents a wrapper class for iDevice handles.
</summary>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceConnectionHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceConnectionHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceConnectionHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceConnectionHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.DangerousCreate(System.IntPtr
,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.iDevice.iDeviceConnectionHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.DangerousCreate(System.IntPtr
)">
<summary>
Creates a new <see
cref="T:iMobileDevice.iDevice.iDeviceConnectionHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.op_Equality(iMobileDevice.iDe
vice.iDeviceConnectionHandle,iMobileDevice.iDevice.iDeviceConnectionHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDevice.iDeviceConnectionHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceConnectionHandle.op_Inequality(iMobileDevice.i
Device.iDeviceConnectionHandle,iMobileDevice.iDevice.iDeviceConnectionHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDevice.iDeviceConnectionHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceConnectionType">
<summary>
Type of connection a device is available on
</summary>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceEventType">
<summary>
The event type for device add or removal
</summary>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceException">
Represents an exception that occurred when interacting with the iDevice
API.
</member>
<member name="F:iMobileDevice.iDevice.iDeviceException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.iDevice.iDeviceException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceException.#ctor(iMobileDevice.iDevice.iDeviceE
rror)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceException.#ctor(iMobileDevice.iDevice.iDeviceE
rror,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceException"/> class with a specified error code
and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceException.#ctor(System.String,System.Exception
)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceException.#ctor(System.Runtime.Serialization.S
erializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceHandle">
<summary>
Represents a wrapper class for iDevice handles.
</summary>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceHandle"/> class.
</summary>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceHandle"/> class, specifying whether the handle
is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceHandle.DangerousCreate(System.IntPtr,System.Bo
olean)">
<summary>
Creates a new <see cref="T:iMobileDevice.iDevice.iDeviceHandle"/> from
a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.iDevice.iDeviceHandle"/> from
a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceHandle.ToString">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceHandle.op_Equality(iMobileDevice.iDevice.iDevi
ceHandle,iMobileDevice.iDevice.iDeviceHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDevice.iDeviceHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceHandle.op_Inequality(iMobileDevice.iDevice.iDe
viceHandle,iMobileDevice.iDevice.iDeviceHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDevice.iDeviceHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceInfoHandle">
<summary>
Represents a wrapper class for iDevice handles.
</summary>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceInfoHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceInfoHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceInfoHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.iDevice.iDeviceInfoHandle"/> class, specifying whether the
handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceInfoHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.iDevice.iDeviceInfoHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceInfoHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceInfoHandle.DangerousCreate(System.IntPtr,Syste
m.Boolean)">
<summary>
Creates a new <see cref="T:iMobileDevice.iDevice.iDeviceInfoHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceInfoHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.iDevice.iDeviceInfoHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceInfoHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceInfoHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.iDevice.iDeviceInfoHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceInfoHandle.op_Equality(iMobileDevice.iDevice.i
DeviceInfoHandle,iMobileDevice.iDevice.iDeviceInfoHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDevice.iDeviceInfoHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceInfoHandle.op_Inequality(iMobileDevice.iDevice
.iDeviceInfoHandle,iMobileDevice.iDevice.iDeviceInfoHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.iDevice.iDeviceInfoHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_set_debug_callback(iMobi
leDevice.iDevice.iDeviceDebugCallBack)">
<summary>
Sets the callback to invoke when writing out debug messages. If this
callback is set, messages
will be written to this callback instead of the standard output.
</summary>
<param name="callback">
The callback which will receive the debug messages. Set to NULL to
redirect to stdout.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_set_debug_level(System.I
nt32)">
<summary>
Set the level of debugging.
</summary>
<param name="level">
Set to 0 for no debug output, 1 to enable basic debug output and 2 to
enable full debug output.
When set to 2, the values of buffers being sent across the wire are
printed out as well, this results in very
verbose output.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_event_subscribe(iMobileD
evice.iDevice.iDeviceEventCallBack,System.IntPtr)">
<summary>
Register a callback function that will be called when device add/remove
events occur.
</summary>
<param name="callback">
Callback function to call.
</param>
<param name="user_data">
Application-specific data passed as parameter
to the registered callback function.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_event_unsubscribe">
<summary>
Release the event callback function that has been registered with
idevice_event_subscribe().
</summary>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_get_device_list(System.I
ntPtr@,System.Int32@)">
<summary>
Get a list of UDIDs of currently available devices (USBMUX devices
only).
</summary>
<param name="devices">
List of UDIDs of devices that are currently available.
This list is terminated by a NULL pointer.
</param>
<param name="count">
Number of devices found.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
<remarks>
This function only returns the UDIDs of USBMUX devices. To also include
network devices in the list, use idevice_get_device_list_extended().
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_device_list_free(System.
IntPtr)">
<summary>
Free a list of device UDIDs.
</summary>
<param name="devices">
List of UDIDs to free.
</param>
<returns>
Always returnes IDEVICE_E_SUCCESS.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_get_device_list_extended
(System.IntPtr@,System.Int32@)">
<summary>
Get a list of currently available devices
</summary>
<param name="devices">
List of idevice_info_t records with device information.
This list is terminated by a NULL pointer.
</param>
<param name="count">
Number of devices included in the list.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_device_list_extended_fre
e(System.IntPtr)">
<summary>
Free an extended device list retrieved through
idevice_get_device_list_extended().
</summary>
<param name="devices">
Device list to free.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_new(iMobileDevice.iDevic
e.iDeviceHandle@,System.String)">
<summary>
Creates an idevice_t structure for the device specified by UDID,
if the device is available (USBMUX devices only).
</summary>
<param name="device">
Upon calling this function, a pointer to a location of type
idevice_t. On successful return, this location will be populated.
</param>
<param name="udid">
The UDID to match.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
<remarks>
The resulting idevice_t structure has to be freed with
idevice_free() if it is no longer used.
If you need to connect to a device available via network, use
idevice_new_with_options() and include IDEVICE_LOOKUP_NETWORK in
options.
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_new_with_options(iMobile
Device.iDevice.iDeviceHandle@,System.String,System.Int32)">
<summary>
Creates an idevice_t structure for the device specified by UDID,
if the device is available, with the given lookup options.
</summary>
<param name="device">
Upon calling this function, a pointer to a location of type
idevice_t. On successful return, this location will be populated.
</param>
<param name="udid">
The UDID to match.
</param>
<param name="options">
Specifies what connection types should be considered
when looking up devices. Accepts bitwise or'ed values of
idevice_options.
If 0 (no option) is specified it will default to IDEVICE_LOOKUP_USBMUX.
To lookup both USB and network-connected devices, pass
IDEVICE_LOOKUP_USBMUX | IDEVICE_LOOKUP_NETWORK. If a device is
available
both via USBMUX *and* network, it will select the USB connection.
This behavior can be changed by adding IDEVICE_LOOKUP_PREFER_NETWORK
to the options in which case it will select the network connection.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
<remarks>
The resulting idevice_t structure has to be freed with
idevice_free() if it is no longer used.
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_free(System.IntPtr)">
<summary>
Cleans up an idevice structure, then frees the structure itself.
</summary>
<param name="device">
idevice_t to free.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connect(iMobileDevice.iD
evice.iDeviceHandle,System.UInt16,iMobileDevice.iDevice.iDeviceConnectionHandle@)">
<summary>
Set up a connection to the given device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="port">
The destination port to connect to.
</param>
<param name="connection">
Pointer to an idevice_connection_t that will be filled
with the necessary data of the connection.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_disconnect(System.IntPtr
)">
<summary>
Disconnect from the device and clean up the connection structure.
</summary>
<param name="connection">
The connection to close.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connection_send(iMobileD
evice.iDevice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Send data to a device via the given connection.
</summary>
<param name="connection">
The connection to send data over.
</param>
<param name="data">
Buffer with data to send.
</param>
<param name="len">
Size of the buffer to send.
</param>
<param name="sent_bytes">
Pointer to an uint32_t that will be filled
with the number of bytes actually sent.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connection_receive_timeo
ut(iMobileDevice.iDevice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System
.UInt32@,System.UInt32)">
<summary>
Receive data from a device via the given connection.
This function will return after the given timeout even if no data has
been
received.
</summary>
<param name="connection">
The connection to receive data from.
</param>
<param name="data">
Buffer that will be filled with the received data.
This buffer has to be large enough to hold len bytes.
</param>
<param name="len">
Buffer size or number of bytes to receive.
</param>
<param name="recv_bytes">
Number of bytes actually received.
</param>
<param name="timeout">
Timeout in milliseconds after which this function should
return even if no data has been received.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connection_receive(iMobi
leDevice.iDevice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@
)">
<summary>
Receive data from a device via the given connection.
This function is like idevice_connection_receive_timeout, but with a
predefined reasonable timeout.
</summary>
<param name="connection">
The connection to receive data from.
</param>
<param name="data">
Buffer that will be filled with the received data.
This buffer has to be large enough to hold len bytes.
</param>
<param name="len">
Buffer size or number of bytes to receive.
</param>
<param name="recv_bytes">
Number of bytes actually received.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connection_enable_ssl(iM
obileDevice.iDevice.iDeviceConnectionHandle)">
<summary>
Enables SSL for the given connection.
</summary>
<param name="connection">
The connection to enable SSL for.
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL or connection->ssl_data is non-NULL, or IDEVICE_E_SSL_ERROR
when
SSL initialization, setup, or handshake fails.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connection_disable_ssl(i
MobileDevice.iDevice.iDeviceConnectionHandle)">
<summary>
Disable SSL for the given connection.
</summary>
<param name="connection">
The connection to disable SSL for.
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL. This function also returns IDEVICE_E_SUCCESS when SSL is not
enabled and does no further error checking on cleanup.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connection_disable_bypas
s_ssl(iMobileDevice.iDevice.iDeviceConnectionHandle,System.Char)">
<summary>
Disable bypass SSL for the given connection without sending out
terminate messages.
</summary>
<param name="connection">
The connection to disable SSL for.
</param>
<param name="sslBypass">
if true ssl connection will not be terminated but just cleaned up,
allowing
plain text data going on underlying connection
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL. This function also returns IDEVICE_E_SUCCESS when SSL is not
enabled and does no further error checking on cleanup.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_connection_get_fd(iMobil
eDevice.iDevice.iDeviceConnectionHandle,System.Int32@)">
<summary>
Get the underlying file descriptor for a connection
</summary>
<param name="connection">
The connection to get fd of
</param>
<param name="fd">
Pointer to an int where the fd is stored
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_get_handle(iMobileDevice
.iDevice.iDeviceHandle,System.UInt32@)">
<summary>
Gets the handle or (usbmux device id) of the device.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_get_udid(iMobileDevice.i
Device.iDeviceHandle,System.IntPtr@)">
<summary>
Gets the unique id for the device.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_set_socket_type(System.I
nt32)">
<summary>
Sets the socket type (Unix socket or TCP socket) libimobiledevice
should use when connecting
to usbmuxd.
</summary>
<param name="value">
IDEVICE_SOCKET_TYPE_UNIX or IDEVICE_SOCKET_TYPE_TCP
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_get_socket_type(System.I
nt32@)">
<summary>
Gets the socket type (Unix socket or TCP socket) libimobiledevice
should use when connecting
to usbmuxd.
</summary>
<param name="value">
A pointer to an integer which will reveive the current socket type
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_set_tcp_endpoint(System.
String,System.UInt16)">
<summary>
Sets the TCP endpoint to which libimobiledevice will connect if the
socket type is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
The hostname or IP address to which to connect
</param>
<param name="port">
The port to which to connect.
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.iDeviceNativeMethods.idevice_get_tcp_endpoint(System.
IntPtr@,System.UInt16@)">
<summary>
Gets the TCP endpoint to which libimobiledevice will connect if the
socket type is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
A pointer which will be set to the hostname or IP address to which to
connect.
The caller must free this string.
</param>
<param name="port">
The port to which to connect
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceOptions">
<summary>
Options for idevice_new_with_options()
</summary>
</member>
<member name="F:iMobileDevice.iDevice.iDeviceOptions.LookupPreferNetwork">
<summary>
prefer network connection if device is available via USBMUX *and*
network
</summary>
</member>
<member name="T:iMobileDevice.iDevice.iDeviceSocketType">
<summary>
specifies how libusbmuxd should connect to usbmuxd
</summary>
</member>
<member name="P:iMobileDevice.iDevice.IiDeviceApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.iDevice"/>.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_set_debug_callback(iMobileDevice.
iDevice.iDeviceDebugCallBack)">
<summary>
Sets the callback to invoke when writing out debug messages. If this
callback is set, messages
will be written to this callback instead of the standard output.
</summary>
<param name="callback">
The callback which will receive the debug messages. Set to NULL to
redirect to stdout.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_set_debug_level(System.Int32)">
<summary>
Set the level of debugging.
</summary>
<param name="level">
Set to 0 for no debug output, 1 to enable basic debug output and 2 to
enable full debug output.
When set to 2, the values of buffers being sent across the wire are
printed out as well, this results in very
verbose output.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_event_subscribe(iMobileDevice.iDe
vice.iDeviceEventCallBack,System.IntPtr)">
<summary>
Register a callback function that will be called when device add/remove
events occur.
</summary>
<param name="callback">
Callback function to call.
</param>
<param name="user_data">
Application-specific data passed as parameter
to the registered callback function.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_event_unsubscribe">
<summary>
Release the event callback function that has been registered with
idevice_event_subscribe().
</summary>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_get_device_list(System.Collection
s.ObjectModel.ReadOnlyCollection{System.String}@,System.Int32@)">
<summary>
Get a list of UDIDs of currently available devices (USBMUX devices
only).
</summary>
<param name="devices">
List of UDIDs of devices that are currently available.
This list is terminated by a NULL pointer.
</param>
<param name="count">
Number of devices found.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
<remarks>
This function only returns the UDIDs of USBMUX devices. To also include
network devices in the list, use idevice_get_device_list_extended().
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_device_list_free(System.IntPtr)">
<summary>
Free a list of device UDIDs.
</summary>
<param name="devices">
List of UDIDs to free.
</param>
<returns>
Always returnes IDEVICE_E_SUCCESS.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_get_device_list_extended(System.I
ntPtr@,System.Int32@)">
<summary>
Get a list of currently available devices
</summary>
<param name="devices">
List of idevice_info_t records with device information.
This list is terminated by a NULL pointer.
</param>
<param name="count">
Number of devices included in the list.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_device_list_extended_free(System.
IntPtr)">
<summary>
Free an extended device list retrieved through
idevice_get_device_list_extended().
</summary>
<param name="devices">
Device list to free.
</param>
<returns>
IDEVICE_E_SUCCESS on success or an error value when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_new(iMobileDevice.iDevice.iDevice
Handle@,System.String)">
<summary>
Creates an idevice_t structure for the device specified by UDID,
if the device is available (USBMUX devices only).
</summary>
<param name="device">
Upon calling this function, a pointer to a location of type
idevice_t. On successful return, this location will be populated.
</param>
<param name="udid">
The UDID to match.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
<remarks>
The resulting idevice_t structure has to be freed with
idevice_free() if it is no longer used.
If you need to connect to a device available via network, use
idevice_new_with_options() and include IDEVICE_LOOKUP_NETWORK in
options.
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_new_with_options(iMobileDevice.iD
evice.iDeviceHandle@,System.String,System.Int32)">
<summary>
Creates an idevice_t structure for the device specified by UDID,
if the device is available, with the given lookup options.
</summary>
<param name="device">
Upon calling this function, a pointer to a location of type
idevice_t. On successful return, this location will be populated.
</param>
<param name="udid">
The UDID to match.
</param>
<param name="options">
Specifies what connection types should be considered
when looking up devices. Accepts bitwise or'ed values of
idevice_options.
If 0 (no option) is specified it will default to IDEVICE_LOOKUP_USBMUX.
To lookup both USB and network-connected devices, pass
IDEVICE_LOOKUP_USBMUX | IDEVICE_LOOKUP_NETWORK. If a device is
available
both via USBMUX *and* network, it will select the USB connection.
This behavior can be changed by adding IDEVICE_LOOKUP_PREFER_NETWORK
to the options in which case it will select the network connection.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
<remarks>
The resulting idevice_t structure has to be freed with
idevice_free() if it is no longer used.
</remarks>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_free(System.IntPtr)">
<summary>
Cleans up an idevice structure, then frees the structure itself.
</summary>
<param name="device">
idevice_t to free.
</param>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connect(iMobileDevice.iDevice.iDe
viceHandle,System.UInt16,iMobileDevice.iDevice.iDeviceConnectionHandle@)">
<summary>
Set up a connection to the given device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="port">
The destination port to connect to.
</param>
<param name="connection">
Pointer to an idevice_connection_t that will be filled
with the necessary data of the connection.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_disconnect(System.IntPtr)">
<summary>
Disconnect from the device and clean up the connection structure.
</summary>
<param name="connection">
The connection to close.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connection_send(iMobileDevice.iDe
vice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Send data to a device via the given connection.
</summary>
<param name="connection">
The connection to send data over.
</param>
<param name="data">
Buffer with data to send.
</param>
<param name="len">
Size of the buffer to send.
</param>
<param name="sent_bytes">
Pointer to an uint32_t that will be filled
with the number of bytes actually sent.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connection_receive_timeout(iMobil
eDevice.iDevice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@,
System.UInt32)">
<summary>
Receive data from a device via the given connection.
This function will return after the given timeout even if no data has
been
received.
</summary>
<param name="connection">
The connection to receive data from.
</param>
<param name="data">
Buffer that will be filled with the received data.
This buffer has to be large enough to hold len bytes.
</param>
<param name="len">
Buffer size or number of bytes to receive.
</param>
<param name="recv_bytes">
Number of bytes actually received.
</param>
<param name="timeout">
Timeout in milliseconds after which this function should
return even if no data has been received.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connection_receive(iMobileDevice.
iDevice.iDeviceConnectionHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receive data from a device via the given connection.
This function is like idevice_connection_receive_timeout, but with a
predefined reasonable timeout.
</summary>
<param name="connection">
The connection to receive data from.
</param>
<param name="data">
Buffer that will be filled with the received data.
This buffer has to be large enough to hold len bytes.
</param>
<param name="len">
Buffer size or number of bytes to receive.
</param>
<param name="recv_bytes">
Number of bytes actually received.
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connection_enable_ssl(iMobileDevi
ce.iDevice.iDeviceConnectionHandle)">
<summary>
Enables SSL for the given connection.
</summary>
<param name="connection">
The connection to enable SSL for.
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL or connection->ssl_data is non-NULL, or IDEVICE_E_SSL_ERROR
when
SSL initialization, setup, or handshake fails.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connection_disable_ssl(iMobileDev
ice.iDevice.iDeviceConnectionHandle)">
<summary>
Disable SSL for the given connection.
</summary>
<param name="connection">
The connection to disable SSL for.
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL. This function also returns IDEVICE_E_SUCCESS when SSL is not
enabled and does no further error checking on cleanup.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connection_disable_bypass_ssl(iMo
bileDevice.iDevice.iDeviceConnectionHandle,System.Char)">
<summary>
Disable bypass SSL for the given connection without sending out
terminate messages.
</summary>
<param name="connection">
The connection to disable SSL for.
</param>
<param name="sslBypass">
if true ssl connection will not be terminated but just cleaned up,
allowing
plain text data going on underlying connection
</param>
<returns>
IDEVICE_E_SUCCESS on success, IDEVICE_E_INVALID_ARG when connection
is NULL. This function also returns IDEVICE_E_SUCCESS when SSL is not
enabled and does no further error checking on cleanup.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_connection_get_fd(iMobileDevice.i
Device.iDeviceConnectionHandle,System.Int32@)">
<summary>
Get the underlying file descriptor for a connection
</summary>
<param name="connection">
The connection to get fd of
</param>
<param name="fd">
Pointer to an int where the fd is stored
</param>
<returns>
IDEVICE_E_SUCCESS if ok, otherwise an error code.
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_get_handle(iMobileDevice.iDevice.
iDeviceHandle,System.UInt32@)">
<summary>
Gets the handle or (usbmux device id) of the device.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_get_udid(iMobileDevice.iDevice.iD
eviceHandle,System.String@)">
<summary>
Gets the unique id for the device.
</summary>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_set_socket_type(System.Int32)">
<summary>
Sets the socket type (Unix socket or TCP socket) libimobiledevice
should use when connecting
to usbmuxd.
</summary>
<param name="value">
IDEVICE_SOCKET_TYPE_UNIX or IDEVICE_SOCKET_TYPE_TCP
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_get_socket_type(System.Int32@)">
<summary>
Gets the socket type (Unix socket or TCP socket) libimobiledevice
should use when connecting
to usbmuxd.
</summary>
<param name="value">
A pointer to an integer which will reveive the current socket type
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_set_tcp_endpoint(System.String,Sy
stem.UInt16)">
<summary>
Sets the TCP endpoint to which libimobiledevice will connect if the
socket type is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
The hostname or IP address to which to connect
</param>
<param name="port">
The port to which to connect.
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.iDevice.IiDeviceApi.idevice_get_tcp_endpoint(System.String@,S
ystem.UInt16@)">
<summary>
Gets the TCP endpoint to which libimobiledevice will connect if the
socket type is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
A pointer which will be set to the hostname or IP address to which to
connect.
The caller must free this string.
</param>
<param name="port">
The port to which to connect
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="P:iMobileDevice.InstallationProxy.IInstallationProxyApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.InstallationProxy"/>.
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_new(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescripto
rHandle,iMobileDevice.InstallationProxy.InstallationProxyClientHandle@)">
<summary>
Connects to the installation_proxy service on the specified device.
</summary>
<param name="device">
The device to connect to
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
instproxy_client_t upon successful return.
</param>
<returns>
INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error value
when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_star
t_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.InstallationProxy.Insta
llationProxyClientHandle@,System.String)">
<summary>
Starts a new installation_proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
instproxy_client_t upon successful return. Must be freed using
instproxy_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_free
(System.IntPtr)">
<summary>
Disconnects an installation_proxy client from the device and frees up
the
installation_proxy client data.
</summary>
<param name="client">
The installation_proxy client to disconnect and free.
</param>
<returns>
INSTPROXY_E_SUCCESS on success
or INSTPROXY_E_INVALID_ARG if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_browse(iMob
ileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevice.Plist.Plist
Handle,iMobileDevice.Plist.PlistHandle@)">
<summary>
List installed applications. This function runs synchronously.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid client options include:
"ApplicationType" -> "System"
"ApplicationType" -> "User"
"ApplicationType" -> "Internal"
"ApplicationType" -> "Any"
</param>
<param name="result">
Pointer that will be set to a plist that will hold an array
of PLIST_DICT holding information about the applications found.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_browse_with
_callback(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevi
ce.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBac
k,System.IntPtr)">
<summary>
List pages of installed applications in a callback.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid client options include:
"ApplicationType" -> "System"
"ApplicationType" -> "User"
"ApplicationType" -> "Internal"
"ApplicationType" -> "Any"
</param>
<param name="status_cb">
Callback function to process each page of application
information. Passing a callback is required.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_lookup(iMob
ileDevice.InstallationProxy.InstallationProxyClientHandle,System.Collections.Object
Model.ReadOnlyCollection{System.String},iMobileDevice.Plist.PlistHandle,iMobileDevi
ce.Plist.PlistHandle@)">
<summary>
Lookup information about specific applications from the device.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="appids">
An array of bundle identifiers that MUST have a terminating
NULL entry or NULL to lookup all.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding requested information about the application or NULL on errors.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_install(iMo
bileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDev
ice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBa
ck,System.IntPtr)">
<summary>
Install an application on the device.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="pkg_path">
Path of the installation package (inside the AFC jail)
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"iTunesMetadata" -> PLIST_DATA
"ApplicationSINF" -> PLIST_DATA
"PackageType" -> "Developer"
If PackageType -> Developer is specified, then pkg_path points to
an .app directory instead of an install package.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_upgrade(iMo
bileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDev
ice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBa
ck,System.IntPtr)">
<summary>
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.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="pkg_path">
Path of the installation package (inside the AFC jail)
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"iTunesMetadata" -> PLIST_DATA
"ApplicationSINF" -> PLIST_DATA
"PackageType" -> "Developer"
If PackageType -> Developer is specified, then pkg_path points to
an .app directory instead of an install package.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_uninstall(i
MobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileD
evice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCall
Back,System.IntPtr)">
<summary>
Uninstall an application from the device.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to uninstall
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_lookup_arch
ives(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevice.Pl
ist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
List archived applications. This function runs synchronously.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding information about the archived applications found.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_archive(iMo
bileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDev
ice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBa
ck,System.IntPtr)">
<summary>
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.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to archive.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"SkipUninstall" -> Boolean
"ArchiveType" -> "ApplicationOnly"
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_restore(iMo
bileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDev
ice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBa
ck,System.IntPtr)">
<summary>
Restore a previously archived application on the device.
This function is the counterpart to instproxy_archive.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to restore.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"ArchiveType" -> "DocumentsOnly"
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_remove_arch
ive(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMo
bileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatu
sCallBack,System.IntPtr)">
<summary>
Removes a previously archived application from the device.
This function removes the ZIP archive from the 'ApplicationArchives'
directory.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the archived app to remove.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so passing NULL is fine.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_check_capab
ilities_match(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.
String@,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Checks a device for certain capabilities.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="capabilities">
An array of char* with capability names that MUST have a
terminating NULL entry.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding information if the capabilities matched or NULL on errors.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_command_get
_name(iMobileDevice.Plist.PlistHandle,System.String@)">
<summary>
Gets the name from a command dictionary.
</summary>
<param name="command">
The dictionary describing the command.
</param>
<param name="name">
Pointer to store the name of the command.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_status_get_
name(iMobileDevice.Plist.PlistHandle,System.String@)">
<summary>
Gets the name of a status.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the name of the status.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_status_get_
error(iMobileDevice.Plist.PlistHandle,System.String@,System.String@,System.UInt64@)
">
<summary>
Gets error name, code and description from a response if available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the name of an error.
</param>
<param name="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.
</param>
<param name="code">
Pointer to store the returned error code if available.
If NULL is passed no error code will be returned.
</param>
<returns>
INSTPROXY_E_SUCCESS if no error is found or an INSTPROXY_E_* error
value matching the error that ẃas found in the status.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_status_get_
current_list(iMobileDevice.Plist.PlistHandle,System.UInt64@,System.UInt64@,System.U
Int64@,iMobileDevice.Plist.PlistHandle@)">
<summary>
Gets total and current item information from a browse response if
available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="total">
Pointer to store the total number of items.
</param>
<param name="current_index">
Pointer to store the current index of all browsed items.
</param>
<param name="current_amount">
Pointer to store the amount of items in the
current list.
</param>
<param name="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.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_status_get_
percent_complete(iMobileDevice.Plist.PlistHandle,System.Int32@)">
<summary>
Gets progress in percentage from a status if available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the progress in percent (0-100) or -1 if not
progress was found in the status.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_opti
ons_new">
<summary>
Creates a new client_options plist.
</summary>
<returns>
A new plist_t of type PLIST_DICT.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_opti
ons_add(iMobileDevice.Plist.PlistHandle)">
<summary>
Adds one or more new key:value pairs to the given client_options.
</summary>
<param name="client_options">
The client options to modify.
</param>
<param name="......">
KEY, VALUE, [KEY, VALUE], NULL
</param>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_opti
ons_set_return_attributes(iMobileDevice.Plist.PlistHandle)">
<summary>
Adds attributes to the given client_options to filter browse results.
</summary>
<param name="client_options">
The client options to modify.
</param>
<param name="......">
VALUE, VALUE, [VALUE], NULL
</param>
<remarks>
The values passed are expected to be strings.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_opti
ons_free(iMobileDevice.Plist.PlistHandle)">
<summary>
Frees client_options plist.
</summary>
<param name="client_options">
The client options plist to free. Does nothing if NULL
is passed.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_get_
path_for_bundle_identifier(iMobileDevice.InstallationProxy.InstallationProxyClientH
andle,System.String,System.String@)">
<summary>
Queries the device for the path of an application.
</summary>
<param name="client">
The connected installation proxy client.
</param>
<param name="appid">
ApplicationIdentifier of app to retrieve the path for.
</param>
<param name="path">
Pointer to store the device path for the application
which is set to NULL if it could not be determined.
</param>
<returns>
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 occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.IInstallationProxyApi.instproxy_client_opti
ons_add(iMobileDevice.Plist.PlistHandle,System.String,System.String,System.Byte)">
<!-- Failed to insert some or all of included XML --><include
file="IInstallationProxyApi.xml"
path="/IInstallationProxyApi/instproxy_client_options_add/*" />
</member>
<member
name="F:iMobileDevice.InstallationProxy.InstallationProxyApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.InstallationProxy.InstallationProxyApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.#ctor(iMobileDevice.IL
ibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.InstallationProxy"/>.
</param>
</member>
<member
name="P:iMobileDevice.InstallationProxy.InstallationProxyApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_new(i
MobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptor
Handle,iMobileDevice.InstallationProxy.InstallationProxyClientHandle@)">
<summary>
Connects to the installation_proxy service on the specified device.
</summary>
<param name="device">
The device to connect to
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
instproxy_client_t upon successful return.
</param>
<returns>
INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error value
when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_start
_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.InstallationProxy.Instal
lationProxyClientHandle@,System.String)">
<summary>
Starts a new installation_proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
instproxy_client_t upon successful return. Must be freed using
instproxy_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_free(
System.IntPtr)">
<summary>
Disconnects an installation_proxy client from the device and frees up
the
installation_proxy client data.
</summary>
<param name="client">
The installation_proxy client to disconnect and free.
</param>
<returns>
INSTPROXY_E_SUCCESS on success
or INSTPROXY_E_INVALID_ARG if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_browse(iMobi
leDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevice.Plist.PlistH
andle,iMobileDevice.Plist.PlistHandle@)">
<summary>
List installed applications. This function runs synchronously.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid client options include:
"ApplicationType" -> "System"
"ApplicationType" -> "User"
"ApplicationType" -> "Internal"
"ApplicationType" -> "Any"
</param>
<param name="result">
Pointer that will be set to a plist that will hold an array
of PLIST_DICT holding information about the applications found.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_browse_with_
callback(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevic
e.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBack
,System.IntPtr)">
<summary>
List pages of installed applications in a callback.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid client options include:
"ApplicationType" -> "System"
"ApplicationType" -> "User"
"ApplicationType" -> "Internal"
"ApplicationType" -> "Any"
</param>
<param name="status_cb">
Callback function to process each page of application
information. Passing a callback is required.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_lookup(iMobi
leDevice.InstallationProxy.InstallationProxyClientHandle,System.Collections.ObjectM
odel.ReadOnlyCollection{System.String},iMobileDevice.Plist.PlistHandle,iMobileDevic
e.Plist.PlistHandle@)">
<summary>
Lookup information about specific applications from the device.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="appids">
An array of bundle identifiers that MUST have a terminating
NULL entry or NULL to lookup all.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding requested information about the application or NULL on errors.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_install(iMob
ileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDevi
ce.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBac
k,System.IntPtr)">
<summary>
Install an application on the device.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="pkg_path">
Path of the installation package (inside the AFC jail)
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"iTunesMetadata" -> PLIST_DATA
"ApplicationSINF" -> PLIST_DATA
"PackageType" -> "Developer"
If PackageType -> Developer is specified, then pkg_path points to
an .app directory instead of an install package.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_upgrade(iMob
ileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDevi
ce.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBac
k,System.IntPtr)">
<summary>
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.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="pkg_path">
Path of the installation package (inside the AFC jail)
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"iTunesMetadata" -> PLIST_DATA
"ApplicationSINF" -> PLIST_DATA
"PackageType" -> "Developer"
If PackageType -> Developer is specified, then pkg_path points to
an .app directory instead of an install package.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_uninstall(iM
obileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDe
vice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallB
ack,System.IntPtr)">
<summary>
Uninstall an application from the device.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to uninstall
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_lookup_archi
ves(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevice.Pli
st.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
List archived applications. This function runs synchronously.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding information about the archived applications found.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_archive(iMob
ileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDevi
ce.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBac
k,System.IntPtr)">
<summary>
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.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to archive.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"SkipUninstall" -> Boolean
"ArchiveType" -> "ApplicationOnly"
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_restore(iMob
ileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMobileDevi
ce.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatusCallBac
k,System.IntPtr)">
<summary>
Restore a previously archived application on the device.
This function is the counterpart to instproxy_archive.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to restore.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"ArchiveType" -> "DocumentsOnly"
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_remove_archi
ve(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,iMob
ileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStatus
CallBack,System.IntPtr)">
<summary>
Removes a previously archived application from the device.
This function removes the ZIP archive from the 'ApplicationArchives'
directory.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the archived app to remove.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so passing NULL is fine.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_check_capabi
lities_match(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.S
tring@,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Checks a device for certain capabilities.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="capabilities">
An array of char* with capability names that MUST have a
terminating NULL entry.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding information if the capabilities matched or NULL on errors.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_command_get_
name(iMobileDevice.Plist.PlistHandle,System.String@)">
<summary>
Gets the name from a command dictionary.
</summary>
<param name="command">
The dictionary describing the command.
</param>
<param name="name">
Pointer to store the name of the command.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_status_get_n
ame(iMobileDevice.Plist.PlistHandle,System.String@)">
<summary>
Gets the name of a status.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the name of the status.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_status_get_e
rror(iMobileDevice.Plist.PlistHandle,System.String@,System.String@,System.UInt64@)"
>
<summary>
Gets error name, code and description from a response if available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the name of an error.
</param>
<param name="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.
</param>
<param name="code">
Pointer to store the returned error code if available.
If NULL is passed no error code will be returned.
</param>
<returns>
INSTPROXY_E_SUCCESS if no error is found or an INSTPROXY_E_* error
value matching the error that ẃas found in the status.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_status_get_c
urrent_list(iMobileDevice.Plist.PlistHandle,System.UInt64@,System.UInt64@,System.UI
nt64@,iMobileDevice.Plist.PlistHandle@)">
<summary>
Gets total and current item information from a browse response if
available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="total">
Pointer to store the total number of items.
</param>
<param name="current_index">
Pointer to store the current index of all browsed items.
</param>
<param name="current_amount">
Pointer to store the amount of items in the
current list.
</param>
<param name="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.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_status_get_p
ercent_complete(iMobileDevice.Plist.PlistHandle,System.Int32@)">
<summary>
Gets progress in percentage from a status if available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the progress in percent (0-100) or -1 if not
progress was found in the status.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_optio
ns_new">
<summary>
Creates a new client_options plist.
</summary>
<returns>
A new plist_t of type PLIST_DICT.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_optio
ns_add(iMobileDevice.Plist.PlistHandle)">
<summary>
Adds one or more new key:value pairs to the given client_options.
</summary>
<param name="client_options">
The client options to modify.
</param>
<param name="......">
KEY, VALUE, [KEY, VALUE], NULL
</param>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_optio
ns_set_return_attributes(iMobileDevice.Plist.PlistHandle)">
<summary>
Adds attributes to the given client_options to filter browse results.
</summary>
<param name="client_options">
The client options to modify.
</param>
<param name="......">
VALUE, VALUE, [VALUE], NULL
</param>
<remarks>
The values passed are expected to be strings.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_optio
ns_free(iMobileDevice.Plist.PlistHandle)">
<summary>
Frees client_options plist.
</summary>
<param name="client_options">
The client options plist to free. Does nothing if NULL
is passed.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_get_p
ath_for_bundle_identifier(iMobileDevice.InstallationProxy.InstallationProxyClientHa
ndle,System.String,System.String@)">
<summary>
Queries the device for the path of an application.
</summary>
<param name="client">
The connected installation proxy client.
</param>
<param name="appid">
ApplicationIdentifier of app to retrieve the path for.
</param>
<param name="path">
Pointer to store the device path for the application
which is set to NULL if it could not be determined.
</param>
<returns>
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 occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyApi.instproxy_client_optio
ns_add(iMobileDevice.Plist.PlistHandle,System.String,System.String,System.Byte)">
<!-- Failed to insert some or all of included XML --><include
file="IInstallationProxyApi.xml"
path="/IInstallationProxyApi/instproxy_client_options_add/*" />
</member>
<member
name="T:iMobileDevice.InstallationProxy.InstallationProxyClientHandle">
<summary>
Represents a wrapper class for InstallationProxy handles.
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.#ctor(System.
Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.ReleaseHandle
">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.DangerousCrea
te(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.DangerousCrea
te(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.Equals(System
.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.op_Equality(i
MobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevice.Installa
tionProxy.InstallationProxyClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyClientHandle.op_Inequality
(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevice.Instal
lationProxy.InstallationProxyClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyClientHandle"/> are not
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.InstallationProxy.InstallationProxyError">
<summary>
Error Codes
</summary>
</member>
<member
name="T:iMobileDevice.InstallationProxy.InstallationProxyException">
Represents an exception that occurred when interacting with the
InstallationProxy API.
</member>
<member
name="F:iMobileDevice.InstallationProxy.InstallationProxyException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.InstallationProxy.InstallationProxyException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyException.#ctor(iMobileDev
ice.InstallationProxy.InstallationProxyError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyException"/> class with a
specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyException.#ctor(iMobileDev
ice.InstallationProxy.InstallationProxyError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyException"/> class with a
specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyException.#ctor(System.Str
ing)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyException"/> class with a
specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyException.#ctor(System.Str
ing,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyException"/> class with a
specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyException.#ctor(System.Run
time.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.InstallationProxy.InstallationProxyException"/> class with
serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.InstallationProxy.InstallationProxyException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownService
DescriptorHandle,iMobileDevice.InstallationProxy.InstallationProxyClientHandle@)">
<summary>
Connects to the installation_proxy service on the specified device.
</summary>
<param name="device">
The device to connect to
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
instproxy_client_t upon successful return.
</param>
<returns>
INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error value
when an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.InstallationPr
oxy.InstallationProxyClientHandle@,System.String)">
<summary>
Starts a new installation_proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
instproxy_client_t upon successful return. Must be freed using
instproxy_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
INSTPROXY_E_SUCCESS on success, or an INSTPROXY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_free(System.IntPtr)">
<summary>
Disconnects an installation_proxy client from the device and frees up
the
installation_proxy client data.
</summary>
<param name="client">
The installation_proxy client to disconnect and free.
</param>
<returns>
INSTPROXY_E_SUCCESS on success
or INSTPROXY_E_INVALID_ARG if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_br
owse(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobileDevice.Pl
ist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
List installed applications. This function runs synchronously.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid client options include:
"ApplicationType" -> "System"
"ApplicationType" -> "User"
"ApplicationType" -> "Internal"
"ApplicationType" -> "Any"
</param>
<param name="result">
Pointer that will be set to a plist that will hold an array
of PLIST_DICT holding information about the applications found.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_br
owse_with_callback(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iM
obileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyStat
usCallBack,System.IntPtr)">
<summary>
List pages of installed applications in a callback.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid client options include:
"ApplicationType" -> "System"
"ApplicationType" -> "User"
"ApplicationType" -> "Internal"
"ApplicationType" -> "Any"
</param>
<param name="status_cb">
Callback function to process each page of application
information. Passing a callback is required.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_lo
okup(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.IntPtr,iM
obileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Lookup information about specific applications from the device.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="appids">
An array of bundle identifiers that MUST have a terminating
NULL entry or NULL to lookup all.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding requested information about the application or NULL on errors.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_in
stall(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,i
MobileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxySta
tusCallBack,System.IntPtr)">
<summary>
Install an application on the device.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="pkg_path">
Path of the installation package (inside the AFC jail)
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"iTunesMetadata" -> PLIST_DATA
"ApplicationSINF" -> PLIST_DATA
"PackageType" -> "Developer"
If PackageType -> Developer is specified, then pkg_path points to
an .app directory instead of an install package.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_up
grade(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,i
MobileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxySta
tusCallBack,System.IntPtr)">
<summary>
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.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="pkg_path">
Path of the installation package (inside the AFC jail)
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"iTunesMetadata" -> PLIST_DATA
"ApplicationSINF" -> PLIST_DATA
"PackageType" -> "Developer"
If PackageType -> Developer is specified, then pkg_path points to
an .app directory instead of an install package.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_un
install(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String
,iMobileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxyS
tatusCallBack,System.IntPtr)">
<summary>
Uninstall an application from the device.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to uninstall
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_lo
okup_archives(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,iMobile
Device.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
List archived applications. This function runs synchronously.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding information about the archived applications found.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_ar
chive(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,i
MobileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxySta
tusCallBack,System.IntPtr)">
<summary>
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.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to archive.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"SkipUninstall" -> Boolean
"ArchiveType" -> "ApplicationOnly"
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_re
store(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.String,i
MobileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationProxySta
tusCallBack,System.IntPtr)">
<summary>
Restore a previously archived application on the device.
This function is the counterpart to instproxy_archive.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the app to restore.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Valid options include:
"ArchiveType" -> "DocumentsOnly"
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_re
move_archive(iMobileDevice.InstallationProxy.InstallationProxyClientHandle,System.S
tring,iMobileDevice.Plist.PlistHandle,iMobileDevice.InstallationProxy.InstallationP
roxyStatusCallBack,System.IntPtr)">
<summary>
Removes a previously archived application from the device.
This function removes the ZIP archive from the 'ApplicationArchives'
directory.
</summary>
<param name="client">
The connected installation proxy client
</param>
<param name="appid">
ApplicationIdentifier of the archived app to remove.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so passing NULL is fine.
</param>
<param name="status_cb">
Callback function for progress and status information. If
NULL is passed, this function will run synchronously.
</param>
<param name="user_data">
Callback data passed to status_cb.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_ch
eck_capabilities_match(iMobileDevice.InstallationProxy.InstallationProxyClientHandl
e,System.IntPtr@,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)"
>
<summary>
Checks a device for certain capabilities.
</summary>
<param name="client">
The connected installation_proxy client
</param>
<param name="capabilities">
An array of char* with capability names that MUST have a
terminating NULL entry.
</param>
<param name="client_options">
The client options to use, as PLIST_DICT, or NULL.
Currently there are no known client options, so pass NULL here.
</param>
<param name="result">
Pointer that will be set to a plist containing a PLIST_DICT
holding information if the capabilities matched or NULL on errors.
</param>
<returns>
INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if
an error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_co
mmand_get_name(iMobileDevice.Plist.PlistHandle,System.IntPtr@)">
<summary>
Gets the name from a command dictionary.
</summary>
<param name="command">
The dictionary describing the command.
</param>
<param name="name">
Pointer to store the name of the command.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_st
atus_get_name(iMobileDevice.Plist.PlistHandle,System.IntPtr@)">
<summary>
Gets the name of a status.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the name of the status.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_st
atus_get_error(iMobileDevice.Plist.PlistHandle,System.IntPtr@,System.IntPtr@,System
.UInt64@)">
<summary>
Gets error name, code and description from a response if available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the name of an error.
</param>
<param name="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.
</param>
<param name="code">
Pointer to store the returned error code if available.
If NULL is passed no error code will be returned.
</param>
<returns>
INSTPROXY_E_SUCCESS if no error is found or an INSTPROXY_E_* error
value matching the error that ẃas found in the status.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_st
atus_get_current_list(iMobileDevice.Plist.PlistHandle,System.UInt64@,System.UInt64@
,System.UInt64@,iMobileDevice.Plist.PlistHandle@)">
<summary>
Gets total and current item information from a browse response if
available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="total">
Pointer to store the total number of items.
</param>
<param name="current_index">
Pointer to store the current index of all browsed items.
</param>
<param name="current_amount">
Pointer to store the amount of items in the
current list.
</param>
<param name="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.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_st
atus_get_percent_complete(iMobileDevice.Plist.PlistHandle,System.Int32@)">
<summary>
Gets progress in percentage from a status if available.
</summary>
<param name="status">
The dictionary status response to use.
</param>
<param name="name">
Pointer to store the progress in percent (0-100) or -1 if not
progress was found in the status.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_options_new">
<summary>
Creates a new client_options plist.
</summary>
<returns>
A new plist_t of type PLIST_DICT.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_options_add(iMobileDevice.Plist.PlistHandle)">
<summary>
Adds one or more new key:value pairs to the given client_options.
</summary>
<param name="client_options">
The client options to modify.
</param>
<param name="......">
KEY, VALUE, [KEY, VALUE], NULL
</param>
<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.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_options_set_return_attributes(iMobileDevice.Plist.PlistHandle)">
<summary>
Adds attributes to the given client_options to filter browse results.
</summary>
<param name="client_options">
The client options to modify.
</param>
<param name="......">
VALUE, VALUE, [VALUE], NULL
</param>
<remarks>
The values passed are expected to be strings.
</remarks>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_options_free(iMobileDevice.Plist.PlistHandle)">
<summary>
Frees client_options plist.
</summary>
<param name="client_options">
The client options plist to free. Does nothing if NULL
is passed.
</param>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_get_path_for_bundle_identifier(iMobileDevice.InstallationProxy.InstallationPro
xyClientHandle,System.String,System.IntPtr@)">
<summary>
Queries the device for the path of an application.
</summary>
<param name="client">
The connected installation proxy client.
</param>
<param name="appid">
ApplicationIdentifier of app to retrieve the path for.
</param>
<param name="path">
Pointer to store the device path for the application
which is set to NULL if it could not be determined.
</param>
<returns>
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 occurred.
</returns>
</member>
<member
name="M:iMobileDevice.InstallationProxy.InstallationProxyNativeMethods.instproxy_cl
ient_options_add(iMobileDevice.Plist.PlistHandle,System.String,System.String,System
.Byte)">
<!-- Failed to insert some or all of included XML --><include
file="IInstallationProxyApi.xml"
path="/IInstallationProxyApi/instproxy_client_options_add/*" />
</member>
<member name="T:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle">
<summary>
Represents a wrapper class for Lockdown handles.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.#ctor(System.Boolean
)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.DangerousCreate(Syst
em.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.DangerousCreate(Syst
em.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.Equals(System.Object
)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.op_Equality(iMobileD
evice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevice.Lockdown.LockdownServi
ceDescriptorHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle.op_Inequality(iMobil
eDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevice.Lockdown.LockdownSer
viceDescriptorHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Lockdown.LockdownServiceDescriptorHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="P:iMobileDevice.Lockdown.ILockdownApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Lockdown"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_client_new(iMobileDevice.iDev
ice.iDeviceHandle,iMobileDevice.Lockdown.LockdownClientHandle@,System.String)">
<summary>
Creates a new lockdownd client for the device.
</summary>
<param name="device">
The device to create a lockdownd client for
</param>
<param name="client">
The pointer to the location of the new lockdownd_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
<remarks>
This function does not pair with the device or start a session. This
has to be done manually by the caller after the client is created.
The device disconnects automatically if the lockdown connection idles
for more than 10 seconds. Make sure to call lockdownd_client_free() as
soon
as the connection is no longer needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_client_new_with_handshake(iMo
bileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownClientHandle@,Syste
m.String)">
<summary>
Creates a new lockdownd client for the device and starts initial
handshake.
The handshake consists out of query_type, validate_pair, pair and
start_session calls. It uses the internal pairing record management.
</summary>
<param name="device">
The device to create a lockdownd client for
</param>
<param name="client">
The pointer to the location of the new lockdownd_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_INVALID_CONF if configuration data is wrong
</returns>
<remarks>
The device disconnects automatically if the lockdown connection idles
for more than 10 seconds. Make sure to call lockdownd_client_free() as
soon
as the connection is no longer needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_client_free(System.IntPtr)">
<summary>
Closes the lockdownd client session if one is running and frees up the
lockdownd_client struct.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_query_type(iMobileDevice.Lock
down.LockdownClientHandle,System.String@)">
<summary>
Query the type of the service daemon. Depending on whether the device
is
queried in normal mode or restore mode, different types will be
returned.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="type">
The type returned by the service daemon. Pass NULL to ignore.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_get_value(iMobileDevice.Lockd
own.LockdownClientHandle,System.String,System.String,iMobileDevice.Plist.PlistHandl
e@)">
<summary>
Retrieves a preferences plist using an optional domain and/or key name.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="domain">
The domain to query on or NULL for global domain
</param>
<param name="key">
The key name to request or NULL to query for all keys
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_set_value(iMobileDevice.Lockd
own.LockdownClientHandle,System.String,System.String,iMobileDevice.Plist.PlistHandl
e)">
<summary>
Sets a preferences value using a plist and optional by domain and/or
key name.
</summary>
<param name="client">
an initialized lockdownd client.
</param>
<param name="domain">
the domain to query on or NULL for global domain
</param>
<param name="key">
the key name to set the value or NULL to set a value dict plist
</param>
<param name="value">
a plist node of any node type representing the value to set
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
value is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_remove_value(iMobileDevice.Lo
ckdown.LockdownClientHandle,System.String,System.String)">
<summary>
Removes a preference node by domain and/or key name.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="domain">
The domain to query on or NULL for global domain
</param>
<param name="key">
The key name to remove or NULL remove all keys for the current domain
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
<remarks>
: Use with caution as this could remove vital information on the device
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_start_service(iMobileDevice.L
ockdown.LockdownClientHandle,System.String,iMobileDevice.Lockdown.LockdownServiceDe
scriptorHandle@)">
<summary>
Requests to start a service and retrieve it's port on success.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="identifier">
The identifier of the service to start
</param>
<param name="service">
The service descriptor on success or NULL on failure
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG if a parameter
is NULL, LOCKDOWN_E_INVALID_SERVICE if the requested service is not
known
by the device, LOCKDOWN_E_START_SERVICE_FAILED if the service could not
be
started by the device
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_start_service_with_escrow_bag
(iMobileDevice.Lockdown.LockdownClientHandle,System.String,iMobileDevice.Lockdown.L
ockdownServiceDescriptorHandle@)">
<summary>
Requests to start a service and retrieve it's port on success.
Sends the escrow bag from the device's pair record.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="identifier">
The identifier of the service to start
</param>
<param name="service">
The service descriptor on success or NULL on failure
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG if a parameter
is NULL, LOCKDOWN_E_INVALID_SERVICE if the requested service is not
known
by the device, LOCKDOWN_E_START_SERVICE_FAILED if the service could not
because
started by the device, LOCKDOWN_E_INVALID_CONF if the host id or escrow
bag are
missing from the device record.
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_start_session(iMobileDevice.L
ockdown.LockdownClientHandle,System.String,System.String@,System.Int32@)">
<summary>
Opens a session with lockdownd and switches to SSL mode if device wants
it.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="host_id">
The HostID of the computer
</param>
<param name="session_id">
The new session_id of the created session
</param>
<param name="ssl_enabled">
Whether SSL communication is used in the session
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when a client
or host_id is NULL, LOCKDOWN_E_PLIST_ERROR if the response plist had
errors,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the supplied
HostID,
LOCKDOWN_E_SSL_ERROR if enabling SSL communication failed
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_stop_session(iMobileDevice.Lo
ckdown.LockdownClientHandle,System.String)">
<summary>
Closes the lockdownd session by sending the StopSession request.
</summary>
<param name="client">
The lockdown client
</param>
<param name="session_id">
The id of a running session
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_send(iMobileDevice.Lockdown.L
ockdownClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to lockdownd.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="plist">
The plist to send
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
plist is NULL
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_receive(iMobileDevice.Lockdow
n.LockdownClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from lockdownd.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_pair(iMobileDevice.Lockdown.L
ockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Pairs the device using the supplied pair record.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for pairing. If NULL is passed, then
the pair records from the current machine are used. New records will be
generated automatically when pairing is done for the first time.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_pair_with_options(iMobileDevi
ce.Lockdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle,iM
obileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Pairs the device using the supplied pair record and passing the given
options.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for pairing. If NULL is passed, then
the pair records from the current machine are used. New records will be
generated automatically when pairing is done for the first time.
</param>
<param name="options">
The pairing options to pass. Can be NULL for no options.
</param>
<param name="response">
If non-NULL a pointer to lockdownd's response dictionary is returned.
The caller is responsible to free the response dictionary with
plist_free().
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_validate_pair(iMobileDevice.L
ockdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Validates if the device is paired with the given HostID. If successful
the
specified host will become trusted host of the device indicated by the
lockdownd preference named TrustedHostAttached. Otherwise the host must
be
paired using lockdownd_pair() first.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to validate pairing with. If NULL is
passed, then the pair record is read from the internal pairing record
management.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_unpair(iMobileDevice.Lockdown
.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Unpairs the device with the given HostID and removes the pairing
records
from the device and host if the internal pairing record management is
used.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for unpair. If NULL is passed, then
the pair records from the current machine are used.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_activate(iMobileDevice.Lockdo
wn.LockdownClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Activates the device. Only works within an open session.
The ActivationRecord plist dictionary must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The lockdown client
</param>
<param name="activation_record">
The activation record plist dictionary
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
activation_record is NULL, LOCKDOWN_E_NO_RUNNING_SESSION if no session
is
open, LOCKDOWN_E_PLIST_ERROR if the received plist is broken,
LOCKDOWN_E_ACTIVATION_FAILED if the activation failed,
LOCKDOWN_E_INVALID_ACTIVATION_RECORD if the device reports that the
activation_record is invalid
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_deactivate(iMobileDevice.Lock
down.LockdownClientHandle)">
<summary>
Deactivates the device, returning it to the locked “Activate with
iTunes”
screen.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_NO_RUNNING_SESSION if no session is open,
LOCKDOWN_E_PLIST_ERROR if the received plist is broken
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_enter_recovery(iMobileDevice.
Lockdown.LockdownClientHandle)">
<summary>
Tells the device to immediately enter recovery mode.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_goodbye(iMobileDevice.Lockdow
n.LockdownClientHandle)">
<summary>
Sends the Goodbye request to lockdownd signaling the end of
communication.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client
is NULL, LOCKDOWN_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_client_set_label(iMobileDevic
e.Lockdown.LockdownClientHandle,System.String)">
<summary>
Sets the label to send for requests to lockdownd.
</summary>
<param name="client">
The lockdown client
</param>
<param name="label">
The label to set or NULL to disable sending a label
</param>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_get_device_udid(iMobileDevice
.Lockdown.LockdownClientHandle,System.String@)">
<summary>
Returns the unique id of the device from lockdownd.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="udid">
Holds the unique id of the device. The caller is responsible
for freeing the memory.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_get_device_name(iMobileDevice
.Lockdown.LockdownClientHandle,System.String@)">
<summary>
Retrieves the name of the device from lockdownd set by the user.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="device_name">
Holds the name of the device. The caller is
responsible for freeing the memory.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_get_sync_data_classes(iMobile
Device.Lockdown.LockdownClientHandle,System.Collections.ObjectModel.ReadOnlyCollect
ion{System.String}@,System.Int32@)">
<summary>
Calculates and returns the data classes the device supports from
lockdownd.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="classes">
A pointer to store an array of class names. The caller is responsible
for freeing the memory which can be done using
mobilesync_data_classes_free().
</param>
<param name="count">
The number of items in the classes array.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success,
LOCKDOWN_E_INVALID_ARG when client is NULL,
LOCKDOWN_E_NO_RUNNING_SESSION if no session is open,
LOCKDOWN_E_PLIST_ERROR if the received plist is broken
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_data_classes_free(System.IntP
tr)">
<summary>
Frees memory of an allocated array of data classes as returned by
lockdownd_get_sync_data_classes()
</summary>
<param name="classes">
An array of class names to free.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_service_descriptor_free(Syste
m.IntPtr)">
<summary>
Frees memory of a service descriptor as returned by
lockdownd_start_service()
</summary>
<param name="service">
A service descriptor instance to free.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.ILockdownApi.lockdownd_strerror(iMobileDevice.Lockdo
wn.LockdownError)">
<summary>
Gets a readable error string for a given lockdown error code.
</summary>
<param name="err">
A lockdownd error code
</param>
</member>
<member name="F:iMobileDevice.Lockdown.LockdownApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Lockdown.LockdownApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Lockdown"/>.
</param>
</member>
<member name="P:iMobileDevice.Lockdown.LockdownApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_client_new(iMobileDevice.iDevi
ce.iDeviceHandle,iMobileDevice.Lockdown.LockdownClientHandle@,System.String)">
<summary>
Creates a new lockdownd client for the device.
</summary>
<param name="device">
The device to create a lockdownd client for
</param>
<param name="client">
The pointer to the location of the new lockdownd_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
<remarks>
This function does not pair with the device or start a session. This
has to be done manually by the caller after the client is created.
The device disconnects automatically if the lockdown connection idles
for more than 10 seconds. Make sure to call lockdownd_client_free() as
soon
as the connection is no longer needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_client_new_with_handshake(iMob
ileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownClientHandle@,System
.String)">
<summary>
Creates a new lockdownd client for the device and starts initial
handshake.
The handshake consists out of query_type, validate_pair, pair and
start_session calls. It uses the internal pairing record management.
</summary>
<param name="device">
The device to create a lockdownd client for
</param>
<param name="client">
The pointer to the location of the new lockdownd_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_INVALID_CONF if configuration data is wrong
</returns>
<remarks>
The device disconnects automatically if the lockdown connection idles
for more than 10 seconds. Make sure to call lockdownd_client_free() as
soon
as the connection is no longer needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_client_free(System.IntPtr)">
<summary>
Closes the lockdownd client session if one is running and frees up the
lockdownd_client struct.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_query_type(iMobileDevice.Lockd
own.LockdownClientHandle,System.String@)">
<summary>
Query the type of the service daemon. Depending on whether the device
is
queried in normal mode or restore mode, different types will be
returned.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="type">
The type returned by the service daemon. Pass NULL to ignore.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_get_value(iMobileDevice.Lockdo
wn.LockdownClientHandle,System.String,System.String,iMobileDevice.Plist.PlistHandle
@)">
<summary>
Retrieves a preferences plist using an optional domain and/or key name.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="domain">
The domain to query on or NULL for global domain
</param>
<param name="key">
The key name to request or NULL to query for all keys
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_set_value(iMobileDevice.Lockdo
wn.LockdownClientHandle,System.String,System.String,iMobileDevice.Plist.PlistHandle
)">
<summary>
Sets a preferences value using a plist and optional by domain and/or
key name.
</summary>
<param name="client">
an initialized lockdownd client.
</param>
<param name="domain">
the domain to query on or NULL for global domain
</param>
<param name="key">
the key name to set the value or NULL to set a value dict plist
</param>
<param name="value">
a plist node of any node type representing the value to set
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
value is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_remove_value(iMobileDevice.Loc
kdown.LockdownClientHandle,System.String,System.String)">
<summary>
Removes a preference node by domain and/or key name.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="domain">
The domain to query on or NULL for global domain
</param>
<param name="key">
The key name to remove or NULL remove all keys for the current domain
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
<remarks>
: Use with caution as this could remove vital information on the device
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_start_service(iMobileDevice.Lo
ckdown.LockdownClientHandle,System.String,iMobileDevice.Lockdown.LockdownServiceDes
criptorHandle@)">
<summary>
Requests to start a service and retrieve it's port on success.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="identifier">
The identifier of the service to start
</param>
<param name="service">
The service descriptor on success or NULL on failure
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG if a parameter
is NULL, LOCKDOWN_E_INVALID_SERVICE if the requested service is not
known
by the device, LOCKDOWN_E_START_SERVICE_FAILED if the service could not
be
started by the device
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_start_service_with_escrow_bag(
iMobileDevice.Lockdown.LockdownClientHandle,System.String,iMobileDevice.Lockdown.Lo
ckdownServiceDescriptorHandle@)">
<summary>
Requests to start a service and retrieve it's port on success.
Sends the escrow bag from the device's pair record.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="identifier">
The identifier of the service to start
</param>
<param name="service">
The service descriptor on success or NULL on failure
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG if a parameter
is NULL, LOCKDOWN_E_INVALID_SERVICE if the requested service is not
known
by the device, LOCKDOWN_E_START_SERVICE_FAILED if the service could not
because
started by the device, LOCKDOWN_E_INVALID_CONF if the host id or escrow
bag are
missing from the device record.
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_start_session(iMobileDevice.Lo
ckdown.LockdownClientHandle,System.String,System.String@,System.Int32@)">
<summary>
Opens a session with lockdownd and switches to SSL mode if device wants
it.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="host_id">
The HostID of the computer
</param>
<param name="session_id">
The new session_id of the created session
</param>
<param name="ssl_enabled">
Whether SSL communication is used in the session
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when a client
or host_id is NULL, LOCKDOWN_E_PLIST_ERROR if the response plist had
errors,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the supplied
HostID,
LOCKDOWN_E_SSL_ERROR if enabling SSL communication failed
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_stop_session(iMobileDevice.Loc
kdown.LockdownClientHandle,System.String)">
<summary>
Closes the lockdownd session by sending the StopSession request.
</summary>
<param name="client">
The lockdown client
</param>
<param name="session_id">
The id of a running session
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_send(iMobileDevice.Lockdown.Lo
ckdownClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to lockdownd.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="plist">
The plist to send
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
plist is NULL
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_receive(iMobileDevice.Lockdown
.LockdownClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from lockdownd.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_pair(iMobileDevice.Lockdown.Lo
ckdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Pairs the device using the supplied pair record.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for pairing. If NULL is passed, then
the pair records from the current machine are used. New records will be
generated automatically when pairing is done for the first time.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_pair_with_options(iMobileDevic
e.Lockdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle,iMo
bileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Pairs the device using the supplied pair record and passing the given
options.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for pairing. If NULL is passed, then
the pair records from the current machine are used. New records will be
generated automatically when pairing is done for the first time.
</param>
<param name="options">
The pairing options to pass. Can be NULL for no options.
</param>
<param name="response">
If non-NULL a pointer to lockdownd's response dictionary is returned.
The caller is responsible to free the response dictionary with
plist_free().
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_validate_pair(iMobileDevice.Lo
ckdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Validates if the device is paired with the given HostID. If successful
the
specified host will become trusted host of the device indicated by the
lockdownd preference named TrustedHostAttached. Otherwise the host must
be
paired using lockdownd_pair() first.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to validate pairing with. If NULL is
passed, then the pair record is read from the internal pairing record
management.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_unpair(iMobileDevice.Lockdown.
LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Unpairs the device with the given HostID and removes the pairing
records
from the device and host if the internal pairing record management is
used.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for unpair. If NULL is passed, then
the pair records from the current machine are used.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_activate(iMobileDevice.Lockdow
n.LockdownClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Activates the device. Only works within an open session.
The ActivationRecord plist dictionary must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The lockdown client
</param>
<param name="activation_record">
The activation record plist dictionary
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
activation_record is NULL, LOCKDOWN_E_NO_RUNNING_SESSION if no session
is
open, LOCKDOWN_E_PLIST_ERROR if the received plist is broken,
LOCKDOWN_E_ACTIVATION_FAILED if the activation failed,
LOCKDOWN_E_INVALID_ACTIVATION_RECORD if the device reports that the
activation_record is invalid
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_deactivate(iMobileDevice.Lockd
own.LockdownClientHandle)">
<summary>
Deactivates the device, returning it to the locked “Activate with
iTunes”
screen.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_NO_RUNNING_SESSION if no session is open,
LOCKDOWN_E_PLIST_ERROR if the received plist is broken
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_enter_recovery(iMobileDevice.L
ockdown.LockdownClientHandle)">
<summary>
Tells the device to immediately enter recovery mode.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_goodbye(iMobileDevice.Lockdown
.LockdownClientHandle)">
<summary>
Sends the Goodbye request to lockdownd signaling the end of
communication.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client
is NULL, LOCKDOWN_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_client_set_label(iMobileDevice
.Lockdown.LockdownClientHandle,System.String)">
<summary>
Sets the label to send for requests to lockdownd.
</summary>
<param name="client">
The lockdown client
</param>
<param name="label">
The label to set or NULL to disable sending a label
</param>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_get_device_udid(iMobileDevice.
Lockdown.LockdownClientHandle,System.String@)">
<summary>
Returns the unique id of the device from lockdownd.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="udid">
Holds the unique id of the device. The caller is responsible
for freeing the memory.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_get_device_name(iMobileDevice.
Lockdown.LockdownClientHandle,System.String@)">
<summary>
Retrieves the name of the device from lockdownd set by the user.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="device_name">
Holds the name of the device. The caller is
responsible for freeing the memory.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_get_sync_data_classes(iMobileD
evice.Lockdown.LockdownClientHandle,System.Collections.ObjectModel.ReadOnlyCollecti
on{System.String}@,System.Int32@)">
<summary>
Calculates and returns the data classes the device supports from
lockdownd.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="classes">
A pointer to store an array of class names. The caller is responsible
for freeing the memory which can be done using
mobilesync_data_classes_free().
</param>
<param name="count">
The number of items in the classes array.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success,
LOCKDOWN_E_INVALID_ARG when client is NULL,
LOCKDOWN_E_NO_RUNNING_SESSION if no session is open,
LOCKDOWN_E_PLIST_ERROR if the received plist is broken
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_data_classes_free(System.IntPt
r)">
<summary>
Frees memory of an allocated array of data classes as returned by
lockdownd_get_sync_data_classes()
</summary>
<param name="classes">
An array of class names to free.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_service_descriptor_free(System
.IntPtr)">
<summary>
Frees memory of a service descriptor as returned by
lockdownd_start_service()
</summary>
<param name="service">
A service descriptor instance to free.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownApi.lockdownd_strerror(iMobileDevice.Lockdow
n.LockdownError)">
<summary>
Gets a readable error string for a given lockdown error code.
</summary>
<param name="err">
A lockdownd error code
</param>
</member>
<member name="T:iMobileDevice.Lockdown.LockdownClientHandle">
<summary>
Represents a wrapper class for Lockdown handles.
</summary>
</member>
<member name="M:iMobileDevice.Lockdown.LockdownClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownClientHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Lockdown.LockdownClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Lockdown.LockdownClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Lockdown.LockdownClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownClientHandle.DangerousCreate(System.IntPtr,S
ystem.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Lockdown.LockdownClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownClientHandle.DangerousCreate(System.IntPtr)"
>
<summary>
Creates a new <see
cref="T:iMobileDevice.Lockdown.LockdownClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Lockdown.LockdownClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Lockdown.LockdownClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownClientHandle.op_Equality(iMobileDevice.Lockd
own.LockdownClientHandle,iMobileDevice.Lockdown.LockdownClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Lockdown.LockdownClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownClientHandle.op_Inequality(iMobileDevice.Loc
kdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Lockdown.LockdownClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Lockdown.LockdownError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Lockdown.LockdownException">
Represents an exception that occurred when interacting with the
Lockdown API.
</member>
<member name="F:iMobileDevice.Lockdown.LockdownException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Lockdown.LockdownException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Lockdown.LockdownException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownException.#ctor(iMobileDevice.Lockdown.Lockd
ownError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownException.#ctor(iMobileDevice.Lockdown.Lockd
ownError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownException"/> class with a specified error
code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownException.#ctor(System.String,System.Excepti
on)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownException.#ctor(System.Runtime.Serialization
.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Lockdown.LockdownException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_client_new(iMobileDe
vice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownClientHandle@,System.Stri
ng)">
<summary>
Creates a new lockdownd client for the device.
</summary>
<param name="device">
The device to create a lockdownd client for
</param>
<param name="client">
The pointer to the location of the new lockdownd_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
<remarks>
This function does not pair with the device or start a session. This
has to be done manually by the caller after the client is created.
The device disconnects automatically if the lockdown connection idles
for more than 10 seconds. Make sure to call lockdownd_client_free() as
soon
as the connection is no longer needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_client_new_with_hand
shake(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownClientHand
le@,System.String)">
<summary>
Creates a new lockdownd client for the device and starts initial
handshake.
The handshake consists out of query_type, validate_pair, pair and
start_session calls. It uses the internal pairing record management.
</summary>
<param name="device">
The device to create a lockdownd client for
</param>
<param name="client">
The pointer to the location of the new lockdownd_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_INVALID_CONF if configuration data is wrong
</returns>
<remarks>
The device disconnects automatically if the lockdown connection idles
for more than 10 seconds. Make sure to call lockdownd_client_free() as
soon
as the connection is no longer needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_client_free(System.I
ntPtr)">
<summary>
Closes the lockdownd client session if one is running and frees up the
lockdownd_client struct.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_query_type(iMobileDe
vice.Lockdown.LockdownClientHandle,System.IntPtr@)">
<summary>
Query the type of the service daemon. Depending on whether the device
is
queried in normal mode or restore mode, different types will be
returned.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="type">
The type returned by the service daemon. Pass NULL to ignore.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_get_value(iMobileDev
ice.Lockdown.LockdownClientHandle,System.String,System.String,iMobileDevice.Plist.P
listHandle@)">
<summary>
Retrieves a preferences plist using an optional domain and/or key name.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="domain">
The domain to query on or NULL for global domain
</param>
<param name="key">
The key name to request or NULL to query for all keys
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_set_value(iMobileDev
ice.Lockdown.LockdownClientHandle,System.String,System.String,iMobileDevice.Plist.P
listHandle)">
<summary>
Sets a preferences value using a plist and optional by domain and/or
key name.
</summary>
<param name="client">
an initialized lockdownd client.
</param>
<param name="domain">
the domain to query on or NULL for global domain
</param>
<param name="key">
the key name to set the value or NULL to set a value dict plist
</param>
<param name="value">
a plist node of any node type representing the value to set
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
value is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_remove_value(iMobile
Device.Lockdown.LockdownClientHandle,System.String,System.String)">
<summary>
Removes a preference node by domain and/or key name.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="domain">
The domain to query on or NULL for global domain
</param>
<param name="key">
The key name to remove or NULL remove all keys for the current domain
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
<remarks>
: Use with caution as this could remove vital information on the device
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_start_service(iMobil
eDevice.Lockdown.LockdownClientHandle,System.String,iMobileDevice.Lockdown.Lockdown
ServiceDescriptorHandle@)">
<summary>
Requests to start a service and retrieve it's port on success.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="identifier">
The identifier of the service to start
</param>
<param name="service">
The service descriptor on success or NULL on failure
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG if a parameter
is NULL, LOCKDOWN_E_INVALID_SERVICE if the requested service is not
known
by the device, LOCKDOWN_E_START_SERVICE_FAILED if the service could not
be
started by the device
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_start_service_with_e
scrow_bag(iMobileDevice.Lockdown.LockdownClientHandle,System.String,iMobileDevice.L
ockdown.LockdownServiceDescriptorHandle@)">
<summary>
Requests to start a service and retrieve it's port on success.
Sends the escrow bag from the device's pair record.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="identifier">
The identifier of the service to start
</param>
<param name="service">
The service descriptor on success or NULL on failure
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG if a parameter
is NULL, LOCKDOWN_E_INVALID_SERVICE if the requested service is not
known
by the device, LOCKDOWN_E_START_SERVICE_FAILED if the service could not
because
started by the device, LOCKDOWN_E_INVALID_CONF if the host id or escrow
bag are
missing from the device record.
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_start_session(iMobil
eDevice.Lockdown.LockdownClientHandle,System.String,System.IntPtr@,System.Int32@)">
<summary>
Opens a session with lockdownd and switches to SSL mode if device wants
it.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="host_id">
The HostID of the computer
</param>
<param name="session_id">
The new session_id of the created session
</param>
<param name="ssl_enabled">
Whether SSL communication is used in the session
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when a client
or host_id is NULL, LOCKDOWN_E_PLIST_ERROR if the response plist had
errors,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the supplied
HostID,
LOCKDOWN_E_SSL_ERROR if enabling SSL communication failed
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_stop_session(iMobile
Device.Lockdown.LockdownClientHandle,System.String)">
<summary>
Closes the lockdownd session by sending the StopSession request.
</summary>
<param name="client">
The lockdown client
</param>
<param name="session_id">
The id of a running session
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_send(iMobileDevice.L
ockdown.LockdownClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to lockdownd.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="plist">
The plist to send
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
plist is NULL
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_receive(iMobileDevic
e.Lockdown.LockdownClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from lockdownd.
</summary>
<param name="client">
The lockdownd client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_pair(iMobileDevice.L
ockdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Pairs the device using the supplied pair record.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for pairing. If NULL is passed, then
the pair records from the current machine are used. New records will be
generated automatically when pairing is done for the first time.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_pair_with_options(iM
obileDevice.Lockdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecord
Handle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Pairs the device using the supplied pair record and passing the given
options.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for pairing. If NULL is passed, then
the pair records from the current machine are used. New records will be
generated automatically when pairing is done for the first time.
</param>
<param name="options">
The pairing options to pass. Can be NULL for no options.
</param>
<param name="response">
If non-NULL a pointer to lockdownd's response dictionary is returned.
The caller is responsible to free the response dictionary with
plist_free().
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_validate_pair(iMobil
eDevice.Lockdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHand
le)">
<summary>
Validates if the device is paired with the given HostID. If successful
the
specified host will become trusted host of the device indicated by the
lockdownd preference named TrustedHostAttached. Otherwise the host must
be
paired using lockdownd_pair() first.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to validate pairing with. If NULL is
passed, then the pair record is read from the internal pairing record
management.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_unpair(iMobileDevice
.Lockdown.LockdownClientHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Unpairs the device with the given HostID and removes the pairing
records
from the device and host if the internal pairing record management is
used.
</summary>
<param name="client">
The lockdown client
</param>
<param name="pair_record">
The pair record to use for unpair. If NULL is passed, then
the pair records from the current machine are used.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong,
LOCKDOWN_E_PAIRING_FAILED if the pairing failed,
LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected,
LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's
host id
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_activate(iMobileDevi
ce.Lockdown.LockdownClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Activates the device. Only works within an open session.
The ActivationRecord plist dictionary must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The lockdown client
</param>
<param name="activation_record">
The activation record plist dictionary
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client or
activation_record is NULL, LOCKDOWN_E_NO_RUNNING_SESSION if no session
is
open, LOCKDOWN_E_PLIST_ERROR if the received plist is broken,
LOCKDOWN_E_ACTIVATION_FAILED if the activation failed,
LOCKDOWN_E_INVALID_ACTIVATION_RECORD if the device reports that the
activation_record is invalid
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_deactivate(iMobileDe
vice.Lockdown.LockdownClientHandle)">
<summary>
Deactivates the device, returning it to the locked “Activate with
iTunes”
screen.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL,
LOCKDOWN_E_NO_RUNNING_SESSION if no session is open,
LOCKDOWN_E_PLIST_ERROR if the received plist is broken
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_enter_recovery(iMobi
leDevice.Lockdown.LockdownClientHandle)">
<summary>
Tells the device to immediately enter recovery mode.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is
NULL
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_goodbye(iMobileDevic
e.Lockdown.LockdownClientHandle)">
<summary>
Sends the Goodbye request to lockdownd signaling the end of
communication.
</summary>
<param name="client">
The lockdown client
</param>
<returns>
LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client
is NULL, LOCKDOWN_E_PLIST_ERROR if the device did not acknowledge the
request
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_client_set_label(iMo
bileDevice.Lockdown.LockdownClientHandle,System.String)">
<summary>
Sets the label to send for requests to lockdownd.
</summary>
<param name="client">
The lockdown client
</param>
<param name="label">
The label to set or NULL to disable sending a label
</param>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_get_device_udid(iMob
ileDevice.Lockdown.LockdownClientHandle,System.IntPtr@)">
<summary>
Returns the unique id of the device from lockdownd.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="udid">
Holds the unique id of the device. The caller is responsible
for freeing the memory.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_get_device_name(iMob
ileDevice.Lockdown.LockdownClientHandle,System.IntPtr@)">
<summary>
Retrieves the name of the device from lockdownd set by the user.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="device_name">
Holds the name of the device. The caller is
responsible for freeing the memory.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_get_sync_data_classe
s(iMobileDevice.Lockdown.LockdownClientHandle,System.IntPtr@,System.Int32@)">
<summary>
Calculates and returns the data classes the device supports from
lockdownd.
</summary>
<param name="client">
An initialized lockdownd client.
</param>
<param name="classes">
A pointer to store an array of class names. The caller is responsible
for freeing the memory which can be done using
mobilesync_data_classes_free().
</param>
<param name="count">
The number of items in the classes array.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success,
LOCKDOWN_E_INVALID_ARG when client is NULL,
LOCKDOWN_E_NO_RUNNING_SESSION if no session is open,
LOCKDOWN_E_PLIST_ERROR if the received plist is broken
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_data_classes_free(Sy
stem.IntPtr)">
<summary>
Frees memory of an allocated array of data classes as returned by
lockdownd_get_sync_data_classes()
</summary>
<param name="classes">
An array of class names to free.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_service_descriptor_f
ree(System.IntPtr)">
<summary>
Frees memory of a service descriptor as returned by
lockdownd_start_service()
</summary>
<param name="service">
A service descriptor instance to free.
</param>
<returns>
LOCKDOWN_E_SUCCESS on success
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownNativeMethods.lockdownd_strerror(iMobileDevi
ce.Lockdown.LockdownError)">
<summary>
Gets a readable error string for a given lockdown error code.
</summary>
<param name="err">
A lockdownd error code
</param>
</member>
<member name="T:iMobileDevice.Lockdown.LockdownPairRecordHandle">
<summary>
Represents a wrapper class for Lockdown handles.
</summary>
</member>
<member name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownPairRecordHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Lockdown.LockdownPairRecordHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Lockdown.LockdownPairRecordHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Lockdown.LockdownPairRecordHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.DangerousCreate(System.IntP
tr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Lockdown.LockdownPairRecordHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.DangerousCreate(System.IntP
tr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Lockdown.LockdownPairRecordHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.op_Equality(iMobileDevice.L
ockdown.LockdownPairRecordHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Lockdown.LockdownPairRecordHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Lockdown.LockdownPairRecordHandle.op_Inequality(iMobileDevice
.Lockdown.LockdownPairRecordHandle,iMobileDevice.Lockdown.LockdownPairRecordHandle)
">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Lockdown.LockdownPairRecordHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="P:iMobileDevice.Misagent.IMisagentApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Misagent"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_client_new(iMobileDevice.iDevi
ce.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevi
ce.Misagent.MisagentClientHandle@)">
<summary>
Connects to the misagent service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
misagent_client_t upon successful return.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is NULL, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_client_start_service(iMobileDe
vice.iDevice.iDeviceHandle,iMobileDevice.Misagent.MisagentClientHandle@,System.Stri
ng)">
<summary>
Starts a new misagent service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
misagent_client_t upon successful return. Must be freed using
misagent_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MISAGENT_E_SUCCESS on success, or an MISAGENT_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_client_free(System.IntPtr)">
<summary>
Disconnects an misagent client from the device and frees up the
misagent client data.
</summary>
<param name="client">
The misagent client to disconnect and free.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is NULL, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_install(iMobileDevice.Misagent
.MisagentClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Installs the given provisioning profile. Only works with valid
profiles.
</summary>
<param name="client">
The connected misagent to use for installation
</param>
<param name="profile">
The valid provisioning profile to install. This has to be
passed as a PLIST_DATA, otherwise the function will fail.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_copy(iMobileDevice.Misagent.Mi
sagentClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves all installed provisioning profiles (iOS 9.2.1 or below).
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profiles">
Pointer to a plist_t that will be set to a PLIST_ARRAY
if the function is successful.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
<remarks>
This API call only works with iOS 9.2.1 or below.
For newer iOS versions use misagent_copy_all() instead.
If no provisioning profiles are installed on the device, this function
still returns MISAGENT_E_SUCCESS and profiles will just point to an
empty array.
</remarks>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_copy_all(iMobileDevice.Misagen
t.MisagentClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves all installed provisioning profiles (iOS 9.3 or higher).
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profiles">
Pointer to a plist_t that will be set to a PLIST_ARRAY
if the function is successful.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
<remarks>
This API call only works with iOS 9.3 or higher.
For older iOS versions use misagent_copy() instead.
If no provisioning profiles are installed on the device, this function
still returns MISAGENT_E_SUCCESS and profiles will just point to an
empty array.
</remarks>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_remove(iMobileDevice.Misagent.
MisagentClientHandle,System.String)">
<summary>
Removes a given provisioning profile.
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profileID">
Identifier of the provisioning profile to remove.
This is a UUID that can be obtained from the provisioning profile data.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.IMisagentApi.misagent_get_status_code(iMobileDevice.
Misagent.MisagentClientHandle)">
<summary>
Retrieves the status code from the last operation.
</summary>
<param name="client">
The misagent to use.
</param>
<returns>
-1 if client is invalid, or the status code from the last operation
</returns>
</member>
<member name="F:iMobileDevice.Misagent.MisagentApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Misagent.MisagentApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Misagent"/>.
</param>
</member>
<member name="P:iMobileDevice.Misagent.MisagentApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_client_new(iMobileDevice.iDevic
e.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevic
e.Misagent.MisagentClientHandle@)">
<summary>
Connects to the misagent service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
misagent_client_t upon successful return.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is NULL, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_client_start_service(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Misagent.MisagentClientHandle@,System.Strin
g)">
<summary>
Starts a new misagent service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
misagent_client_t upon successful return. Must be freed using
misagent_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MISAGENT_E_SUCCESS on success, or an MISAGENT_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_client_free(System.IntPtr)">
<summary>
Disconnects an misagent client from the device and frees up the
misagent client data.
</summary>
<param name="client">
The misagent client to disconnect and free.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is NULL, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_install(iMobileDevice.Misagent.
MisagentClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Installs the given provisioning profile. Only works with valid
profiles.
</summary>
<param name="client">
The connected misagent to use for installation
</param>
<param name="profile">
The valid provisioning profile to install. This has to be
passed as a PLIST_DATA, otherwise the function will fail.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_copy(iMobileDevice.Misagent.Mis
agentClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves all installed provisioning profiles (iOS 9.2.1 or below).
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profiles">
Pointer to a plist_t that will be set to a PLIST_ARRAY
if the function is successful.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
<remarks>
This API call only works with iOS 9.2.1 or below.
For newer iOS versions use misagent_copy_all() instead.
If no provisioning profiles are installed on the device, this function
still returns MISAGENT_E_SUCCESS and profiles will just point to an
empty array.
</remarks>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_copy_all(iMobileDevice.Misagent
.MisagentClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves all installed provisioning profiles (iOS 9.3 or higher).
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profiles">
Pointer to a plist_t that will be set to a PLIST_ARRAY
if the function is successful.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
<remarks>
This API call only works with iOS 9.3 or higher.
For older iOS versions use misagent_copy() instead.
If no provisioning profiles are installed on the device, this function
still returns MISAGENT_E_SUCCESS and profiles will just point to an
empty array.
</remarks>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_remove(iMobileDevice.Misagent.M
isagentClientHandle,System.String)">
<summary>
Removes a given provisioning profile.
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profileID">
Identifier of the provisioning profile to remove.
This is a UUID that can be obtained from the provisioning profile data.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentApi.misagent_get_status_code(iMobileDevice.M
isagent.MisagentClientHandle)">
<summary>
Retrieves the status code from the last operation.
</summary>
<param name="client">
The misagent to use.
</param>
<returns>
-1 if client is invalid, or the status code from the last operation
</returns>
</member>
<member name="T:iMobileDevice.Misagent.MisagentClientHandle">
<summary>
Represents a wrapper class for Misagent handles.
</summary>
</member>
<member name="M:iMobileDevice.Misagent.MisagentClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentClientHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Misagent.MisagentClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Misagent.MisagentClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Misagent.MisagentClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentClientHandle.DangerousCreate(System.IntPtr,S
ystem.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Misagent.MisagentClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentClientHandle.DangerousCreate(System.IntPtr)"
>
<summary>
Creates a new <see
cref="T:iMobileDevice.Misagent.MisagentClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Misagent.MisagentClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Misagent.MisagentClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentClientHandle.op_Equality(iMobileDevice.Misag
ent.MisagentClientHandle,iMobileDevice.Misagent.MisagentClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Misagent.MisagentClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentClientHandle.op_Inequality(iMobileDevice.Mis
agent.MisagentClientHandle,iMobileDevice.Misagent.MisagentClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Misagent.MisagentClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Misagent.MisagentError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Misagent.MisagentException">
Represents an exception that occurred when interacting with the
Misagent API.
</member>
<member name="F:iMobileDevice.Misagent.MisagentException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Misagent.MisagentException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Misagent.MisagentException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentException.#ctor(iMobileDevice.Misagent.Misag
entError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentException.#ctor(iMobileDevice.Misagent.Misag
entError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentException"/> class with a specified error
code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentException.#ctor(System.String,System.Excepti
on)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentException.#ctor(System.Runtime.Serialization
.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Misagent.MisagentException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Misagent.MisagentException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_client_new(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iM
obileDevice.Misagent.MisagentClientHandle@)">
<summary>
Connects to the misagent service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
misagent_client_t upon successful return.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is NULL, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_client_start_service(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Misagent.MisagentClientHandle@,Sy
stem.String)">
<summary>
Starts a new misagent service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
misagent_client_t upon successful return. Must be freed using
misagent_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MISAGENT_E_SUCCESS on success, or an MISAGENT_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_client_free(System.In
tPtr)">
<summary>
Disconnects an misagent client from the device and frees up the
misagent client data.
</summary>
<param name="client">
The misagent client to disconnect and free.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is NULL, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_install(iMobileDevice
.Misagent.MisagentClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Installs the given provisioning profile. Only works with valid
profiles.
</summary>
<param name="client">
The connected misagent to use for installation
</param>
<param name="profile">
The valid provisioning profile to install. This has to be
passed as a PLIST_DATA, otherwise the function will fail.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_copy(iMobileDevice.Mi
sagent.MisagentClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves all installed provisioning profiles (iOS 9.2.1 or below).
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profiles">
Pointer to a plist_t that will be set to a PLIST_ARRAY
if the function is successful.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
<remarks>
This API call only works with iOS 9.2.1 or below.
For newer iOS versions use misagent_copy_all() instead.
If no provisioning profiles are installed on the device, this function
still returns MISAGENT_E_SUCCESS and profiles will just point to an
empty array.
</remarks>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_copy_all(iMobileDevic
e.Misagent.MisagentClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves all installed provisioning profiles (iOS 9.3 or higher).
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profiles">
Pointer to a plist_t that will be set to a PLIST_ARRAY
if the function is successful.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
<remarks>
This API call only works with iOS 9.3 or higher.
For older iOS versions use misagent_copy() instead.
If no provisioning profiles are installed on the device, this function
still returns MISAGENT_E_SUCCESS and profiles will just point to an
empty array.
</remarks>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_remove(iMobileDevice.
Misagent.MisagentClientHandle,System.String)">
<summary>
Removes a given provisioning profile.
</summary>
<param name="client">
The connected misagent to use.
</param>
<param name="profileID">
Identifier of the provisioning profile to remove.
This is a UUID that can be obtained from the provisioning profile data.
</param>
<returns>
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when
client is invalid, or an MISAGENT_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Misagent.MisagentNativeMethods.misagent_get_status_code(iMobi
leDevice.Misagent.MisagentClientHandle)">
<summary>
Retrieves the status code from the last operation.
</summary>
<param name="client">
The misagent to use.
</param>
<returns>
-1 if client is invalid, or the status code from the last operation
</returns>
</member>
<member
name="P:iMobileDevice.Mobileactivation.IMobileactivationApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Mobileactivation"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_client
_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDesc
riptorHandle,iMobileDevice.Mobileactivation.MobileactivationClientHandle@)">
<summary>
Connects to the mobileactivation service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
mobileactivation_client_t upon successful return.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success,
MOBILEACTIVATION_E_INVALID_ARG when one of the parameters is invalid,
or MOBILEACTIVATION_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_client
_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Mobileactivation.M
obileactivationClientHandle@,System.String)">
<summary>
Starts a new mobileactivation service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobileactivation_client_t upon successful return. Must be freed using
mobileactivation_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_client
_free(System.IntPtr)">
<summary>
Disconnects a mobileactivation client from the device and frees up the
mobileactivation client data.
</summary>
<param name="client">
The mobileactivation client to disconnect and free.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success,
MOBILEACTIVATION_E_INVALID_ARG when one of client or client->parent
is invalid, or MOBILEACTIVATION_E_UNKNOWN_ERROR when the was an
error freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_get_ac
tivation_state(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobileD
evice.Plist.PlistHandle@)">
<summary>
Retrieves the device's activation state.
</summary>
<param name="client">
The mobileactivation client.
</param>
<param name="state">
Pointer to a plist_t variable that will be set to the
activation state reported by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_create
_activation_session_info(iMobileDevice.Mobileactivation.MobileactivationClientHandl
e,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves a session blob required for 'drmHandshake' via
albert.apple.com.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="blob">
Pointer to a plist_t variable that will be set to the
session blob created by the mobielactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_create
_activation_info(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobil
eDevice.Plist.PlistHandle@)">
<summary>
Retrieves the activation info required for device activation.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="info">
Pointer to a plist_t variable that will be set to the
activation info created by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_create
_activation_info_with_session(iMobileDevice.Mobileactivation.MobileactivationClient
Handle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves the activation info required for device activation in
'session'
mode. This function expects a handshake result retrieved from
https://albert.apple.com/deviceservies/drmHandshake with a blob
provided by mobileactivation_create_activation_session_info().
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="handshake_response">
The handshake response returned from drmHandshake
</param>
<param name="info">
Pointer to a plist_t variable that will be set to the
activation info created by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_activa
te(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobileDevice.Plist.
PlistHandle)">
<summary>
Activates the device with the given activation record.
The activation record plist dictionary must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="activation_record">
The activation record plist dictionary
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_activa
te_with_session(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobile
Device.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Activates the device with the given activation record in 'session'
mode.
The activation record plist must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="activation_record">
The activation record in plist format
</param>
<param name="headers">
A plist dictionary with the activation response headers
as returned from Apple's https webservice with the activation record
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.IMobileactivationApi.mobileactivation_deacti
vate(iMobileDevice.Mobileactivation.MobileactivationClientHandle)">
<summary>
Deactivates the device.
</summary>
<param name="client">
The mobileactivation client
</param>
</member>
<member name="F:iMobileDevice.Mobileactivation.MobileactivationApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Mobileactivation.MobileactivationApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.#ctor(iMobileDevice.ILib
iMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Mobileactivation"/>.
</param>
</member>
<member name="P:iMobileDevice.Mobileactivation.MobileactivationApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_client_
new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescr
iptorHandle,iMobileDevice.Mobileactivation.MobileactivationClientHandle@)">
<summary>
Connects to the mobileactivation service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
mobileactivation_client_t upon successful return.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success,
MOBILEACTIVATION_E_INVALID_ARG when one of the parameters is invalid,
or MOBILEACTIVATION_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_client_
start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Mobileactivation.Mo
bileactivationClientHandle@,System.String)">
<summary>
Starts a new mobileactivation service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobileactivation_client_t upon successful return. Must be freed using
mobileactivation_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_client_
free(System.IntPtr)">
<summary>
Disconnects a mobileactivation client from the device and frees up the
mobileactivation client data.
</summary>
<param name="client">
The mobileactivation client to disconnect and free.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success,
MOBILEACTIVATION_E_INVALID_ARG when one of client or client->parent
is invalid, or MOBILEACTIVATION_E_UNKNOWN_ERROR when the was an
error freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_get_act
ivation_state(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobileDe
vice.Plist.PlistHandle@)">
<summary>
Retrieves the device's activation state.
</summary>
<param name="client">
The mobileactivation client.
</param>
<param name="state">
Pointer to a plist_t variable that will be set to the
activation state reported by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_create_
activation_session_info(iMobileDevice.Mobileactivation.MobileactivationClientHandle
,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves a session blob required for 'drmHandshake' via
albert.apple.com.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="blob">
Pointer to a plist_t variable that will be set to the
session blob created by the mobielactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_create_
activation_info(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobile
Device.Plist.PlistHandle@)">
<summary>
Retrieves the activation info required for device activation.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="info">
Pointer to a plist_t variable that will be set to the
activation info created by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_create_
activation_info_with_session(iMobileDevice.Mobileactivation.MobileactivationClientH
andle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves the activation info required for device activation in
'session'
mode. This function expects a handshake result retrieved from
https://albert.apple.com/deviceservies/drmHandshake with a blob
provided by mobileactivation_create_activation_session_info().
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="handshake_response">
The handshake response returned from drmHandshake
</param>
<param name="info">
Pointer to a plist_t variable that will be set to the
activation info created by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_activat
e(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobileDevice.Plist.P
listHandle)">
<summary>
Activates the device with the given activation record.
The activation record plist dictionary must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="activation_record">
The activation record plist dictionary
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_activat
e_with_session(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobileD
evice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Activates the device with the given activation record in 'session'
mode.
The activation record plist must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="activation_record">
The activation record in plist format
</param>
<param name="headers">
A plist dictionary with the activation response headers
as returned from Apple's https webservice with the activation record
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationApi.mobileactivation_deactiv
ate(iMobileDevice.Mobileactivation.MobileactivationClientHandle)">
<summary>
Deactivates the device.
</summary>
<param name="client">
The mobileactivation client
</param>
</member>
<member
name="T:iMobileDevice.Mobileactivation.MobileactivationClientHandle">
<summary>
Represents a wrapper class for Mobileactivation handles.
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.#ctor(System.Bo
olean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.Mobileactivation.MobileactivationClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.Mobileactivation.MobileactivationClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.DangerousCreate
(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.DangerousCreate
(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.Equals(System.O
bject)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.op_Equality(iMo
bileDevice.Mobileactivation.MobileactivationClientHandle,iMobileDevice.Mobileactiva
tion.MobileactivationClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationClientHandle.op_Inequality(i
MobileDevice.Mobileactivation.MobileactivationClientHandle,iMobileDevice.Mobileacti
vation.MobileactivationClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationClientHandle"/> are not
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Mobileactivation.MobileactivationError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Mobileactivation.MobileactivationException">
Represents an exception that occurred when interacting with the
Mobileactivation API.
</member>
<member
name="F:iMobileDevice.Mobileactivation.MobileactivationException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Mobileactivation.MobileactivationException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationException.#ctor(iMobileDevic
e.Mobileactivation.MobileactivationError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationException"/> class with a
specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationException.#ctor(iMobileDevic
e.Mobileactivation.MobileactivationError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationException"/> class with a
specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationException.#ctor(System.Strin
g)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationException"/> class with a
specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationException.#ctor(System.Strin
g,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationException"/> class with a
specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationException.#ctor(System.Runti
me.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Mobileactivation.MobileactivationException"/> class with
serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.Mobileactivation.MobileactivationException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_client_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownSe
rviceDescriptorHandle,iMobileDevice.Mobileactivation.MobileactivationClientHandle@)
">
<summary>
Connects to the mobileactivation service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Reference that will point to a newly allocated
mobileactivation_client_t upon successful return.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success,
MOBILEACTIVATION_E_INVALID_ARG when one of the parameters is invalid,
or MOBILEACTIVATION_E_MUX_ERROR when the connection failed.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_client_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Mobileact
ivation.MobileactivationClientHandle@,System.String)">
<summary>
Starts a new mobileactivation service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobileactivation_client_t upon successful return. Must be freed using
mobileactivation_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_client_free(System.IntPtr)">
<summary>
Disconnects a mobileactivation client from the device and frees up the
mobileactivation client data.
</summary>
<param name="client">
The mobileactivation client to disconnect and free.
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success,
MOBILEACTIVATION_E_INVALID_ARG when one of client or client->parent
is invalid, or MOBILEACTIVATION_E_UNKNOWN_ERROR when the was an
error freeing the parent property_list_service client.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_get_activation_state(iMobileDevice.Mobileactivation.MobileactivationClientHandle
,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves the device's activation state.
</summary>
<param name="client">
The mobileactivation client.
</param>
<param name="state">
Pointer to a plist_t variable that will be set to the
activation state reported by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_create_activation_session_info(iMobileDevice.Mobileactivation.MobileactivationCl
ientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves a session blob required for 'drmHandshake' via
albert.apple.com.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="blob">
Pointer to a plist_t variable that will be set to the
session blob created by the mobielactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_create_activation_info(iMobileDevice.Mobileactivation.MobileactivationClientHand
le,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves the activation info required for device activation.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="info">
Pointer to a plist_t variable that will be set to the
activation info created by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_create_activation_info_with_session(iMobileDevice.Mobileactivation.Mobileactivat
ionClientHandle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves the activation info required for device activation in
'session'
mode. This function expects a handshake result retrieved from
https://albert.apple.com/deviceservies/drmHandshake with a blob
provided by mobileactivation_create_activation_session_info().
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="handshake_response">
The handshake response returned from drmHandshake
</param>
<param name="info">
Pointer to a plist_t variable that will be set to the
activation info created by the mobileactivation service. The
consumer is responsible for freeing the returned object using
plist_free().
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_activate(iMobileDevice.Mobileactivation.MobileactivationClientHandle,iMobileDevi
ce.Plist.PlistHandle)">
<summary>
Activates the device with the given activation record.
The activation record plist dictionary must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="activation_record">
The activation record plist dictionary
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_activate_with_session(iMobileDevice.Mobileactivation.MobileactivationClientHandl
e,iMobileDevice.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Activates the device with the given activation record in 'session'
mode.
The activation record plist must be obtained using the
activation protocol requesting from Apple's https webservice.
</summary>
<param name="client">
The mobileactivation client
</param>
<param name="activation_record">
The activation record in plist format
</param>
<param name="headers">
A plist dictionary with the activation response headers
as returned from Apple's https webservice with the activation record
</param>
<returns>
MOBILEACTIVATION_E_SUCCESS on success, or an MOBILEACTIVATION_E_*
error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Mobileactivation.MobileactivationNativeMethods.mobileactivati
on_deactivate(iMobileDevice.Mobileactivation.MobileactivationClientHandle)">
<summary>
Deactivates the device.
</summary>
<param name="client">
The mobileactivation client
</param>
</member>
<member name="P:iMobileDevice.MobileBackup2.IMobileBackup2Api.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.MobileBackup2"/>.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_client_new(iMob
ileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHan
dle,iMobileDevice.MobileBackup2.MobileBackup2ClientHandle@)">
<summary>
Connects to the mobilebackup2 service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobilebackup2_client_t upon successful return.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID ARG
if one or more parameter is invalid, or MOBILEBACKUP2_E_BAD_VERSION
if the mobilebackup2 version on the device is newer.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_client_start_se
rvice(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileBackup2.MobileBackup2
ClientHandle@,System.String)">
<summary>
Starts a new mobilebackup2 service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilebackup2_client_t upon successful return. Must be freed using
mobilebackup2_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or an MOBILEBACKUP2_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_client_free(Sys
tem.IntPtr)">
<summary>
Disconnects a mobilebackup2 client from the device and frees up the
mobilebackup2 client data.
</summary>
<param name="client">
The mobilebackup2 client to disconnect and free.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or MOBILEBACKUP2_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_send_message(iM
obileDevice.MobileBackup2.MobileBackup2ClientHandle,System.String,iMobileDevice.Pli
st.PlistHandle)">
<summary>
Sends a backup message plist.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="message">
The message to send. This will be inserted into the request
plist as value for MessageName. If this parameter is NULL,
the plist passed in the options parameter will be sent directly.
</param>
<param name="options">
Additional options as PLIST_DICT to add to the request.
The MessageName key with the value passed in the message parameter
will be inserted into this plist before sending it. This parameter
can be NULL if message is not NULL.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_receive_message
(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,iMobileDevice.Plist.PlistHan
dle@,System.String@)">
<summary>
Receives a DL* message plist from the device.
This function is a wrapper around device_link_service_receive_message.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="msg_plist">
Pointer to a plist that will be set to the contents of the
message plist upon successful return.
</param>
<param name="dlmessage">
A pointer that will be set to a newly allocated char*
containing the DL* string from the given plist. It is up to the caller
to free the allocated memory. If this parameter is NULL
it will be ignored.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if a DL* message was received,
MOBILEBACKUP2_E_INVALID_ARG if client or message is invalid,
MOBILEBACKUP2_E_PLIST_ERROR if the received plist is invalid
or is not a DL* message plist, or MOBILEBACKUP2_E_MUX_ERROR if
receiving from the device failed.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_send_raw(iMobil
eDevice.MobileBackup2.MobileBackup2ClientHandle,System.Byte[],System.UInt32,System.
UInt32@)">
<summary>
Send binary data to the device.
</summary>
<param name="client">
The MobileBackup client to send to.
</param>
<param name="data">
Pointer to the data to send
</param>
<param name="length">
Number of bytes to send
</param>
<param name="bytes">
Number of bytes actually sent
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if any data was successfully sent,
MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid,
or MOBILEBACKUP2_E_MUX_ERROR if sending of the data failed.
</returns>
<remarks>
This function returns MOBILEBACKUP2_E_SUCCESS even if less than the
requested length has been sent. The fourth parameter is required and
must be checked to ensure if the whole data has been sent.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_receive_raw(iMo
bileDevice.MobileBackup2.MobileBackup2ClientHandle,System.Byte[],System.UInt32,Syst
em.UInt32@)">
<summary>
Receive binary from the device.
</summary>
<param name="client">
The MobileBackup client to receive from.
</param>
<param name="data">
Pointer to a buffer that will be filled with the received data.
</param>
<param name="length">
Number of bytes to receive. The data buffer needs to be large
enough to store this amount of data.
</param>
<param name="bytes">
Number of bytes actually received.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if any or no data was received,
MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid,
or MOBILEBACKUP2_E_MUX_ERROR if receiving the data failed.
</returns>
<remarks>
This function returns MOBILEBACKUP2_E_SUCCESS even if no data
has been received (unless a communication error occurred).
The fourth parameter is required and must be checked to know how
many bytes were actually received.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_version_exchang
e(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.IntPtr,System.SByte,
System.Double@)">
<summary>
Performs the mobilebackup2 protocol version exchange.
</summary>
<param name="client">
The MobileBackup client to use.
</param>
<param name="local_versions">
An array of supported versions to send to the remote.
</param>
<param name="count">
The number of items in local_versions.
</param>
<param name="remote_version">
Holds the protocol version of the remote on success.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or a MOBILEBACKUP2_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_send_request(iM
obileDevice.MobileBackup2.MobileBackup2ClientHandle,System.String,System.String,Sys
tem.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Send a request to the connected mobilebackup2 service.
</summary>
<param name="request">
The request to send to the backup service.
Currently, this is one of "Backup", "Restore", "Info", or "List".
</param>
<param name="target_identifier">
UDID of the target device.
</param>
<param name="source_identifier">
UDID of backup data?
</param>
<param name="options">
Additional options in a plist of type PLIST_DICT.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if the request was successfully sent,
or a MOBILEBACKUP2_E_* error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.IMobileBackup2Api.mobilebackup2_send_status_res
ponse(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.Int32,System.Str
ing,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a DLMessageStatusResponse to the device.
</summary>
<param name="client">
The MobileBackup client to use.
</param>
<param name="status_code">
The status code to send.
</param>
<param name="status1">
A status message to send. Can be NULL if not required.
</param>
<param name="status2">
An additional status plist to attach to the response.
Can be NULL if not required.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID_ARG
if client is invalid, or another MOBILEBACKUP2_E_* otherwise.
</returns>
</member>
<member name="F:iMobileDevice.MobileBackup2.MobileBackup2Api.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileBackup2.MobileBackup2Api.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.#ctor(iMobileDevice.ILibiMobil
eDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2Api"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.MobileBackup2"/>.
</param>
</member>
<member name="P:iMobileDevice.MobileBackup2.MobileBackup2Api.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_client_new(iMobi
leDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHand
le,iMobileDevice.MobileBackup2.MobileBackup2ClientHandle@)">
<summary>
Connects to the mobilebackup2 service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobilebackup2_client_t upon successful return.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID ARG
if one or more parameter is invalid, or MOBILEBACKUP2_E_BAD_VERSION
if the mobilebackup2 version on the device is newer.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_client_start_ser
vice(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileBackup2.MobileBackup2C
lientHandle@,System.String)">
<summary>
Starts a new mobilebackup2 service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilebackup2_client_t upon successful return. Must be freed using
mobilebackup2_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or an MOBILEBACKUP2_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_client_free(Syst
em.IntPtr)">
<summary>
Disconnects a mobilebackup2 client from the device and frees up the
mobilebackup2 client data.
</summary>
<param name="client">
The mobilebackup2 client to disconnect and free.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or MOBILEBACKUP2_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_send_message(iMo
bileDevice.MobileBackup2.MobileBackup2ClientHandle,System.String,iMobileDevice.Plis
t.PlistHandle)">
<summary>
Sends a backup message plist.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="message">
The message to send. This will be inserted into the request
plist as value for MessageName. If this parameter is NULL,
the plist passed in the options parameter will be sent directly.
</param>
<param name="options">
Additional options as PLIST_DICT to add to the request.
The MessageName key with the value passed in the message parameter
will be inserted into this plist before sending it. This parameter
can be NULL if message is not NULL.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_receive_message(
iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,iMobileDevice.Plist.PlistHand
le@,System.String@)">
<summary>
Receives a DL* message plist from the device.
This function is a wrapper around device_link_service_receive_message.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="msg_plist">
Pointer to a plist that will be set to the contents of the
message plist upon successful return.
</param>
<param name="dlmessage">
A pointer that will be set to a newly allocated char*
containing the DL* string from the given plist. It is up to the caller
to free the allocated memory. If this parameter is NULL
it will be ignored.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if a DL* message was received,
MOBILEBACKUP2_E_INVALID_ARG if client or message is invalid,
MOBILEBACKUP2_E_PLIST_ERROR if the received plist is invalid
or is not a DL* message plist, or MOBILEBACKUP2_E_MUX_ERROR if
receiving from the device failed.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_send_raw(iMobile
Device.MobileBackup2.MobileBackup2ClientHandle,System.Byte[],System.UInt32,System.U
Int32@)">
<summary>
Send binary data to the device.
</summary>
<param name="client">
The MobileBackup client to send to.
</param>
<param name="data">
Pointer to the data to send
</param>
<param name="length">
Number of bytes to send
</param>
<param name="bytes">
Number of bytes actually sent
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if any data was successfully sent,
MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid,
or MOBILEBACKUP2_E_MUX_ERROR if sending of the data failed.
</returns>
<remarks>
This function returns MOBILEBACKUP2_E_SUCCESS even if less than the
requested length has been sent. The fourth parameter is required and
must be checked to ensure if the whole data has been sent.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_receive_raw(iMob
ileDevice.MobileBackup2.MobileBackup2ClientHandle,System.Byte[],System.UInt32,Syste
m.UInt32@)">
<summary>
Receive binary from the device.
</summary>
<param name="client">
The MobileBackup client to receive from.
</param>
<param name="data">
Pointer to a buffer that will be filled with the received data.
</param>
<param name="length">
Number of bytes to receive. The data buffer needs to be large
enough to store this amount of data.
</param>
<param name="bytes">
Number of bytes actually received.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if any or no data was received,
MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid,
or MOBILEBACKUP2_E_MUX_ERROR if receiving the data failed.
</returns>
<remarks>
This function returns MOBILEBACKUP2_E_SUCCESS even if no data
has been received (unless a communication error occurred).
The fourth parameter is required and must be checked to know how
many bytes were actually received.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_version_exchange
(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.IntPtr,System.SByte,S
ystem.Double@)">
<summary>
Performs the mobilebackup2 protocol version exchange.
</summary>
<param name="client">
The MobileBackup client to use.
</param>
<param name="local_versions">
An array of supported versions to send to the remote.
</param>
<param name="count">
The number of items in local_versions.
</param>
<param name="remote_version">
Holds the protocol version of the remote on success.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or a MOBILEBACKUP2_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_send_request(iMo
bileDevice.MobileBackup2.MobileBackup2ClientHandle,System.String,System.String,Syst
em.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Send a request to the connected mobilebackup2 service.
</summary>
<param name="request">
The request to send to the backup service.
Currently, this is one of "Backup", "Restore", "Info", or "List".
</param>
<param name="target_identifier">
UDID of the target device.
</param>
<param name="source_identifier">
UDID of backup data?
</param>
<param name="options">
Additional options in a plist of type PLIST_DICT.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if the request was successfully sent,
or a MOBILEBACKUP2_E_* error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Api.mobilebackup2_send_status_resp
onse(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.Int32,System.Stri
ng,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a DLMessageStatusResponse to the device.
</summary>
<param name="client">
The MobileBackup client to use.
</param>
<param name="status_code">
The status code to send.
</param>
<param name="status1">
A status message to send. Can be NULL if not required.
</param>
<param name="status2">
An additional status plist to attach to the response.
Can be NULL if not required.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID_ARG
if client is invalid, or another MOBILEBACKUP2_E_* otherwise.
</returns>
</member>
<member name="T:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle">
<summary>
Represents a wrapper class for MobileBackup2 handles.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.#ctor(System.Boolean)
">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.DangerousCreate(Syste
m.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.DangerousCreate(Syste
m.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.Equals(System.Object)
">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.op_Equality(iMobileDe
vice.MobileBackup2.MobileBackup2ClientHandle,iMobileDevice.MobileBackup2.MobileBack
up2ClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle.op_Inequality(iMobile
Device.MobileBackup2.MobileBackup2ClientHandle,iMobileDevice.MobileBackup2.MobileBa
ckup2ClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2ClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.MobileBackup2.MobileBackup2Error">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.MobileBackup2.MobileBackup2Exception">
Represents an exception that occurred when interacting with the
MobileBackup2 API.
</member>
<member
name="F:iMobileDevice.MobileBackup2.MobileBackup2Exception.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileBackup2.MobileBackup2Exception.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.MobileBackup2.MobileBackup2Exception.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2Exception"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Exception.#ctor(iMobileDevice.Mobi
leBackup2.MobileBackup2Error)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2Exception"/> class with a
specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Exception.#ctor(iMobileDevice.Mobi
leBackup2.MobileBackup2Error,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2Exception"/> class with a
specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Exception.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2Exception"/> class with a
specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Exception.#ctor(System.String,Syst
em.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2Exception"/> class with a
specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2Exception.#ctor(System.Runtime.Ser
ialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup2.MobileBackup2Exception"/> class with serialized
data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.MobileBackup2.MobileBackup2Exception.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_client
_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDesc
riptorHandle,iMobileDevice.MobileBackup2.MobileBackup2ClientHandle@)">
<summary>
Connects to the mobilebackup2 service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobilebackup2_client_t upon successful return.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID ARG
if one or more parameter is invalid, or MOBILEBACKUP2_E_BAD_VERSION
if the mobilebackup2 version on the device is newer.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_client
_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileBackup2.Mobi
leBackup2ClientHandle@,System.String)">
<summary>
Starts a new mobilebackup2 service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilebackup2_client_t upon successful return. Must be freed using
mobilebackup2_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or an MOBILEBACKUP2_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_client
_free(System.IntPtr)">
<summary>
Disconnects a mobilebackup2 client from the device and frees up the
mobilebackup2 client data.
</summary>
<param name="client">
The mobilebackup2 client to disconnect and free.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or MOBILEBACKUP2_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_send_m
essage(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.String,iMobileD
evice.Plist.PlistHandle)">
<summary>
Sends a backup message plist.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="message">
The message to send. This will be inserted into the request
plist as value for MessageName. If this parameter is NULL,
the plist passed in the options parameter will be sent directly.
</param>
<param name="options">
Additional options as PLIST_DICT to add to the request.
The MessageName key with the value passed in the message parameter
will be inserted into this plist before sending it. This parameter
can be NULL if message is not NULL.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_receiv
e_message(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,iMobileDevice.Plist
.PlistHandle@,System.IntPtr@)">
<summary>
Receives a DL* message plist from the device.
This function is a wrapper around device_link_service_receive_message.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="msg_plist">
Pointer to a plist that will be set to the contents of the
message plist upon successful return.
</param>
<param name="dlmessage">
A pointer that will be set to a newly allocated char*
containing the DL* string from the given plist. It is up to the caller
to free the allocated memory. If this parameter is NULL
it will be ignored.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if a DL* message was received,
MOBILEBACKUP2_E_INVALID_ARG if client or message is invalid,
MOBILEBACKUP2_E_PLIST_ERROR if the received plist is invalid
or is not a DL* message plist, or MOBILEBACKUP2_E_MUX_ERROR if
receiving from the device failed.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_send_r
aw(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.Byte[],System.UInt3
2,System.UInt32@)">
<summary>
Send binary data to the device.
</summary>
<param name="client">
The MobileBackup client to send to.
</param>
<param name="data">
Pointer to the data to send
</param>
<param name="length">
Number of bytes to send
</param>
<param name="bytes">
Number of bytes actually sent
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if any data was successfully sent,
MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid,
or MOBILEBACKUP2_E_MUX_ERROR if sending of the data failed.
</returns>
<remarks>
This function returns MOBILEBACKUP2_E_SUCCESS even if less than the
requested length has been sent. The fourth parameter is required and
must be checked to ensure if the whole data has been sent.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_receiv
e_raw(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.Byte[],System.UI
nt32,System.UInt32@)">
<summary>
Receive binary from the device.
</summary>
<param name="client">
The MobileBackup client to receive from.
</param>
<param name="data">
Pointer to a buffer that will be filled with the received data.
</param>
<param name="length">
Number of bytes to receive. The data buffer needs to be large
enough to store this amount of data.
</param>
<param name="bytes">
Number of bytes actually received.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if any or no data was received,
MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid,
or MOBILEBACKUP2_E_MUX_ERROR if receiving the data failed.
</returns>
<remarks>
This function returns MOBILEBACKUP2_E_SUCCESS even if no data
has been received (unless a communication error occurred).
The fourth parameter is required and must be checked to know how
many bytes were actually received.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_versio
n_exchange(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.IntPtr,Syst
em.SByte,System.Double@)">
<summary>
Performs the mobilebackup2 protocol version exchange.
</summary>
<param name="client">
The MobileBackup client to use.
</param>
<param name="local_versions">
An array of supported versions to send to the remote.
</param>
<param name="count">
The number of items in local_versions.
</param>
<param name="remote_version">
Holds the protocol version of the remote on success.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, or a MOBILEBACKUP2_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_send_r
equest(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.String,System.S
tring,System.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Send a request to the connected mobilebackup2 service.
</summary>
<param name="request">
The request to send to the backup service.
Currently, this is one of "Backup", "Restore", "Info", or "List".
</param>
<param name="target_identifier">
UDID of the target device.
</param>
<param name="source_identifier">
UDID of backup data?
</param>
<param name="options">
Additional options in a plist of type PLIST_DICT.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS if the request was successfully sent,
or a MOBILEBACKUP2_E_* error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup2.MobileBackup2NativeMethods.mobilebackup2_send_s
tatus_response(iMobileDevice.MobileBackup2.MobileBackup2ClientHandle,System.Int32,S
ystem.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a DLMessageStatusResponse to the device.
</summary>
<param name="client">
The MobileBackup client to use.
</param>
<param name="status_code">
The status code to send.
</param>
<param name="status1">
A status message to send. Can be NULL if not required.
</param>
<param name="status2">
An additional status plist to attach to the response.
Can be NULL if not required.
</param>
<returns>
MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID_ARG
if client is invalid, or another MOBILEBACKUP2_E_* otherwise.
</returns>
</member>
<member name="P:iMobileDevice.MobileBackup.IMobileBackupApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.MobileBackup"/>.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_client_new(iMobile
Device.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle
,iMobileDevice.MobileBackup.MobileBackupClientHandle@)">
<summary>
Connects to the mobilebackup service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobilebackup_client_t upon successful return.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID ARG if one
or more parameters are invalid, or DEVICE_LINK_SERVICE_E_BAD_VERSION if
the mobilebackup version on the device is newer.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_client_start_servi
ce(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileBackup.MobileBackupClien
tHandle@,System.String)">
<summary>
Starts a new mobilebackup service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilebackup_client_t upon successful return. Must be freed using
mobilebackup_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, or an MOBILEBACKUP_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_client_free(System
.IntPtr)">
<summary>
Disconnects a mobilebackup client from the device and frees up the
mobilebackup client data.
</summary>
<param name="client">
The mobilebackup client to disconnect and free.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, or MOBILEBACKUP_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_receive(iMobileDev
ice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Polls the device for mobilebackup data.
</summary>
<param name="client">
The mobilebackup client
</param>
<param name="plist">
A pointer to the location where the plist should be stored
</param>
<returns>
an error code
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_send(iMobileDevice
.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends mobilebackup data to the device
</summary>
<param name="client">
The mobilebackup client
</param>
<param name="plist">
The location of the plist to send
</param>
<returns>
an error code
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_request_backup(iMo
bileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle,Sy
stem.String,System.String)">
<summary>
Request a backup from the connected device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="backup_manifest">
The backup manifest, a plist_t of type PLIST_DICT
containing the backup state of the last backup. For a first-time backup
set this parameter to NULL.
</param>
<param name="base_path">
The base path on the device to use for the backup
operation, usually "/".
</param>
<param name="proto_version">
A string denoting the version of the backup protocol
to use. Latest known version is "1.6"
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, MOBILEBACKUP_E_PLIST_ERROR if
backup_manifest is not of type PLIST_DICT, MOBILEBACKUP_E_MUX_ERROR
if a communication error occurs, MOBILEBACKUP_E_REPLY_NOT_OK
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_send_backup_file_r
eceived(iMobileDevice.MobileBackup.MobileBackupClientHandle)">
<summary>
Sends a confirmation to the device that a backup file has been
received.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_request_restore(iM
obileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle,i
MobileDevice.MobileBackup.MobileBackupFlags,System.String)">
<summary>
Request that a backup should be restored to the connected device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="backup_manifest">
The backup manifest, a plist_t of type PLIST_DICT
containing the backup state to be restored.
</param>
<param name="flags">
Flags to send with the request. Currently this is a combination
of the following mobilebackup_flags_t:
MB_RESTORE_NOTIFY_SPRINGBOARD - let SpringBoard show a 'Restore' screen
MB_RESTORE_PRESERVE_SETTINGS - do not overwrite any settings
MB_RESTORE_PRESERVE_CAMERA_ROLL - preserve the photos of the camera
roll
</param>
<param name="proto_version">
A string denoting the version of the backup protocol
to use. Latest known version is "1.6". Ideally this value should be
extracted from the given manifest plist.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, MOBILEBACKUP_E_PLIST_ERROR if
backup_manifest is not of type PLIST_DICT, MOBILEBACKUP_E_MUX_ERROR
if a communication error occurs, or MOBILEBACKUP_E_REPLY_NOT_OK
if the device did not accept the request.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_receive_restore_fi
le_received(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist
.PlistHandle@)">
<summary>
Receive a confirmation from the device that it successfully received
a restore file.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="result">
Pointer to a plist_t that will be set to the received plist
for further processing. The caller has to free it using plist_free().
Note that it will be set to NULL if the operation itself fails due to
a communication or plist error.
If this parameter is NULL, it will be ignored.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_REPLY_NOT_OK if the expected
'BackupMessageRestoreFileReceived' message could not be received,
MOBILEBACKUP_E_PLIST_ERROR if the received message is not a valid
backup
message plist, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_receive_restore_ap
plication_received(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevic
e.Plist.PlistHandle@)">
<summary>
Receive a confirmation from the device that it successfully received
application data file.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="result">
Pointer to a plist_t that will be set to the received plist
for further processing. The caller has to free it using plist_free().
Note that it will be set to NULL if the operation itself fails due to
a communication or plist error.
If this parameter is NULL, it will be ignored.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_REPLY_NOT_OK if the expected
'BackupMessageRestoreApplicationReceived' message could not be
received,
MOBILEBACKUP_E_PLIST_ERROR if the received message is not a valid
backup
message plist, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_send_restore_compl
ete(iMobileDevice.MobileBackup.MobileBackupClientHandle)">
<summary>
Tells the device that the restore process is complete and waits for the
device to close the connection. After that, the device should reboot.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_PLIST_ERROR if the received
disconnect
message plist is invalid, or MOBILEBACKUP_E_MUX_ERROR if a
communication
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.IMobileBackupApi.mobilebackup_send_error(iMobile
Device.MobileBackup.MobileBackupClientHandle,System.String)">
<summary>
Sends a backup error message to the device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="reason">
A string describing the reason for the error message.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, or MOBILEBACKUP_E_MUX_ERROR if a
communication error occurs.
</returns>
</member>
<member name="F:iMobileDevice.MobileBackup.MobileBackupApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileBackup.MobileBackupApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.#ctor(iMobileDevice.ILibiMobileD
evice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.MobileBackup"/>.
</param>
</member>
<member name="P:iMobileDevice.MobileBackup.MobileBackupApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_client_new(iMobileD
evice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,
iMobileDevice.MobileBackup.MobileBackupClientHandle@)">
<summary>
Connects to the mobilebackup service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobilebackup_client_t upon successful return.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID ARG if one
or more parameters are invalid, or DEVICE_LINK_SERVICE_E_BAD_VERSION if
the mobilebackup version on the device is newer.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_client_start_servic
e(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileBackup.MobileBackupClient
Handle@,System.String)">
<summary>
Starts a new mobilebackup service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilebackup_client_t upon successful return. Must be freed using
mobilebackup_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, or an MOBILEBACKUP_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_client_free(System.
IntPtr)">
<summary>
Disconnects a mobilebackup client from the device and frees up the
mobilebackup client data.
</summary>
<param name="client">
The mobilebackup client to disconnect and free.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, or MOBILEBACKUP_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_receive(iMobileDevi
ce.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Polls the device for mobilebackup data.
</summary>
<param name="client">
The mobilebackup client
</param>
<param name="plist">
A pointer to the location where the plist should be stored
</param>
<returns>
an error code
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_send(iMobileDevice.
MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends mobilebackup data to the device
</summary>
<param name="client">
The mobilebackup client
</param>
<param name="plist">
The location of the plist to send
</param>
<returns>
an error code
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_request_backup(iMob
ileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle,Sys
tem.String,System.String)">
<summary>
Request a backup from the connected device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="backup_manifest">
The backup manifest, a plist_t of type PLIST_DICT
containing the backup state of the last backup. For a first-time backup
set this parameter to NULL.
</param>
<param name="base_path">
The base path on the device to use for the backup
operation, usually "/".
</param>
<param name="proto_version">
A string denoting the version of the backup protocol
to use. Latest known version is "1.6"
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, MOBILEBACKUP_E_PLIST_ERROR if
backup_manifest is not of type PLIST_DICT, MOBILEBACKUP_E_MUX_ERROR
if a communication error occurs, MOBILEBACKUP_E_REPLY_NOT_OK
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_send_backup_file_re
ceived(iMobileDevice.MobileBackup.MobileBackupClientHandle)">
<summary>
Sends a confirmation to the device that a backup file has been
received.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_request_restore(iMo
bileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle,iM
obileDevice.MobileBackup.MobileBackupFlags,System.String)">
<summary>
Request that a backup should be restored to the connected device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="backup_manifest">
The backup manifest, a plist_t of type PLIST_DICT
containing the backup state to be restored.
</param>
<param name="flags">
Flags to send with the request. Currently this is a combination
of the following mobilebackup_flags_t:
MB_RESTORE_NOTIFY_SPRINGBOARD - let SpringBoard show a 'Restore' screen
MB_RESTORE_PRESERVE_SETTINGS - do not overwrite any settings
MB_RESTORE_PRESERVE_CAMERA_ROLL - preserve the photos of the camera
roll
</param>
<param name="proto_version">
A string denoting the version of the backup protocol
to use. Latest known version is "1.6". Ideally this value should be
extracted from the given manifest plist.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, MOBILEBACKUP_E_PLIST_ERROR if
backup_manifest is not of type PLIST_DICT, MOBILEBACKUP_E_MUX_ERROR
if a communication error occurs, or MOBILEBACKUP_E_REPLY_NOT_OK
if the device did not accept the request.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_receive_restore_fil
e_received(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.
PlistHandle@)">
<summary>
Receive a confirmation from the device that it successfully received
a restore file.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="result">
Pointer to a plist_t that will be set to the received plist
for further processing. The caller has to free it using plist_free().
Note that it will be set to NULL if the operation itself fails due to
a communication or plist error.
If this parameter is NULL, it will be ignored.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_REPLY_NOT_OK if the expected
'BackupMessageRestoreFileReceived' message could not be received,
MOBILEBACKUP_E_PLIST_ERROR if the received message is not a valid
backup
message plist, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_receive_restore_app
lication_received(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice
.Plist.PlistHandle@)">
<summary>
Receive a confirmation from the device that it successfully received
application data file.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="result">
Pointer to a plist_t that will be set to the received plist
for further processing. The caller has to free it using plist_free().
Note that it will be set to NULL if the operation itself fails due to
a communication or plist error.
If this parameter is NULL, it will be ignored.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_REPLY_NOT_OK if the expected
'BackupMessageRestoreApplicationReceived' message could not be
received,
MOBILEBACKUP_E_PLIST_ERROR if the received message is not a valid
backup
message plist, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_send_restore_comple
te(iMobileDevice.MobileBackup.MobileBackupClientHandle)">
<summary>
Tells the device that the restore process is complete and waits for the
device to close the connection. After that, the device should reboot.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_PLIST_ERROR if the received
disconnect
message plist is invalid, or MOBILEBACKUP_E_MUX_ERROR if a
communication
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupApi.mobilebackup_send_error(iMobileD
evice.MobileBackup.MobileBackupClientHandle,System.String)">
<summary>
Sends a backup error message to the device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="reason">
A string describing the reason for the error message.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, or MOBILEBACKUP_E_MUX_ERROR if a
communication error occurs.
</returns>
</member>
<member name="T:iMobileDevice.MobileBackup.MobileBackupClientHandle">
<summary>
Represents a wrapper class for MobileBackup handles.
</summary>
</member>
<member name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.MobileBackup.MobileBackupClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.MobileBackup.MobileBackupClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.DangerousCreate(System.
IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileBackup.MobileBackupClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.DangerousCreate(System.
IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileBackup.MobileBackupClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.op_Equality(iMobileDevi
ce.MobileBackup.MobileBackupClientHandle,iMobileDevice.MobileBackup.MobileBackupCli
entHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileBackup.MobileBackupClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupClientHandle.op_Inequality(iMobileDe
vice.MobileBackup.MobileBackupClientHandle,iMobileDevice.MobileBackup.MobileBackupC
lientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileBackup.MobileBackupClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.MobileBackup.MobileBackupError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.MobileBackup.MobileBackupException">
Represents an exception that occurred when interacting with the
MobileBackup API.
</member>
<member
name="F:iMobileDevice.MobileBackup.MobileBackupException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileBackup.MobileBackupException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.MobileBackup.MobileBackupException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupException.#ctor(iMobileDevice.Mobile
Backup.MobileBackupError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupException"/> class with a specified
error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupException.#ctor(iMobileDevice.Mobile
Backup.MobileBackupError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupException"/> class with a specified
error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupException"/> class with a specified
error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupException.#ctor(System.String,System
.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupException"/> class with a specified
error message and a reference to the inner exception that is the cause of this
exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupException.#ctor(System.Runtime.Seria
lization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileBackup.MobileBackupException"/> class with serialized
data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.MobileBackup.MobileBackupException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_client_ne
w(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescrip
torHandle,iMobileDevice.MobileBackup.MobileBackupClientHandle@)">
<summary>
Connects to the mobilebackup service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobilebackup_client_t upon successful return.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID ARG if one
or more parameters are invalid, or DEVICE_LINK_SERVICE_E_BAD_VERSION if
the mobilebackup version on the device is newer.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_client_st
art_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileBackup.MobileBa
ckupClientHandle@,System.String)">
<summary>
Starts a new mobilebackup service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilebackup_client_t upon successful return. Must be freed using
mobilebackup_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, or an MOBILEBACKUP_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_client_fr
ee(System.IntPtr)">
<summary>
Disconnects a mobilebackup client from the device and frees up the
mobilebackup client data.
</summary>
<param name="client">
The mobilebackup client to disconnect and free.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, or MOBILEBACKUP_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_receive(i
MobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle@
)">
<summary>
Polls the device for mobilebackup data.
</summary>
<param name="client">
The mobilebackup client
</param>
<param name="plist">
A pointer to the location where the plist should be stored
</param>
<returns>
an error code
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_send(iMob
ileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends mobilebackup data to the device
</summary>
<param name="client">
The mobilebackup client
</param>
<param name="plist">
The location of the plist to send
</param>
<returns>
an error code
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_request_b
ackup(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.Plist
Handle,System.String,System.String)">
<summary>
Request a backup from the connected device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="backup_manifest">
The backup manifest, a plist_t of type PLIST_DICT
containing the backup state of the last backup. For a first-time backup
set this parameter to NULL.
</param>
<param name="base_path">
The base path on the device to use for the backup
operation, usually "/".
</param>
<param name="proto_version">
A string denoting the version of the backup protocol
to use. Latest known version is "1.6"
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, MOBILEBACKUP_E_PLIST_ERROR if
backup_manifest is not of type PLIST_DICT, MOBILEBACKUP_E_MUX_ERROR
if a communication error occurs, MOBILEBACKUP_E_REPLY_NOT_OK
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_send_back
up_file_received(iMobileDevice.MobileBackup.MobileBackupClientHandle)">
<summary>
Sends a confirmation to the device that a backup file has been
received.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_request_r
estore(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDevice.Plist.Plis
tHandle,iMobileDevice.MobileBackup.MobileBackupFlags,System.String)">
<summary>
Request that a backup should be restored to the connected device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="backup_manifest">
The backup manifest, a plist_t of type PLIST_DICT
containing the backup state to be restored.
</param>
<param name="flags">
Flags to send with the request. Currently this is a combination
of the following mobilebackup_flags_t:
MB_RESTORE_NOTIFY_SPRINGBOARD - let SpringBoard show a 'Restore' screen
MB_RESTORE_PRESERVE_SETTINGS - do not overwrite any settings
MB_RESTORE_PRESERVE_CAMERA_ROLL - preserve the photos of the camera
roll
</param>
<param name="proto_version">
A string denoting the version of the backup protocol
to use. Latest known version is "1.6". Ideally this value should be
extracted from the given manifest plist.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, MOBILEBACKUP_E_PLIST_ERROR if
backup_manifest is not of type PLIST_DICT, MOBILEBACKUP_E_MUX_ERROR
if a communication error occurs, or MOBILEBACKUP_E_REPLY_NOT_OK
if the device did not accept the request.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_receive_r
estore_file_received(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMobileDev
ice.Plist.PlistHandle@)">
<summary>
Receive a confirmation from the device that it successfully received
a restore file.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="result">
Pointer to a plist_t that will be set to the received plist
for further processing. The caller has to free it using plist_free().
Note that it will be set to NULL if the operation itself fails due to
a communication or plist error.
If this parameter is NULL, it will be ignored.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_REPLY_NOT_OK if the expected
'BackupMessageRestoreFileReceived' message could not be received,
MOBILEBACKUP_E_PLIST_ERROR if the received message is not a valid
backup
message plist, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_receive_r
estore_application_received(iMobileDevice.MobileBackup.MobileBackupClientHandle,iMo
bileDevice.Plist.PlistHandle@)">
<summary>
Receive a confirmation from the device that it successfully received
application data file.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="result">
Pointer to a plist_t that will be set to the received plist
for further processing. The caller has to free it using plist_free().
Note that it will be set to NULL if the operation itself fails due to
a communication or plist error.
If this parameter is NULL, it will be ignored.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_REPLY_NOT_OK if the expected
'BackupMessageRestoreApplicationReceived' message could not be
received,
MOBILEBACKUP_E_PLIST_ERROR if the received message is not a valid
backup
message plist, or MOBILEBACKUP_E_MUX_ERROR if a communication error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_send_rest
ore_complete(iMobileDevice.MobileBackup.MobileBackupClientHandle)">
<summary>
Tells the device that the restore process is complete and waits for the
device to close the connection. After that, the device should reboot.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
client is invalid, MOBILEBACKUP_E_PLIST_ERROR if the received
disconnect
message plist is invalid, or MOBILEBACKUP_E_MUX_ERROR if a
communication
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.MobileBackup.MobileBackupNativeMethods.mobilebackup_send_erro
r(iMobileDevice.MobileBackup.MobileBackupClientHandle,System.String)">
<summary>
Sends a backup error message to the device.
</summary>
<param name="client">
The connected MobileBackup client to use.
</param>
<param name="reason">
A string describing the reason for the error message.
</param>
<returns>
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
one of the parameters is invalid, or MOBILEBACKUP_E_MUX_ERROR if a
communication error occurs.
</returns>
</member>
<member
name="P:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.MobileImageMounter"/>.
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.mobile_image_mounte
r_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDes
criptorHandle,iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle@)">
<summary>
Connects to the mobile_image_mounter service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobile_image_mounter_client_t upon successful return.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if device is NULL,
or MOBILE_IMAGE_MOUNTER_E_CONN_FAILED if the connection to the
device could not be established.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.mobile_image_mounte
r_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileImageMounte
r.MobileImageMounterClientHandle@,System.String)">
<summary>
Starts a new mobile_image_mounter service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobile_image_mounter_t upon successful return. Must be freed using
mobile_image_mounter_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success, or an
MOBILE_IMAGE_MOUNTER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.mobile_image_mounte
r_free(System.IntPtr)">
<summary>
Disconnects a mobile_image_mounter client from the device and frees up
the
mobile_image_mounter client data.
</summary>
<param name="client">
The mobile_image_mounter client to disconnect and free.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
or MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.mobile_image_mounte
r_lookup_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,Syst
em.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Tells if the image of ImageType is already mounted.
</summary>
<param name="client">
The client use
</param>
<param name="image_type">
The type of the image to look up
</param>
<param name="result">
Pointer to a plist that will receive the result of the
operation.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success, or an error code on error
</returns>
<remarks>
This function may return MOBILE_IMAGE_MOUNTER_E_SUCCESS even if the
operation has failed. Check the resulting plist for further
information.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.mobile_image_mounte
r_upload_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,Syst
em.String,System.UInt32,System.Byte[],System.UInt16,iMobileDevice.MobileImageMounte
r.MobileImageMounterUploadCallBack,System.IntPtr)">
<summary>
Uploads an image with an optional signature to the device.
</summary>
<param name="client">
The connected mobile_image_mounter client.
</param>
<param name="image_type">
Type of image that is being uploaded.
</param>
<param name="image_size">
Total size of the image.
</param>
<param name="signature">
Buffer with a signature of the image being uploaded. If
NULL, no signature will be used.
</param>
<param name="signature_size">
Total size of the image signature buffer. If 0, no
signature will be used.
</param>
<param name="upload_cb">
Callback function that gets the data chunks for uploading
the image.
</param>
<param name="userdata">
User defined data for the upload callback function.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on succes, or a
MOBILE_IMAGE_MOUNTER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.mobile_image_mounte
r_mount_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,Syste
m.String,System.Byte[],System.UInt16,System.String,iMobileDevice.Plist.PlistHandle@
)">
<summary>
Mounts an image on the device.
</summary>
<param name="client">
The connected mobile_image_mounter client.
</param>
<param name="image_path">
The absolute path of the image to mount. The image must
be present before calling this function.
</param>
<param name="signature">
Pointer to a buffer holding the images' signature
</param>
<param name="signature_size">
Length of the signature image_signature points to
</param>
<param name="image_type">
Type of image to mount
</param>
<param name="result">
Pointer to a plist that will receive the result of the
operation.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if on ore more parameters are
invalid, or another error code otherwise.
</returns>
<remarks>
This function may return MOBILE_IMAGE_MOUNTER_E_SUCCESS even if the
operation has failed. Check the resulting plist for further
information.
Note that there is no unmounting function. The mount persists until the
device is rebooted.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.IMobileImageMounterApi.mobile_image_mounte
r_hangup(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle)">
<summary>
Hangs up the connection to the mobile_image_mounter service.
This functions has to be called before freeing up a
mobile_image_mounter
instance. If not, errors appear in the device's syslog.
</summary>
<param name="client">
The client to hang up
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if client is invalid,
or another error code otherwise.
</returns>
</member>
<member
name="F:iMobileDevice.MobileImageMounter.MobileImageMounterApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileImageMounter.MobileImageMounterApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.#ctor(iMobileDevice.
ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.MobileImageMounter"/>.
</param>
</member>
<member
name="P:iMobileDevice.MobileImageMounter.MobileImageMounterApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.mobile_image_mounter
_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDesc
riptorHandle,iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle@)">
<summary>
Connects to the mobile_image_mounter service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobile_image_mounter_client_t upon successful return.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if device is NULL,
or MOBILE_IMAGE_MOUNTER_E_CONN_FAILED if the connection to the
device could not be established.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.mobile_image_mounter
_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileImageMounter
.MobileImageMounterClientHandle@,System.String)">
<summary>
Starts a new mobile_image_mounter service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobile_image_mounter_t upon successful return. Must be freed using
mobile_image_mounter_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success, or an
MOBILE_IMAGE_MOUNTER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.mobile_image_mounter
_free(System.IntPtr)">
<summary>
Disconnects a mobile_image_mounter client from the device and frees up
the
mobile_image_mounter client data.
</summary>
<param name="client">
The mobile_image_mounter client to disconnect and free.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
or MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.mobile_image_mounter
_lookup_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,Syste
m.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Tells if the image of ImageType is already mounted.
</summary>
<param name="client">
The client use
</param>
<param name="image_type">
The type of the image to look up
</param>
<param name="result">
Pointer to a plist that will receive the result of the
operation.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success, or an error code on error
</returns>
<remarks>
This function may return MOBILE_IMAGE_MOUNTER_E_SUCCESS even if the
operation has failed. Check the resulting plist for further
information.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.mobile_image_mounter
_upload_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,Syste
m.String,System.UInt32,System.Byte[],System.UInt16,iMobileDevice.MobileImageMounter
.MobileImageMounterUploadCallBack,System.IntPtr)">
<summary>
Uploads an image with an optional signature to the device.
</summary>
<param name="client">
The connected mobile_image_mounter client.
</param>
<param name="image_type">
Type of image that is being uploaded.
</param>
<param name="image_size">
Total size of the image.
</param>
<param name="signature">
Buffer with a signature of the image being uploaded. If
NULL, no signature will be used.
</param>
<param name="signature_size">
Total size of the image signature buffer. If 0, no
signature will be used.
</param>
<param name="upload_cb">
Callback function that gets the data chunks for uploading
the image.
</param>
<param name="userdata">
User defined data for the upload callback function.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on succes, or a
MOBILE_IMAGE_MOUNTER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.mobile_image_mounter
_mount_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,System
.String,System.Byte[],System.UInt16,System.String,iMobileDevice.Plist.PlistHandle@)
">
<summary>
Mounts an image on the device.
</summary>
<param name="client">
The connected mobile_image_mounter client.
</param>
<param name="image_path">
The absolute path of the image to mount. The image must
be present before calling this function.
</param>
<param name="signature">
Pointer to a buffer holding the images' signature
</param>
<param name="signature_size">
Length of the signature image_signature points to
</param>
<param name="image_type">
Type of image to mount
</param>
<param name="result">
Pointer to a plist that will receive the result of the
operation.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if on ore more parameters are
invalid, or another error code otherwise.
</returns>
<remarks>
This function may return MOBILE_IMAGE_MOUNTER_E_SUCCESS even if the
operation has failed. Check the resulting plist for further
information.
Note that there is no unmounting function. The mount persists until the
device is rebooted.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterApi.mobile_image_mounter
_hangup(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle)">
<summary>
Hangs up the connection to the mobile_image_mounter service.
This functions has to be called before freeing up a
mobile_image_mounter
instance. If not, errors appear in the device's syslog.
</summary>
<param name="client">
The client to hang up
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if client is invalid,
or another error code otherwise.
</returns>
</member>
<member
name="T:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle">
<summary>
Represents a wrapper class for MobileImageMounter handles.
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.#ctor(Syste
m.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.ReleaseHand
le">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.DangerousCr
eate(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.DangerousCr
eate(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.Equals(Syst
em.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.GetHashCode
">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.op_Equality
(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,iMobileDevice.Mobi
leImageMounter.MobileImageMounterClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle"/> are
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle.op_Inequali
ty(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle,iMobileDevice.Mo
bileImageMounter.MobileImageMounterClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle"/> are not
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.MobileImageMounter.MobileImageMounterError">
<summary>
Error Codes
</summary>
</member>
<member
name="T:iMobileDevice.MobileImageMounter.MobileImageMounterException">
Represents an exception that occurred when interacting with the
MobileImageMounter API.
</member>
<member
name="F:iMobileDevice.MobileImageMounter.MobileImageMounterException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileImageMounter.MobileImageMounterException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterException.#ctor(iMobileD
evice.MobileImageMounter.MobileImageMounterError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterException"/> class with
a specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterException.#ctor(iMobileD
evice.MobileImageMounter.MobileImageMounterError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterException"/> class with
a specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterException.#ctor(System.S
tring)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterException"/> class with
a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterException.#ctor(System.S
tring,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterException"/> class with
a specified error message and a reference to the inner exception that is the cause
of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterException.#ctor(System.R
untime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContex
t)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileImageMounter.MobileImageMounterException"/> class with
serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.MobileImageMounter.MobileImageMounterException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterNativeMethods.mobile_ima
ge_mounter_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownS
erviceDescriptorHandle,iMobileDevice.MobileImageMounter.MobileImageMounterClientHan
dle@)">
<summary>
Connects to the mobile_image_mounter service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
mobile_image_mounter_client_t upon successful return.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if device is NULL,
or MOBILE_IMAGE_MOUNTER_E_CONN_FAILED if the connection to the
device could not be established.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterNativeMethods.mobile_ima
ge_mounter_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileIm
ageMounter.MobileImageMounterClientHandle@,System.String)">
<summary>
Starts a new mobile_image_mounter service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobile_image_mounter_t upon successful return. Must be freed using
mobile_image_mounter_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success, or an
MOBILE_IMAGE_MOUNTER_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterNativeMethods.mobile_ima
ge_mounter_free(System.IntPtr)">
<summary>
Disconnects a mobile_image_mounter client from the device and frees up
the
mobile_image_mounter client data.
</summary>
<param name="client">
The mobile_image_mounter client to disconnect and free.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
or MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterNativeMethods.mobile_ima
ge_mounter_lookup_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHa
ndle,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Tells if the image of ImageType is already mounted.
</summary>
<param name="client">
The client use
</param>
<param name="image_type">
The type of the image to look up
</param>
<param name="result">
Pointer to a plist that will receive the result of the
operation.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success, or an error code on error
</returns>
<remarks>
This function may return MOBILE_IMAGE_MOUNTER_E_SUCCESS even if the
operation has failed. Check the resulting plist for further
information.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterNativeMethods.mobile_ima
ge_mounter_upload_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHa
ndle,System.String,System.UInt32,System.Byte[],System.UInt16,iMobileDevice.MobileIm
ageMounter.MobileImageMounterUploadCallBack,System.IntPtr)">
<summary>
Uploads an image with an optional signature to the device.
</summary>
<param name="client">
The connected mobile_image_mounter client.
</param>
<param name="image_type">
Type of image that is being uploaded.
</param>
<param name="image_size">
Total size of the image.
</param>
<param name="signature">
Buffer with a signature of the image being uploaded. If
NULL, no signature will be used.
</param>
<param name="signature_size">
Total size of the image signature buffer. If 0, no
signature will be used.
</param>
<param name="upload_cb">
Callback function that gets the data chunks for uploading
the image.
</param>
<param name="userdata">
User defined data for the upload callback function.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on succes, or a
MOBILE_IMAGE_MOUNTER_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterNativeMethods.mobile_ima
ge_mounter_mount_image(iMobileDevice.MobileImageMounter.MobileImageMounterClientHan
dle,System.String,System.Byte[],System.UInt16,System.String,iMobileDevice.Plist.Pli
stHandle@)">
<summary>
Mounts an image on the device.
</summary>
<param name="client">
The connected mobile_image_mounter client.
</param>
<param name="image_path">
The absolute path of the image to mount. The image must
be present before calling this function.
</param>
<param name="signature">
Pointer to a buffer holding the images' signature
</param>
<param name="signature_size">
Length of the signature image_signature points to
</param>
<param name="image_type">
Type of image to mount
</param>
<param name="result">
Pointer to a plist that will receive the result of the
operation.
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if on ore more parameters are
invalid, or another error code otherwise.
</returns>
<remarks>
This function may return MOBILE_IMAGE_MOUNTER_E_SUCCESS even if the
operation has failed. Check the resulting plist for further
information.
Note that there is no unmounting function. The mount persists until the
device is rebooted.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileImageMounter.MobileImageMounterNativeMethods.mobile_ima
ge_mounter_hangup(iMobileDevice.MobileImageMounter.MobileImageMounterClientHandle)"
>
<summary>
Hangs up the connection to the mobile_image_mounter service.
This functions has to be called before freeing up a
mobile_image_mounter
instance. If not, errors appear in the device's syslog.
</summary>
<param name="client">
The client to hang up
</param>
<returns>
MOBILE_IMAGE_MOUNTER_E_SUCCESS on success,
MOBILE_IMAGE_MOUNTER_E_INVALID_ARG if client is invalid,
or another error code otherwise.
</returns>
</member>
<member name="P:iMobileDevice.MobileSync.IMobileSyncApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.MobileSync"/>.
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_client_new(iMobileDevice
.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobi
leDevice.MobileSync.MobileSyncClientHandle@)">
<summary>
Connects to the mobilesync service on the specified device.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one or more parameters are invalid
DEVICE_LINK_SERVICE_E_BAD_VERSION if the mobilesync version on
the device is newer.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
#mobilesync_client_t upon successful return.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_client_start_service(iMo
bileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileSync.MobileSyncClientHandle@,S
ystem.String)">
<summary>
Starts a new mobilesync service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilesync_client_t upon successful return. Must be freed using
mobilesync_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILESYNC_E_SUCCESS on success, or an MOBILESYNC_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_client_free(System.IntPt
r)">
<summary>
Disconnects a mobilesync client from the device and frees up the
mobilesync client data.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if
is NULL.
</summary>
<param name="client">
The mobilesync client to disconnect and free.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_receive(iMobileDevice.Mo
bileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Polls the device for mobilesync data.
</summary>
<param name="client">
The mobilesync client
</param>
<param name="plist">
A pointer to the location where the plist should be stored
</param>
<returns>
an error code
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_send(iMobileDevice.Mobil
eSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends mobilesync data to the device
</summary>
<param name="client">
The mobilesync client
</param>
<param name="plist">
The location of the plist to send
</param>
<returns>
an error code
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_start(iMobileDevice.Mobi
leSync.MobileSyncClientHandle,System.Byte[],iMobileDevice.MobileSync.MobileSyncAnch
orsHandle,System.UInt64,iMobileDevice.MobileSync.MobileSyncSyncType@,System.UInt64@
,System.String@)">
<summary>
Requests starting synchronization of a data class with the device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
MOBILESYNC_E_SYNC_REFUSED if the device refused to sync
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
sync request
</summary>
<param name="client">
The mobilesync client
</param>
<param name="data_class">
The data class identifier to sync
</param>
<param name="anchors">
The anchors required to exchange with the device. The anchors
allow the device to tell if the synchronization information on the
computer
and device are consistent to determine what sync type is required.
</param>
<param name="computer_data_class_version">
The version of the data class storage on the computer
</param>
<param name="sync_type">
A pointer to store the sync type reported by the device_anchor
</param>
<param name="device_data_class_version">
The version of the data class storage on the device
</param>
<param name="error_description">
A pointer to store an error message if reported by the device
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_cancel(iMobileDevice.Mob
ileSync.MobileSyncClientHandle,System.String)">
<summary>
Cancels a running synchronization session with a device at any time.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
<param name="reason">
The reason to supply to the device for cancelling
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_finish(iMobileDevice.Mob
ileSync.MobileSyncClientHandle)">
<summary>
Finish a synchronization session of a data class on the device.
A session must have previously been started using mobilesync_start().
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid
form
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_get_all_records_from_dev
ice(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests to receive all records of the currently set data class from
the device.
The actually changes are retrieved using mobilesync_receive_changes()
after this
request has been successful.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_get_changes_from_device(
iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests to receive only changed records of the currently set data
class from the device.
The actually changes are retrieved using mobilesync_receive_changes()
after this
request has been successful.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_clear_all_records_on_dev
ice(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests the device to delete all records of the current data class
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
</summary>
<param name="client">
The mobilesync client
</param>
<remarks>
The operation must be called after starting synchronization.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_receive_changes(iMobileD
evice.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@,System.Cha
r@,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives changed entitites of the currently set data class from the
device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
</summary>
<param name="client">
The mobilesync client
</param>
<param name="entities">
A pointer to store the changed entity records as a PLIST_DICT
</param>
<param name="is_last_record">
A pointer to store a flag indicating if this submission is the last one
</param>
<param name="actions">
A pointer to additional flags the device is sending or NULL to ignore
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_acknowledge_changes_from
_device(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Acknowledges to the device that the changes have been merged on the
computer
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_ready_to_send_changes_fr
om_computer(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Verifies if the device is ready to receive changes from the computer.
This call changes the synchronization direction so that
mobilesync_send_changes()
can be used to send changes to the device.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
MOBILESYNC_E_NOT_READY if the device is not ready to start
receiving any changes
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_send_changes(iMobileDevi
ce.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle,System.Char,iM
obileDevice.Plist.PlistHandle)">
<summary>
Sends changed entities of the currently set data class to the device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid,
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
</summary>
<param name="client">
The mobilesync client
</param>
<param name="entities">
The changed entity records as a PLIST_DICT
</param>
<param name="is_last_record">
A flag indicating if this submission is the last one
</param>
<param name="actions">
Additional actions for the device created with mobilesync_actions_new()
or NULL if no actions should be passed
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_remap_identifiers(iMobil
eDevice.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives any remapped identifiers reported after the device merged
submitted changes.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid
form
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
</summary>
<param name="client">
The mobilesync client
</param>
<param name="mapping">
A pointer to an array plist containing a dict of identifier remappings
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_anchors_new(System.Strin
g,System.String,iMobileDevice.MobileSync.MobileSyncAnchorsHandle@)">
<summary>
Allocates memory for a new anchors struct initialized with the passed
anchors.
MOBILESYNC_E_SUCCESS on success
</summary>
<param name="device_anchor">
An anchor the device reported the last time or NULL
if none is known yet which for instance is true on first
synchronization.
</param>
<param name="computer_anchor">
An arbitrary string to use as anchor for the computer.
</param>
<param name="client">
Pointer that will be set to a newly allocated
#mobilesync_anchors_t struct. Must be freed using
mobilesync_anchors_free().
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_anchors_free(System.IntP
tr)">
<summary>
Free memory used by anchors.
MOBILESYNC_E_SUCCESS on success
</summary>
<param name="anchors">
The anchors to free.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_actions_new">
<summary>
Create a new actions plist to use in mobilesync_send_changes().
</summary>
<returns>
A new plist_t of type PLIST_DICT.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_actions_add(iMobileDevic
e.Plist.PlistHandle)">
<summary>
Add one or more new key:value pairs to the given actions plist.
</summary>
<param name="actions">
The actions to modify.
</param>
<param name="......">
KEY, VALUE, [KEY, VALUE], NULL
</param>
<remarks>
The known keys so far are "SyncDeviceLinkEntityNamesKey" which expects
an array of entity names, followed by a count paramter as well as
"SyncDeviceLinkAllRecordsOfPulledEntityTypeSentKey" which expects an
integer to use as a boolean value indicating that the device should
link submitted changes and report remapped identifiers.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.IMobileSyncApi.mobilesync_actions_free(iMobileDevi
ce.Plist.PlistHandle)">
<summary>
Free actions plist.
</summary>
<param name="actions">
The actions plist to free. Does nothing if NULL is passed.
</param>
</member>
<member name="T:iMobileDevice.MobileSync.MobileSyncAnchorsHandle">
<summary>
Represents a wrapper class for MobileSync handles.
</summary>
</member>
<member name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncAnchorsHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncAnchorsHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.DangerousCreate(System.Int
Ptr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileSync.MobileSyncAnchorsHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.DangerousCreate(System.Int
Ptr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileSync.MobileSyncAnchorsHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.op_Equality(iMobileDevice.
MobileSync.MobileSyncAnchorsHandle,iMobileDevice.MobileSync.MobileSyncAnchorsHandle
)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileSync.MobileSyncAnchorsHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncAnchorsHandle.op_Inequality(iMobileDevic
e.MobileSync.MobileSyncAnchorsHandle,iMobileDevice.MobileSync.MobileSyncAnchorsHand
le)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileSync.MobileSyncAnchorsHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="F:iMobileDevice.MobileSync.MobileSyncApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileSync.MobileSyncApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.#ctor(iMobileDevice.ILibiMobileDevic
e)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.MobileSync"/>.
</param>
</member>
<member name="P:iMobileDevice.MobileSync.MobileSyncApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_client_new(iMobileDevice.
iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobil
eDevice.MobileSync.MobileSyncClientHandle@)">
<summary>
Connects to the mobilesync service on the specified device.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one or more parameters are invalid
DEVICE_LINK_SERVICE_E_BAD_VERSION if the mobilesync version on
the device is newer.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
#mobilesync_client_t upon successful return.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_client_start_service(iMob
ileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileSync.MobileSyncClientHandle@,Sy
stem.String)">
<summary>
Starts a new mobilesync service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilesync_client_t upon successful return. Must be freed using
mobilesync_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILESYNC_E_SUCCESS on success, or an MOBILESYNC_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_client_free(System.IntPtr
)">
<summary>
Disconnects a mobilesync client from the device and frees up the
mobilesync client data.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if
is NULL.
</summary>
<param name="client">
The mobilesync client to disconnect and free.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_receive(iMobileDevice.Mob
ileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Polls the device for mobilesync data.
</summary>
<param name="client">
The mobilesync client
</param>
<param name="plist">
A pointer to the location where the plist should be stored
</param>
<returns>
an error code
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_send(iMobileDevice.Mobile
Sync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends mobilesync data to the device
</summary>
<param name="client">
The mobilesync client
</param>
<param name="plist">
The location of the plist to send
</param>
<returns>
an error code
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_start(iMobileDevice.Mobil
eSync.MobileSyncClientHandle,System.Byte[],iMobileDevice.MobileSync.MobileSyncAncho
rsHandle,System.UInt64,iMobileDevice.MobileSync.MobileSyncSyncType@,System.UInt64@,
System.String@)">
<summary>
Requests starting synchronization of a data class with the device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
MOBILESYNC_E_SYNC_REFUSED if the device refused to sync
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
sync request
</summary>
<param name="client">
The mobilesync client
</param>
<param name="data_class">
The data class identifier to sync
</param>
<param name="anchors">
The anchors required to exchange with the device. The anchors
allow the device to tell if the synchronization information on the
computer
and device are consistent to determine what sync type is required.
</param>
<param name="computer_data_class_version">
The version of the data class storage on the computer
</param>
<param name="sync_type">
A pointer to store the sync type reported by the device_anchor
</param>
<param name="device_data_class_version">
The version of the data class storage on the device
</param>
<param name="error_description">
A pointer to store an error message if reported by the device
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_cancel(iMobileDevice.Mobi
leSync.MobileSyncClientHandle,System.String)">
<summary>
Cancels a running synchronization session with a device at any time.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
<param name="reason">
The reason to supply to the device for cancelling
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_finish(iMobileDevice.Mobi
leSync.MobileSyncClientHandle)">
<summary>
Finish a synchronization session of a data class on the device.
A session must have previously been started using mobilesync_start().
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid
form
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_get_all_records_from_devi
ce(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests to receive all records of the currently set data class from
the device.
The actually changes are retrieved using mobilesync_receive_changes()
after this
request has been successful.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_get_changes_from_device(i
MobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests to receive only changed records of the currently set data
class from the device.
The actually changes are retrieved using mobilesync_receive_changes()
after this
request has been successful.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_clear_all_records_on_devi
ce(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests the device to delete all records of the current data class
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
</summary>
<param name="client">
The mobilesync client
</param>
<remarks>
The operation must be called after starting synchronization.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_receive_changes(iMobileDe
vice.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@,System.Char
@,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives changed entitites of the currently set data class from the
device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
</summary>
<param name="client">
The mobilesync client
</param>
<param name="entities">
A pointer to store the changed entity records as a PLIST_DICT
</param>
<param name="is_last_record">
A pointer to store a flag indicating if this submission is the last one
</param>
<param name="actions">
A pointer to additional flags the device is sending or NULL to ignore
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_acknowledge_changes_from_
device(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Acknowledges to the device that the changes have been merged on the
computer
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_ready_to_send_changes_fro
m_computer(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Verifies if the device is ready to receive changes from the computer.
This call changes the synchronization direction so that
mobilesync_send_changes()
can be used to send changes to the device.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
MOBILESYNC_E_NOT_READY if the device is not ready to start
receiving any changes
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_send_changes(iMobileDevic
e.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle,System.Char,iMo
bileDevice.Plist.PlistHandle)">
<summary>
Sends changed entities of the currently set data class to the device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid,
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
</summary>
<param name="client">
The mobilesync client
</param>
<param name="entities">
The changed entity records as a PLIST_DICT
</param>
<param name="is_last_record">
A flag indicating if this submission is the last one
</param>
<param name="actions">
Additional actions for the device created with mobilesync_actions_new()
or NULL if no actions should be passed
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_remap_identifiers(iMobile
Device.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives any remapped identifiers reported after the device merged
submitted changes.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid
form
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
</summary>
<param name="client">
The mobilesync client
</param>
<param name="mapping">
A pointer to an array plist containing a dict of identifier remappings
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_anchors_new(System.String
,System.String,iMobileDevice.MobileSync.MobileSyncAnchorsHandle@)">
<summary>
Allocates memory for a new anchors struct initialized with the passed
anchors.
MOBILESYNC_E_SUCCESS on success
</summary>
<param name="device_anchor">
An anchor the device reported the last time or NULL
if none is known yet which for instance is true on first
synchronization.
</param>
<param name="computer_anchor">
An arbitrary string to use as anchor for the computer.
</param>
<param name="client">
Pointer that will be set to a newly allocated
#mobilesync_anchors_t struct. Must be freed using
mobilesync_anchors_free().
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_anchors_free(System.IntPt
r)">
<summary>
Free memory used by anchors.
MOBILESYNC_E_SUCCESS on success
</summary>
<param name="anchors">
The anchors to free.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_actions_new">
<summary>
Create a new actions plist to use in mobilesync_send_changes().
</summary>
<returns>
A new plist_t of type PLIST_DICT.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_actions_add(iMobileDevice
.Plist.PlistHandle)">
<summary>
Add one or more new key:value pairs to the given actions plist.
</summary>
<param name="actions">
The actions to modify.
</param>
<param name="......">
KEY, VALUE, [KEY, VALUE], NULL
</param>
<remarks>
The known keys so far are "SyncDeviceLinkEntityNamesKey" which expects
an array of entity names, followed by a count paramter as well as
"SyncDeviceLinkAllRecordsOfPulledEntityTypeSentKey" which expects an
integer to use as a boolean value indicating that the device should
link submitted changes and report remapped identifiers.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncApi.mobilesync_actions_free(iMobileDevic
e.Plist.PlistHandle)">
<summary>
Free actions plist.
</summary>
<param name="actions">
The actions plist to free. Does nothing if NULL is passed.
</param>
</member>
<member name="T:iMobileDevice.MobileSync.MobileSyncClientHandle">
<summary>
Represents a wrapper class for MobileSync handles.
</summary>
</member>
<member name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.MobileSync.MobileSyncClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.MobileSync.MobileSyncClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.DangerousCreate(System.IntP
tr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileSync.MobileSyncClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.DangerousCreate(System.IntP
tr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.MobileSync.MobileSyncClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.op_Equality(iMobileDevice.M
obileSync.MobileSyncClientHandle,iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileSync.MobileSyncClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncClientHandle.op_Inequality(iMobileDevice
.MobileSync.MobileSyncClientHandle,iMobileDevice.MobileSync.MobileSyncClientHandle)
">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.MobileSync.MobileSyncClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.MobileSync.MobileSyncError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.MobileSync.MobileSyncException">
Represents an exception that occurred when interacting with the
MobileSync API.
</member>
<member name="F:iMobileDevice.MobileSync.MobileSyncException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.MobileSync.MobileSyncException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.MobileSync.MobileSyncException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncException.#ctor(iMobileDevice.MobileSync
.MobileSyncError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncException"/> class with a specified
error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncException.#ctor(iMobileDevice.MobileSync
.MobileSyncError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncException"/> class with a specified
error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncException"/> class with a specified
error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncException.#ctor(System.String,System.Exc
eption)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncException"/> class with a specified
error message and a reference to the inner exception that is the cause of this
exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncException.#ctor(System.Runtime.Serializa
tion.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.MobileSync.MobileSyncException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.MobileSync.MobileSyncException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_client_new(iMob
ileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHan
dle,iMobileDevice.MobileSync.MobileSyncClientHandle@)">
<summary>
Connects to the mobilesync service on the specified device.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one or more parameters are invalid
DEVICE_LINK_SERVICE_E_BAD_VERSION if the mobilesync version on
the device is newer.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
#mobilesync_client_t upon successful return.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_client_start_se
rvice(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.MobileSync.MobileSyncClient
Handle@,System.String)">
<summary>
Starts a new mobilesync service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
mobilesync_client_t upon successful return. Must be freed using
mobilesync_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
MOBILESYNC_E_SUCCESS on success, or an MOBILESYNC_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_client_free(Sys
tem.IntPtr)">
<summary>
Disconnects a mobilesync client from the device and frees up the
mobilesync client data.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if
is NULL.
</summary>
<param name="client">
The mobilesync client to disconnect and free.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_receive(iMobile
Device.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Polls the device for mobilesync data.
</summary>
<param name="client">
The mobilesync client
</param>
<param name="plist">
A pointer to the location where the plist should be stored
</param>
<returns>
an error code
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_send(iMobileDev
ice.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends mobilesync data to the device
</summary>
<param name="client">
The mobilesync client
</param>
<param name="plist">
The location of the plist to send
</param>
<returns>
an error code
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_start(iMobileDe
vice.MobileSync.MobileSyncClientHandle,System.Byte[],iMobileDevice.MobileSync.Mobil
eSyncAnchorsHandle,System.UInt64,iMobileDevice.MobileSync.MobileSyncSyncType@,Syste
m.UInt64@,System.IntPtr@)">
<summary>
Requests starting synchronization of a data class with the device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
MOBILESYNC_E_SYNC_REFUSED if the device refused to sync
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
sync request
</summary>
<param name="client">
The mobilesync client
</param>
<param name="data_class">
The data class identifier to sync
</param>
<param name="anchors">
The anchors required to exchange with the device. The anchors
allow the device to tell if the synchronization information on the
computer
and device are consistent to determine what sync type is required.
</param>
<param name="computer_data_class_version">
The version of the data class storage on the computer
</param>
<param name="sync_type">
A pointer to store the sync type reported by the device_anchor
</param>
<param name="device_data_class_version">
The version of the data class storage on the device
</param>
<param name="error_description">
A pointer to store an error message if reported by the device
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_cancel(iMobileD
evice.MobileSync.MobileSyncClientHandle,System.String)">
<summary>
Cancels a running synchronization session with a device at any time.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
<param name="reason">
The reason to supply to the device for cancelling
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_finish(iMobileD
evice.MobileSync.MobileSyncClientHandle)">
<summary>
Finish a synchronization session of a data class on the device.
A session must have previously been started using mobilesync_start().
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid
form
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_get_all_records
_from_device(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests to receive all records of the currently set data class from
the device.
The actually changes are retrieved using mobilesync_receive_changes()
after this
request has been successful.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_get_changes_fro
m_device(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests to receive only changed records of the currently set data
class from the device.
The actually changes are retrieved using mobilesync_receive_changes()
after this
request has been successful.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_clear_all_recor
ds_on_device(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Requests the device to delete all records of the current data class
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
</summary>
<param name="client">
The mobilesync client
</param>
<remarks>
The operation must be called after starting synchronization.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_receive_changes
(iMobileDevice.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@,S
ystem.Char@,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives changed entitites of the currently set data class from the
device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
</summary>
<param name="client">
The mobilesync client
</param>
<param name="entities">
A pointer to store the changed entity records as a PLIST_DICT
</param>
<param name="is_last_record">
A pointer to store a flag indicating if this submission is the last one
</param>
<param name="actions">
A pointer to additional flags the device is sending or NULL to ignore
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_acknowledge_cha
nges_from_device(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Acknowledges to the device that the changes have been merged on the
computer
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_ready_to_send_c
hanges_from_computer(iMobileDevice.MobileSync.MobileSyncClientHandle)">
<summary>
Verifies if the device is ready to receive changes from the computer.
This call changes the synchronization direction so that
mobilesync_send_changes()
can be used to send changes to the device.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid form
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
MOBILESYNC_E_NOT_READY if the device is not ready to start
receiving any changes
</summary>
<param name="client">
The mobilesync client
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_send_changes(iM
obileDevice.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle,Syste
m.Char,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends changed entities of the currently set data class to the device
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid,
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
</summary>
<param name="client">
The mobilesync client
</param>
<param name="entities">
The changed entity records as a PLIST_DICT
</param>
<param name="is_last_record">
A flag indicating if this submission is the last one
</param>
<param name="actions">
Additional actions for the device created with mobilesync_actions_new()
or NULL if no actions should be passed
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_remap_identifie
rs(iMobileDevice.MobileSync.MobileSyncClientHandle,iMobileDevice.Plist.PlistHandle@
)">
<summary>
Receives any remapped identifiers reported after the device merged
submitted changes.
MOBILESYNC_E_SUCCESS on success
MOBILESYNC_E_INVALID_ARG if one of the parameters is invalid
MOBILESYNC_E_PLIST_ERROR if the received plist is not of valid
form
MOBILESYNC_E_WRONG_DIRECTION if the current sync direction does
not permit this call
MOBILESYNC_E_CANCELLED if the device explicitly cancelled the
session
</summary>
<param name="client">
The mobilesync client
</param>
<param name="mapping">
A pointer to an array plist containing a dict of identifier remappings
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_anchors_new(Sys
tem.String,System.String,iMobileDevice.MobileSync.MobileSyncAnchorsHandle@)">
<summary>
Allocates memory for a new anchors struct initialized with the passed
anchors.
MOBILESYNC_E_SUCCESS on success
</summary>
<param name="device_anchor">
An anchor the device reported the last time or NULL
if none is known yet which for instance is true on first
synchronization.
</param>
<param name="computer_anchor">
An arbitrary string to use as anchor for the computer.
</param>
<param name="client">
Pointer that will be set to a newly allocated
#mobilesync_anchors_t struct. Must be freed using
mobilesync_anchors_free().
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_anchors_free(Sy
stem.IntPtr)">
<summary>
Free memory used by anchors.
MOBILESYNC_E_SUCCESS on success
</summary>
<param name="anchors">
The anchors to free.
</param>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_actions_new">
<summary>
Create a new actions plist to use in mobilesync_send_changes().
</summary>
<returns>
A new plist_t of type PLIST_DICT.
</returns>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_actions_add(iMo
bileDevice.Plist.PlistHandle)">
<summary>
Add one or more new key:value pairs to the given actions plist.
</summary>
<param name="actions">
The actions to modify.
</param>
<param name="......">
KEY, VALUE, [KEY, VALUE], NULL
</param>
<remarks>
The known keys so far are "SyncDeviceLinkEntityNamesKey" which expects
an array of entity names, followed by a count paramter as well as
"SyncDeviceLinkAllRecordsOfPulledEntityTypeSentKey" which expects an
integer to use as a boolean value indicating that the device should
link submitted changes and report remapped identifiers.
</remarks>
</member>
<member
name="M:iMobileDevice.MobileSync.MobileSyncNativeMethods.mobilesync_actions_free(iM
obileDevice.Plist.PlistHandle)">
<summary>
Free actions plist.
</summary>
<param name="actions">
The actions plist to free. Does nothing if NULL is passed.
</param>
</member>
<member name="T:iMobileDevice.MobileSync.MobileSyncSyncType">
<summary>
The sync type of the current sync session.
</summary>
</member>
<member name="F:iMobileDevice.MobileSync.MobileSyncSyncType.SyncTypeReset">
<summary>
Reset-sync signals that the computer should send all data again.
</summary>
</member>
<member name="T:iMobileDevice.NativeLibraries">
<summary>
Provides access to the native libimobiledevice libraries. Theses are
the .dll, .so or .dylib files libimobiledevice-net uses.
</summary>
</member>
<member name="P:iMobileDevice.NativeLibraries.LibraryFound">
<summary>
Gets or sets a value indicating whether the native libraries have been
found. This value is only relevant on the full .NET Framework;
it is always set to <see langword="true"/> on .NET Core.
</summary>
</member>
<member name="M:iMobileDevice.NativeLibraries.Load">
<summary>
Loads the native libraries.
</summary>
</member>
<member name="M:iMobileDevice.NativeLibraries.Load(System.String)">
<summary>
Loads the native libraries.
</summary>
<param name="directory">
The path in which the native libraries are located.
</param>
</member>
<member name="F:iMobileDevice.NativeMethods.Kernel32">
<summary>
The name of the <c>kernel32</c> library
</summary>
</member>
<member name="M:iMobileDevice.NativeMethods.LoadLibrary(System.String)">
<summary>
Loads the specified module into the address space of the calling
process. The specified module may cause other modules to be loaded.
</summary>
<param name="dllToLoad">
<para>
The name of the module. This can be either a library module (a
<c>.dll</c> file) or an executable module (an <c>.exe</c> file).
The name specified is the file name of the module and is not related to
the name stored in the library module itself,
as specified by the LIBRARY keyword in the module-definition
(<c>.def</c>) file.
</para>
<para>
If the string specifies a full path, the function searches only that
path for the module.
</para>
<para>
If the string specifies a relative path or a module name without a
path, the function uses a standard search strategy
to find the module; for more information, see the Remarks.
</para>
<para>
If the function cannot find the module, the function fails. When
specifying a path, be sure to use backslashes (<c>\</c>),
not forward slashes (<c>/</c>). For more information about paths, see
Naming a File or Directory.
</para>
<para>
If the string specifies a module name without a path and the file name
extension is omitted, the function appends the
default library extension <c>.dll</c> to the module name. To prevent
the function from appending <c>.dll</c> to the module name,
include a trailing point character (<c>.</c>) in the module name
string.
</para>
</param>
<returns>
If the function succeeds, the return value is a handle to the module.
If the function fails, the return value is <see
cref="F:System.IntPtr.Zero"/>. To get extended error information, call
<see
cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.
</returns>
<seealso href="http://msdn.microsoft.com/en-
us/library/windows/desktop/ms684175(v=vs.85).aspx"/>
</member>
<member
name="M:iMobileDevice.NativeMethods.dlopen(System.String,iMobileDevice.DlOpenFlags)
">
<summary>
The function <see
cref="M:iMobileDevice.NativeMethods.dlopen(System.String,iMobileDevice.DlOpenFlags)
"/> loads the dynamic library file named by the
null-terminated string filename.
</summary>
<param name="filename">
The path to the file to open.
</param>
<param name="flags">
A value of the <see cref="T:iMobileDevice.DlOpenFlags"/> enumeration
specifying how the
dynamic library file is openend.
</param>
<returns>
Returns an opaque "handle" for the dynamic library.
</returns>
<remarks>
This method works on Linux only.
</remarks>
<seealso href="http://linux.die.net/man/3/dlopen"/>
</member>
<member name="M:iMobileDevice.NativeMethods.dlerror">
<summary>
The function <see cref="M:iMobileDevice.NativeMethods.dlerror"/>
returns a human readable string describing the most
recent error that occurred from <see
cref="M:iMobileDevice.NativeMethods.dlopen(System.String,iMobileDevice.DlOpenFlags)
"/>, or <see cref="!:dlclose"/> since
the last call to <see cref="M:iMobileDevice.NativeMethods.dlerror"/>.
It returns <see cref="F:System.IntPtr.Zero"/> if no errors
have occurred since initialization or since it was last called.
</summary>
<returns>
A pointer to a human readable string describing the error, or <see
cref="F:System.IntPtr.Zero"/>
if no error occurred.
</returns>
<remarks>
This method works on Linux only.
</remarks>
<seealso href="http://linux.die.net/man/3/dlopen"/>
</member>
<member
name="P:iMobileDevice.NotificationProxy.INotificationProxyApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.NotificationProxy"/>.
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.INotificationProxyApi.np_client_new(iMobile
Device.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle
,iMobileDevice.NotificationProxy.NotificationProxyClientHandle@)">
<summary>
Connects to the notification_proxy on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated np_client_t
upon successful return.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when device is NULL,
or NP_E_CONN_FAILED when the connection to the device could not be
established.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.INotificationProxyApi.np_client_start_servi
ce(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.NotificationProxy.Notification
ProxyClientHandle@,System.String)">
<summary>
Starts a new notification proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
np_client_t upon successful return. Must be freed using
np_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
NP_E_SUCCESS on success, or an NP_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.INotificationProxyApi.np_client_free(System
.IntPtr)">
<summary>
Disconnects a notification_proxy client from the device and frees up
the
notification_proxy client data.
</summary>
<param name="client">
The notification_proxy client to disconnect and free.
</param>
<returns>
NP_E_SUCCESS on success, or NP_E_INVALID_ARG when client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.INotificationProxyApi.np_post_notification(
iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.String)">
<summary>
Sends a notification to the device's notification_proxy.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification">
The notification message to send
</param>
<returns>
NP_E_SUCCESS on success, or an error returned by np_plist_send
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.INotificationProxyApi.np_observe_notificati
on(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.String)">
<summary>
Tells the device to send a notification on the specified event.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification">
The notifications that should be observed.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when client or
notification are NULL, or an error returned by np_plist_send.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.INotificationProxyApi.np_observe_notificati
ons(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.String@)">
<summary>
Tells the device to send a notification on specified events.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification_spec">
Specification of the notifications that should be
observed. This is expected to be an array of const char* that MUST have
a
terminating NULL entry.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when client is null,
or an error returned by np_observe_notification.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.INotificationProxyApi.np_set_notify_callbac
k(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,iMobileDevice.Notif
icationProxy.NotificationProxyNotifyCallBack,System.IntPtr)">
<summary>
This function allows an application to define a callback function that
will
be called when a notification has been received.
It will start a thread that polls for notifications and calls the
callback
function if a notification has been received.
In case of an error condition when polling for notifications - e.g.
device
disconnect - the thread will call the callback function with an empty
notification "" and terminate itself.
</summary>
<param name="client">
the NP client
</param>
<param name="notify_cb">
pointer to a callback function or NULL to de-register a
previously set callback function.
</param>
<param name="user_data">
Pointer that will be passed to the callback function as
user data. If notify_cb is NULL, this parameter is ignored.
</param>
<returns>
NP_E_SUCCESS when the callback was successfully registered,
NP_E_INVALID_ARG when client is NULL, or NP_E_UNKNOWN_ERROR when
the callback thread could no be created.
</returns>
<remarks>
Only one callback function can be registered at the same time;
any previously set callback function will be removed automatically.
</remarks>
</member>
<member
name="F:iMobileDevice.NotificationProxy.NotificationProxyApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.NotificationProxy.NotificationProxyApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.#ctor(iMobileDevice.IL
ibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.NotificationProxy"/>.
</param>
</member>
<member
name="P:iMobileDevice.NotificationProxy.NotificationProxyApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.np_client_new(iMobileD
evice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,
iMobileDevice.NotificationProxy.NotificationProxyClientHandle@)">
<summary>
Connects to the notification_proxy on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated np_client_t
upon successful return.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when device is NULL,
or NP_E_CONN_FAILED when the connection to the device could not be
established.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.np_client_start_servic
e(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.NotificationProxy.NotificationP
roxyClientHandle@,System.String)">
<summary>
Starts a new notification proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
np_client_t upon successful return. Must be freed using
np_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
NP_E_SUCCESS on success, or an NP_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.np_client_free(System.
IntPtr)">
<summary>
Disconnects a notification_proxy client from the device and frees up
the
notification_proxy client data.
</summary>
<param name="client">
The notification_proxy client to disconnect and free.
</param>
<returns>
NP_E_SUCCESS on success, or NP_E_INVALID_ARG when client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.np_post_notification(i
MobileDevice.NotificationProxy.NotificationProxyClientHandle,System.String)">
<summary>
Sends a notification to the device's notification_proxy.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification">
The notification message to send
</param>
<returns>
NP_E_SUCCESS on success, or an error returned by np_plist_send
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.np_observe_notificatio
n(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.String)">
<summary>
Tells the device to send a notification on the specified event.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification">
The notifications that should be observed.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when client or
notification are NULL, or an error returned by np_plist_send.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.np_observe_notificatio
ns(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.String@)">
<summary>
Tells the device to send a notification on specified events.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification_spec">
Specification of the notifications that should be
observed. This is expected to be an array of const char* that MUST have
a
terminating NULL entry.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when client is null,
or an error returned by np_observe_notification.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyApi.np_set_notify_callback
(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,iMobileDevice.Notifi
cationProxy.NotificationProxyNotifyCallBack,System.IntPtr)">
<summary>
This function allows an application to define a callback function that
will
be called when a notification has been received.
It will start a thread that polls for notifications and calls the
callback
function if a notification has been received.
In case of an error condition when polling for notifications - e.g.
device
disconnect - the thread will call the callback function with an empty
notification "" and terminate itself.
</summary>
<param name="client">
the NP client
</param>
<param name="notify_cb">
pointer to a callback function or NULL to de-register a
previously set callback function.
</param>
<param name="user_data">
Pointer that will be passed to the callback function as
user data. If notify_cb is NULL, this parameter is ignored.
</param>
<returns>
NP_E_SUCCESS when the callback was successfully registered,
NP_E_INVALID_ARG when client is NULL, or NP_E_UNKNOWN_ERROR when
the callback thread could no be created.
</returns>
<remarks>
Only one callback function can be registered at the same time;
any previously set callback function will be removed automatically.
</remarks>
</member>
<member
name="T:iMobileDevice.NotificationProxy.NotificationProxyClientHandle">
<summary>
Represents a wrapper class for NotificationProxy handles.
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.#ctor(System.
Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.ReleaseHandle
">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.DangerousCrea
te(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.DangerousCrea
te(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.Equals(System
.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.op_Equality(i
MobileDevice.NotificationProxy.NotificationProxyClientHandle,iMobileDevice.Notifica
tionProxy.NotificationProxyClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyClientHandle.op_Inequality
(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,iMobileDevice.Notifi
cationProxy.NotificationProxyClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyClientHandle"/> are not
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.NotificationProxy.NotificationProxyError">
<summary>
Error Codes
</summary>
</member>
<member
name="T:iMobileDevice.NotificationProxy.NotificationProxyException">
Represents an exception that occurred when interacting with the
NotificationProxy API.
</member>
<member
name="F:iMobileDevice.NotificationProxy.NotificationProxyException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.NotificationProxy.NotificationProxyException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyException.#ctor(iMobileDev
ice.NotificationProxy.NotificationProxyError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyException"/> class with a
specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyException.#ctor(iMobileDev
ice.NotificationProxy.NotificationProxyError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyException"/> class with a
specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyException.#ctor(System.Str
ing)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyException"/> class with a
specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyException.#ctor(System.Str
ing,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyException"/> class with a
specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyException.#ctor(System.Run
time.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.NotificationProxy.NotificationProxyException"/> class with
serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.NotificationProxy.NotificationProxyException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyNativeMethods.np_client_ne
w(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescrip
torHandle,iMobileDevice.NotificationProxy.NotificationProxyClientHandle@)">
<summary>
Connects to the notification_proxy on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated np_client_t
upon successful return.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when device is NULL,
or NP_E_CONN_FAILED when the connection to the device could not be
established.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyNativeMethods.np_client_st
art_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.NotificationProxy.Not
ificationProxyClientHandle@,System.String)">
<summary>
Starts a new notification proxy service on the specified device and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
np_client_t upon successful return. Must be freed using
np_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
NP_E_SUCCESS on success, or an NP_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyNativeMethods.np_client_fr
ee(System.IntPtr)">
<summary>
Disconnects a notification_proxy client from the device and frees up
the
notification_proxy client data.
</summary>
<param name="client">
The notification_proxy client to disconnect and free.
</param>
<returns>
NP_E_SUCCESS on success, or NP_E_INVALID_ARG when client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyNativeMethods.np_post_noti
fication(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.Strin
g)">
<summary>
Sends a notification to the device's notification_proxy.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification">
The notification message to send
</param>
<returns>
NP_E_SUCCESS on success, or an error returned by np_plist_send
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyNativeMethods.np_observe_n
otification(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.St
ring)">
<summary>
Tells the device to send a notification on the specified event.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification">
The notifications that should be observed.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when client or
notification are NULL, or an error returned by np_plist_send.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyNativeMethods.np_observe_n
otifications(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,System.I
ntPtr@)">
<summary>
Tells the device to send a notification on specified events.
</summary>
<param name="client">
The client to send to
</param>
<param name="notification_spec">
Specification of the notifications that should be
observed. This is expected to be an array of const char* that MUST have
a
terminating NULL entry.
</param>
<returns>
NP_E_SUCCESS on success, NP_E_INVALID_ARG when client is null,
or an error returned by np_observe_notification.
</returns>
</member>
<member
name="M:iMobileDevice.NotificationProxy.NotificationProxyNativeMethods.np_set_notif
y_callback(iMobileDevice.NotificationProxy.NotificationProxyClientHandle,iMobileDev
ice.NotificationProxy.NotificationProxyNotifyCallBack,System.IntPtr)">
<summary>
This function allows an application to define a callback function that
will
be called when a notification has been received.
It will start a thread that polls for notifications and calls the
callback
function if a notification has been received.
In case of an error condition when polling for notifications - e.g.
device
disconnect - the thread will call the callback function with an empty
notification "" and terminate itself.
</summary>
<param name="client">
the NP client
</param>
<param name="notify_cb">
pointer to a callback function or NULL to de-register a
previously set callback function.
</param>
<param name="user_data">
Pointer that will be passed to the callback function as
user data. If notify_cb is NULL, this parameter is ignored.
</param>
<returns>
NP_E_SUCCESS when the callback was successfully registered,
NP_E_INVALID_ARG when client is NULL, or NP_E_UNKNOWN_ERROR when
the callback thread could no be created.
</returns>
<remarks>
Only one callback function can be registered at the same time;
any previously set callback function will be removed automatically.
</remarks>
</member>
<member name="P:iMobileDevice.Pinvoke.IPinvokeApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Pinvoke"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Pinvoke.IPinvokeApi.pinvoke_free_string(System.IntPtr)">
<summary>
Frees a string that was previously allocated by libimobiledevice.
</summary>
<param name="string">
The string to free.
</param>
<returns>
Always returns PINVOKE_E_SUCCESS.
</returns>
</member>
<member
name="M:iMobileDevice.Pinvoke.IPinvokeApi.pinvoke_get_string_length(System.IntPtr,S
ystem.UInt64@)">
<summary>
Gets the size of a string that was previously allocated by
libimobiledevice.
</summary>
<param name="string">
The string of which to get its size.
</param>
<param name="length">
The length of the string, in bytes.
</param>
<returns>
Always returns PINVOKE_E_SUCCESS.
</returns>
</member>
<member name="F:iMobileDevice.Pinvoke.PinvokeApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Pinvoke.PinvokeApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Pinvoke.PinvokeApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Pinvoke"/>.
</param>
</member>
<member name="P:iMobileDevice.Pinvoke.PinvokeApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeApi.pinvoke_free_string(System.IntPtr)">
<summary>
Frees a string that was previously allocated by libimobiledevice.
</summary>
<param name="string">
The string to free.
</param>
<returns>
Always returns PINVOKE_E_SUCCESS.
</returns>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeApi.pinvoke_get_string_length(System.IntPtr,Sy
stem.UInt64@)">
<summary>
Gets the size of a string that was previously allocated by
libimobiledevice.
</summary>
<param name="string">
The string of which to get its size.
</param>
<param name="length">
The length of the string, in bytes.
</param>
<returns>
Always returns PINVOKE_E_SUCCESS.
</returns>
</member>
<member name="T:iMobileDevice.Pinvoke.PinvokeError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Pinvoke.PinvokeException">
Represents an exception that occurred when interacting with the Pinvoke
API.
</member>
<member name="F:iMobileDevice.Pinvoke.PinvokeException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Pinvoke.PinvokeException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Pinvoke.PinvokeException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Pinvoke.PinvokeException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeException.#ctor(iMobileDevice.Pinvoke.PinvokeE
rror)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Pinvoke.PinvokeException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeException.#ctor(iMobileDevice.Pinvoke.PinvokeE
rror,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Pinvoke.PinvokeException"/> class with a specified error code
and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Pinvoke.PinvokeException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeException.#ctor(System.String,System.Exception
)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Pinvoke.PinvokeException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeException.#ctor(System.Runtime.Serialization.S
erializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Pinvoke.PinvokeException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Pinvoke.PinvokeException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeNativeMethods.pinvoke_free_string(System.IntPt
r)">
<summary>
Frees a string that was previously allocated by libimobiledevice.
</summary>
<param name="string">
The string to free.
</param>
<returns>
Always returns PINVOKE_E_SUCCESS.
</returns>
</member>
<member
name="M:iMobileDevice.Pinvoke.PinvokeNativeMethods.pinvoke_get_string_length(System
.IntPtr,System.UInt64@)">
<summary>
Gets the size of a string that was previously allocated by
libimobiledevice.
</summary>
<param name="string">
The string of which to get its size.
</param>
<param name="length">
The length of the string, in bytes.
</param>
<returns>
Always returns PINVOKE_E_SUCCESS.
</returns>
</member>
<member name="P:iMobileDevice.Plist.IPlistApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Plist"/>.
</summary>
</member>
<member name="M:iMobileDevice.Plist.IPlistApi.plist_new_dict">
<summary>
Create a new root plist_t type #PLIST_DICT
</summary>
<returns>
the created plist
</returns>
</member>
<member name="M:iMobileDevice.Plist.IPlistApi.plist_new_array">
<summary>
Create a new root plist_t type #PLIST_ARRAY
</summary>
<returns>
the created plist
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_new_string(System.String)">
<summary>
Create a new plist_t type #PLIST_STRING
</summary>
<param name="val">
the sting value, encoded in UTF8.
</param>
<returns>
the created item
</returns>
</member>
<member name="M:iMobileDevice.Plist.IPlistApi.plist_new_bool(System.Char)">
<summary>
Create a new plist_t type #PLIST_BOOLEAN
</summary>
<param name="val">
the boolean value, 0 is false, other values are true.
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_new_uint(System.UInt64)">
<summary>
Create a new plist_t type #PLIST_UINT
</summary>
<param name="val">
the unsigned integer value
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_new_real(System.Double)">
<summary>
Create a new plist_t type #PLIST_REAL
</summary>
<param name="val">
the real value
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_new_data(System.String,System.UInt64)">
<summary>
Create a new plist_t type #PLIST_DATA
</summary>
<param name="val">
the binary buffer
</param>
<param name="length">
the length of the buffer
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_new_date(System.Int32,System.Int32)">
<summary>
Create a new plist_t type #PLIST_DATE
</summary>
<param name="sec">
the number of seconds since 01/01/2001
</param>
<param name="usec">
the number of microseconds
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_new_uid(System.UInt64)">
<summary>
Create a new plist_t type #PLIST_UID
</summary>
<param name="val">
the unsigned integer value
</param>
<returns>
the created item
</returns>
</member>
<member name="M:iMobileDevice.Plist.IPlistApi.plist_free(System.IntPtr)">
<summary>
Destruct a plist_t node and all its children recursively
</summary>
<param name="plist">
the plist to free
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_copy(iMobileDevice.Plist.PlistHandle)">
<summary>
Return a copy of passed node and it's children
</summary>
<param name="node">
the plist to copy
</param>
<returns>
copied plist
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_get_size(iMobileDevice.Plist.Plis
tHandle)">
<summary>
Get size of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<returns>
size of the #PLIST_ARRAY node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_get_item(iMobileDevice.Plist.Plis
tHandle,System.UInt32)">
<summary>
Get the nth item in a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="n">
the index of the item to get. Range is [0, array_size[
</param>
<returns>
the nth item or NULL if node is not of type #PLIST_ARRAY
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_get_item_index(iMobileDevice.Plis
t.PlistHandle)">
<summary>
Get the index of an item. item must be a member of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node
</param>
<returns>
the node index or UINT_MAX if node index can't be determined
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_set_item(iMobileDevice.Plist.Plis
tHandle,iMobileDevice.Plist.PlistHandle,System.UInt32)">
<summary>
Set the nth item in a #PLIST_ARRAY node.
The previous item at index n will be freed using #plist_free
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item at index n. The array is responsible for freeing item when
it is no longer needed.
</param>
<param name="n">
the index of the item to get. Range is [0, array_size[. Assert if n is
not in range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_append_item(iMobileDevice.Plist.P
listHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Append a new item at the end of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item. The array is responsible for freeing item when it is no
longer needed.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_insert_item(iMobileDevice.Plist.P
listHandle,iMobileDevice.Plist.PlistHandle,System.UInt32)">
<summary>
Insert a new item at position n in a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item to insert. The array is responsible for freeing item when
it is no longer needed.
</param>
<param name="n">
The position at which the node will be stored. Range is [0,
array_size[. Assert if n is not in range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_remove_item(iMobileDevice.Plist.P
listHandle,System.UInt32)">
<summary>
Remove an existing position in a #PLIST_ARRAY node.
Removed position will be freed using #plist_free.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="n">
The position to remove. Range is [0, array_size[. Assert if n is not in
range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_item_remove(iMobileDevice.Plist.P
listHandle)">
<summary>
Remove a node that is a child node of a #PLIST_ARRAY node.
node will be freed using #plist_free.
</summary>
<param name="node">
The node to be removed from its #PLIST_ARRAY parent.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_new_iter(iMobileDevice.Plist.Plis
tHandle,iMobileDevice.Plist.PlistArrayIterHandle@)">
<summary>
Create an iterator of a #PLIST_ARRAY node.
The allocated iterator should be freed with the standard free function.
</summary>
<param name="node">
The node of type #PLIST_ARRAY
</param>
<param name="iter">
Location to store the iterator for the array.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_array_next_item(iMobileDevice.Plist.Pli
stHandle,iMobileDevice.Plist.PlistArrayIterHandle,iMobileDevice.Plist.PlistHandle@)
">
<summary>
Increment iterator of a #PLIST_ARRAY node.
</summary>
<param name="node">
The node of type #PLIST_ARRAY.
</param>
<param name="iter">
Iterator of the array
</param>
<param name="item">
Location to store the item. The caller must *not* free the
returned item. Will be set to NULL when no more items are left
to iterate.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_get_size(iMobileDevice.Plist.Plist
Handle)">
<summary>
Get size of a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<returns>
size of the #PLIST_DICT node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_new_iter(iMobileDevice.Plist.Plist
Handle,iMobileDevice.Plist.PlistDictIterHandle@)">
<summary>
Create an iterator of a #PLIST_DICT node.
The allocated iterator should be freed with the standard free function.
</summary>
<param name="node">
The node of type #PLIST_DICT.
</param>
<param name="iter">
Location to store the iterator for the dictionary.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_next_item(iMobileDevice.Plist.Plis
tHandle,iMobileDevice.Plist.PlistDictIterHandle,System.String@,iMobileDevice.Plist.
PlistHandle@)">
<summary>
Increment iterator of a #PLIST_DICT node.
</summary>
<param name="node">
The node of type #PLIST_DICT
</param>
<param name="iter">
Iterator of the dictionary
</param>
<param name="key">
Location to store the key, or NULL. The caller is responsible
for freeing the the returned string.
</param>
<param name="val">
Location to store the value, or NULL. The caller must *not*
free the returned value. Will be set to NULL when no more
key/value pairs are left to iterate.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_get_item_key(iMobileDevice.Plist.P
listHandle,System.String@)">
<summary>
Get key associated key to an item. Item must be member of a dictionary.
</summary>
<param name="node">
the item
</param>
<param name="key">
a location to store the key. The caller is responsible for freeing the
returned string.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_get_item(iMobileDevice.Plist.Plist
Handle,System.String)">
<summary>
Get the nth item in a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="key">
the identifier of the item to get.
</param>
<returns>
the item or NULL if node is not of type #PLIST_DICT. The caller should
not free
the returned node.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_item_get_key(iMobileDevice.Plist.P
listHandle)">
<summary>
Get key node associated to an item. Item must be member of a
dictionary.
</summary>
<param name="node">
the item
</param>
<returns>
the key node of the given item, or NULL.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_set_item(iMobileDevice.Plist.Plist
Handle,System.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Set item identified by key in a #PLIST_DICT node.
The previous item identified by key will be freed using #plist_free.
If there is no item for the given key a new item will be inserted.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="item">
the new item associated to key
</param>
<param name="key">
the identifier of the item to set.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_insert_item(iMobileDevice.Plist.Pl
istHandle,System.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Insert a new item into a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="item">
the new item to insert
</param>
<param name="key">
The identifier of the item to insert.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_remove_item(iMobileDevice.Plist.Pl
istHandle,System.String)">
<summary>
Remove an existing position in a #PLIST_DICT node.
Removed position will be freed using #plist_free
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="key">
The identifier of the item to remove. Assert if identifier is not
present.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_dict_merge(iMobileDevice.Plist.PlistHan
dle@,iMobileDevice.Plist.PlistHandle)">
<summary>
Merge a dictionary into another. This will add all key/value pairs
from the source dictionary to the target dictionary, overwriting
any existing key/value pairs that are already present in target.
</summary>
<param name="target">
pointer to an existing node of type #PLIST_DICT
</param>
<param name="source">
node of type #PLIST_DICT that should be merged into target
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_parent(iMobileDevice.Plist.PlistHan
dle)">
<summary>
Get the parent of a node
</summary>
<param name="node">
the parent (NULL if node is root)
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_node_type(iMobileDevice.Plist.Plist
Handle)">
<summary>
Get the #plist_type of a node.
</summary>
<param name="node">
the node
</param>
<returns>
the type of the node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_key_val(iMobileDevice.Plist.PlistHa
ndle,System.String@)">
<summary>
Get the value of a #PLIST_KEY node.
This function does nothing if node is not of type #PLIST_KEY
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_string_val(iMobileDevice.Plist.Plis
tHandle,System.String@)">
<summary>
Get the value of a #PLIST_STRING node.
This function does nothing if node is not of type #PLIST_STRING
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it. Data is UTF-8 encoded.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_string_ptr(iMobileDevice.Plist.Plis
tHandle,System.UInt64@)">
<summary>
Get a pointer to the buffer of a #PLIST_STRING node.
</summary>
<param name="node">
The node
</param>
<param name="length">
If non-NULL, will be set to the length of the string
</param>
<returns>
Pointer to the NULL-terminated buffer.
</returns>
<remarks>
DO NOT MODIFY the buffer. Mind that the buffer is only available
until the plist node gets freed. Make a copy if needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_bool_val(iMobileDevice.Plist.PlistH
andle,System.Char@)">
<summary>
Get the value of a #PLIST_BOOLEAN node.
This function does nothing if node is not of type #PLIST_BOOLEAN
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint8_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_uint_val(iMobileDevice.Plist.PlistH
andle,System.UInt64@)">
<summary>
Get the value of a #PLIST_UINT node.
This function does nothing if node is not of type #PLIST_UINT
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint64_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_real_val(iMobileDevice.Plist.PlistH
andle,System.Double@)">
<summary>
Get the value of a #PLIST_REAL node.
This function does nothing if node is not of type #PLIST_REAL
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a double variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_data_val(iMobileDevice.Plist.PlistH
andle,System.String@,System.UInt64@)">
<summary>
Get the value of a #PLIST_DATA node.
This function does nothing if node is not of type #PLIST_DATA
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to an unallocated char buffer. This function allocates the
memory,
caller is responsible for freeing it.
</param>
<param name="length">
the length of the buffer
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_data_ptr(iMobileDevice.Plist.PlistH
andle,System.UInt64@)">
<summary>
Get a pointer to the data buffer of a #PLIST_DATA node.
</summary>
<param name="node">
The node
</param>
<param name="length">
Pointer to a uint64_t that will be set to the length of the buffer
</param>
<returns>
Pointer to the buffer
</returns>
<remarks>
DO NOT MODIFY the buffer. Mind that the buffer is only available
until the plist node gets freed. Make a copy if needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_date_val(iMobileDevice.Plist.PlistH
andle,System.Int32@,System.Int32@)">
<summary>
Get the value of a #PLIST_DATE node.
This function does nothing if node is not of type #PLIST_DATE
</summary>
<param name="node">
the node
</param>
<param name="sec">
a pointer to an int32_t variable. Represents the number of seconds
since 01/01/2001.
</param>
<param name="usec">
a pointer to an int32_t variable. Represents the number of microseconds
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_get_uid_val(iMobileDevice.Plist.PlistHa
ndle,System.UInt64@)">
<summary>
Get the value of a #PLIST_UID node.
This function does nothing if node is not of type #PLIST_UID
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint64_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_key_val(iMobileDevice.Plist.PlistHa
ndle,System.String)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_KEY
</summary>
<param name="node">
the node
</param>
<param name="val">
the key value
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_string_val(iMobileDevice.Plist.Plis
tHandle,System.String)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_STRING
</summary>
<param name="node">
the node
</param>
<param name="val">
the string value. The string is copied when set and will be
freed by the node.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_bool_val(iMobileDevice.Plist.PlistH
andle,System.Char)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_BOOLEAN
</summary>
<param name="node">
the node
</param>
<param name="val">
the boolean value
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_uint_val(iMobileDevice.Plist.PlistH
andle,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_UINT
</summary>
<param name="node">
the node
</param>
<param name="val">
the unsigned integer value
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_real_val(iMobileDevice.Plist.PlistH
andle,System.Double)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_REAL
</summary>
<param name="node">
the node
</param>
<param name="val">
the real value
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_data_val(iMobileDevice.Plist.PlistH
andle,System.String,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_DATA
</summary>
<param name="node">
the node
</param>
<param name="val">
the binary buffer. The buffer is copied when set and will
be freed by the node.
</param>
<param name="length">
the length of the buffer
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_date_val(iMobileDevice.Plist.PlistH
andle,System.Int32,System.Int32)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_DATE
</summary>
<param name="node">
the node
</param>
<param name="sec">
the number of seconds since 01/01/2001
</param>
<param name="usec">
the number of microseconds
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_set_uid_val(iMobileDevice.Plist.PlistHa
ndle,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_UID
</summary>
<param name="node">
the node
</param>
<param name="val">
the unsigned integer value
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_to_xml(iMobileDevice.Plist.PlistHandle,
System.String@,System.UInt32@)">
<summary>
Export the #plist_t structure to XML format.
</summary>
<param name="plist">
the root node to export
</param>
<param name="plist_xml">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it. Data is UTF-8 encoded.
</param>
<param name="length">
a pointer to an uint32_t variable. Represents the length of the
allocated buffer.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_to_xml_free(System.IntPtr)">
<summary>
Frees the memory allocated by plist_to_xml().
</summary>
<param name="plist_xml">
The buffer allocated by plist_to_xml().
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_to_bin(iMobileDevice.Plist.PlistHandle,
System.String@,System.UInt32@)">
<summary>
Export the #plist_t structure to binary format.
</summary>
<param name="plist">
the root node to export
</param>
<param name="plist_bin">
a pointer to a char* buffer. This function allocates the memory,
caller is responsible for freeing it.
</param>
<param name="length">
a pointer to an uint32_t variable. Represents the length of the
allocated buffer.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_to_bin_free(System.IntPtr)">
<summary>
Frees the memory allocated by plist_to_bin().
</summary>
<param name="plist_bin">
The buffer allocated by plist_to_bin().
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_from_xml(System.String,System.UInt32,iM
obileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from XML format.
</summary>
<param name="plist_xml">
a pointer to the xml buffer.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_from_bin(System.String,System.UInt32,iM
obileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from binary format.
</summary>
<param name="plist_bin">
a pointer to the xml buffer.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_from_memory(System.String,System.UInt32
,iMobileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from memory data.
This method will look at the first bytes of plist_data
to determine if plist_data contains a binary or XML plist.
</summary>
<param name="plist_data">
a pointer to the memory buffer containing plist data.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_is_binary(System.String,System.UInt32)"
>
<summary>
Test if in-memory plist data is binary or XML
This method will look at the first bytes of plist_data
to determine if plist_data contains a binary or XML plist.
This method is not validating the whole memory buffer to check if the
content is truly a plist, it's only using some heuristic on the first
few
bytes of plist_data.
</summary>
<param name="plist_data">
a pointer to the memory buffer containing plist data.
</param>
<param name="length">
length of the buffer to read.
</param>
<returns>
1 if the buffer is a binary plist, 0 otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_access_path(iMobileDevice.Plist.PlistHa
ndle,System.UInt32)">
<summary>
Get a node from its path. Each path element depends on the associated
father node type.
For Dictionaries, var args are casted to const char*, for arrays, var
args are caster to uint32_t
Search is breath first order.
</summary>
<param name="plist">
the node to access result from.
</param>
<param name="length">
length of the path to access
</param>
<returns>
the value to access.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_access_pathv(iMobileDevice.Plist.PlistH
andle,System.UInt32,System.IntPtr)">
<summary>
Variadic version of #plist_access_path.
</summary>
<param name="plist">
the node to access result from.
</param>
<param name="length">
length of the path to access
</param>
<param name="v">
list of array's index and dic'st key
</param>
<returns>
the value to access.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_compare_node_value(iMobileDevice.Plist.
PlistHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Compare two node values
</summary>
<param name="node_l">
left node to compare
</param>
<param name="node_r">
rigth node to compare
</param>
<returns>
TRUE is type and value match, FALSE otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_bool_val_is_true(iMobileDevice.Plist.Pl
istHandle)">
<summary>
Helper function to check the value of a PLIST_BOOL node.
</summary>
<param name="boolnode">
node of type PLIST_BOOL
</param>
<returns>
1 if the boolean node has a value of TRUE, 0 if FALSE,
or -1 if the node is not of type PLIST_BOOL
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_uint_val_compare(iMobileDevice.Plist.Pl
istHandle,System.UInt64)">
<summary>
Helper function to compare the value of a PLIST_UINT node against
a given value.
</summary>
<param name="uintnode">
node of type PLIST_UINT
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_uid_val_compare(iMobileDevice.Plist.Pli
stHandle,System.UInt64)">
<summary>
Helper function to compare the value of a PLIST_UID node against
a given value.
</summary>
<param name="uidnode">
node of type PLIST_UID
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_real_val_compare(iMobileDevice.Plist.Pl
istHandle,System.Double)">
<summary>
Helper function to compare the value of a PLIST_REAL node against
a given value.
</summary>
<param name="realnode">
node of type PLIST_REAL
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are (almost) equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
<remarks>
WARNING: Comparing floating point values can give inaccurate
results because of the nature of floating point values on computer
systems. While this function is designed to be as accurate as
possible, please don't rely on it too much.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_date_val_compare(iMobileDevice.Plist.Pl
istHandle,System.Int32,System.Int32)">
<summary>
Helper function to compare the value of a PLIST_DATE node against
a given set of seconds and fraction of a second since epoch.
</summary>
<param name="datenode">
node of type PLIST_DATE
</param>
<param name="cmpsec">
number of seconds since epoch to compare against
</param>
<param name="cmpusec">
fraction of a second in microseconds to compare against
</param>
<returns>
0 if the node's date is equal to the supplied values,
1 if the node's date is greater than the supplied values,
or -1 if the node's date is less than the supplied values.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.IPlistApi.plist_string_val_compare(iMobileDevice.Plist.Plist
Handle,System.String)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.IPlistApi.plist_string_val_compare_with_size(iMobileDevice.P
list.PlistHandle,System.String,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_string_val_contains(iMobileDevice.Plist
.PlistHandle,System.String)">
<summary>
Helper function to match a given substring in the value of a
PLIST_STRING node.
</summary>
<param name="strnode">
node of type PLIST_STRING
</param>
<param name="substr">
value to match
</param>
<returns>
1 if the node's value contains the given substring,
or 0 if not.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.IPlistApi.plist_key_val_compare(iMobileDevice.Plist.PlistHan
dle,System.String)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.IPlistApi.plist_key_val_compare_with_size(iMobileDevice.Plis
t.PlistHandle,System.String,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_key_val_contains(iMobileDevice.Plist.Pl
istHandle,System.String)">
<summary>
Helper function to match a given substring in the value of a
PLIST_KEY node.
</summary>
<param name="keynode">
node of type PLIST_KEY
</param>
<param name="substr">
value to match
</param>
<returns>
1 if the node's value contains the given substring,
or 0 if not.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.IPlistApi.plist_data_val_compare(iMobileDevice.Plist.PlistHa
ndle,System.Char@,System.UInt32)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.IPlistApi.plist_data_val_compare_with_size(iMobileDevice.Pli
st.PlistHandle,System.Char@,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.IPlistApi.plist_data_val_contains(iMobileDevice.Plist.P
listHandle,System.Char@,System.UInt32)">
<summary>
Helper function to match a given data blob within the value of a
PLIST_DATA node.
</summary>
<param name="datanode">
node of type PLIST_KEY
</param>
<param name="cmpval">
data blob to match
</param>
<param name="n">
size of data blob passed in cmpval
</param>
<returns>
1 if the node's value contains the given data blob
or 0 if not.
</returns>
</member>
<member name="F:iMobileDevice.Plist.PlistApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Plist.PlistApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Plist.PlistApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Plist"/>.
</param>
</member>
<member name="P:iMobileDevice.Plist.PlistApi.Parent">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Plist.PlistApi.plist_new_dict">
<summary>
Create a new root plist_t type #PLIST_DICT
</summary>
<returns>
the created plist
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistApi.plist_new_array">
<summary>
Create a new root plist_t type #PLIST_ARRAY
</summary>
<returns>
the created plist
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_new_string(System.String)">
<summary>
Create a new plist_t type #PLIST_STRING
</summary>
<param name="val">
the sting value, encoded in UTF8.
</param>
<returns>
the created item
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistApi.plist_new_bool(System.Char)">
<summary>
Create a new plist_t type #PLIST_BOOLEAN
</summary>
<param name="val">
the boolean value, 0 is false, other values are true.
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_new_uint(System.UInt64)">
<summary>
Create a new plist_t type #PLIST_UINT
</summary>
<param name="val">
the unsigned integer value
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_new_real(System.Double)">
<summary>
Create a new plist_t type #PLIST_REAL
</summary>
<param name="val">
the real value
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_new_data(System.String,System.UInt64)">
<summary>
Create a new plist_t type #PLIST_DATA
</summary>
<param name="val">
the binary buffer
</param>
<param name="length">
the length of the buffer
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_new_date(System.Int32,System.Int32)">
<summary>
Create a new plist_t type #PLIST_DATE
</summary>
<param name="sec">
the number of seconds since 01/01/2001
</param>
<param name="usec">
the number of microseconds
</param>
<returns>
the created item
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistApi.plist_new_uid(System.UInt64)">
<summary>
Create a new plist_t type #PLIST_UID
</summary>
<param name="val">
the unsigned integer value
</param>
<returns>
the created item
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistApi.plist_free(System.IntPtr)">
<summary>
Destruct a plist_t node and all its children recursively
</summary>
<param name="plist">
the plist to free
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_copy(iMobileDevice.Plist.PlistHandle)">
<summary>
Return a copy of passed node and it's children
</summary>
<param name="node">
the plist to copy
</param>
<returns>
copied plist
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_get_size(iMobileDevice.Plist.Plist
Handle)">
<summary>
Get size of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<returns>
size of the #PLIST_ARRAY node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_get_item(iMobileDevice.Plist.Plist
Handle,System.UInt32)">
<summary>
Get the nth item in a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="n">
the index of the item to get. Range is [0, array_size[
</param>
<returns>
the nth item or NULL if node is not of type #PLIST_ARRAY
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_get_item_index(iMobileDevice.Plist
.PlistHandle)">
<summary>
Get the index of an item. item must be a member of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node
</param>
<returns>
the node index or UINT_MAX if node index can't be determined
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_set_item(iMobileDevice.Plist.Plist
Handle,iMobileDevice.Plist.PlistHandle,System.UInt32)">
<summary>
Set the nth item in a #PLIST_ARRAY node.
The previous item at index n will be freed using #plist_free
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item at index n. The array is responsible for freeing item when
it is no longer needed.
</param>
<param name="n">
the index of the item to get. Range is [0, array_size[. Assert if n is
not in range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_append_item(iMobileDevice.Plist.Pl
istHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Append a new item at the end of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item. The array is responsible for freeing item when it is no
longer needed.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_insert_item(iMobileDevice.Plist.Pl
istHandle,iMobileDevice.Plist.PlistHandle,System.UInt32)">
<summary>
Insert a new item at position n in a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item to insert. The array is responsible for freeing item when
it is no longer needed.
</param>
<param name="n">
The position at which the node will be stored. Range is [0,
array_size[. Assert if n is not in range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_remove_item(iMobileDevice.Plist.Pl
istHandle,System.UInt32)">
<summary>
Remove an existing position in a #PLIST_ARRAY node.
Removed position will be freed using #plist_free.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="n">
The position to remove. Range is [0, array_size[. Assert if n is not in
range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_item_remove(iMobileDevice.Plist.Pl
istHandle)">
<summary>
Remove a node that is a child node of a #PLIST_ARRAY node.
node will be freed using #plist_free.
</summary>
<param name="node">
The node to be removed from its #PLIST_ARRAY parent.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_new_iter(iMobileDevice.Plist.Plist
Handle,iMobileDevice.Plist.PlistArrayIterHandle@)">
<summary>
Create an iterator of a #PLIST_ARRAY node.
The allocated iterator should be freed with the standard free function.
</summary>
<param name="node">
The node of type #PLIST_ARRAY
</param>
<param name="iter">
Location to store the iterator for the array.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_array_next_item(iMobileDevice.Plist.Plis
tHandle,iMobileDevice.Plist.PlistArrayIterHandle,iMobileDevice.Plist.PlistHandle@)"
>
<summary>
Increment iterator of a #PLIST_ARRAY node.
</summary>
<param name="node">
The node of type #PLIST_ARRAY.
</param>
<param name="iter">
Iterator of the array
</param>
<param name="item">
Location to store the item. The caller must *not* free the
returned item. Will be set to NULL when no more items are left
to iterate.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_get_size(iMobileDevice.Plist.PlistH
andle)">
<summary>
Get size of a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<returns>
size of the #PLIST_DICT node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_new_iter(iMobileDevice.Plist.PlistH
andle,iMobileDevice.Plist.PlistDictIterHandle@)">
<summary>
Create an iterator of a #PLIST_DICT node.
The allocated iterator should be freed with the standard free function.
</summary>
<param name="node">
The node of type #PLIST_DICT.
</param>
<param name="iter">
Location to store the iterator for the dictionary.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_next_item(iMobileDevice.Plist.Plist
Handle,iMobileDevice.Plist.PlistDictIterHandle,System.String@,iMobileDevice.Plist.P
listHandle@)">
<summary>
Increment iterator of a #PLIST_DICT node.
</summary>
<param name="node">
The node of type #PLIST_DICT
</param>
<param name="iter">
Iterator of the dictionary
</param>
<param name="key">
Location to store the key, or NULL. The caller is responsible
for freeing the the returned string.
</param>
<param name="val">
Location to store the value, or NULL. The caller must *not*
free the returned value. Will be set to NULL when no more
key/value pairs are left to iterate.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_get_item_key(iMobileDevice.Plist.Pl
istHandle,System.String@)">
<summary>
Get key associated key to an item. Item must be member of a dictionary.
</summary>
<param name="node">
the item
</param>
<param name="key">
a location to store the key. The caller is responsible for freeing the
returned string.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_get_item(iMobileDevice.Plist.PlistH
andle,System.String)">
<summary>
Get the nth item in a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="key">
the identifier of the item to get.
</param>
<returns>
the item or NULL if node is not of type #PLIST_DICT. The caller should
not free
the returned node.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_item_get_key(iMobileDevice.Plist.Pl
istHandle)">
<summary>
Get key node associated to an item. Item must be member of a
dictionary.
</summary>
<param name="node">
the item
</param>
<returns>
the key node of the given item, or NULL.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_set_item(iMobileDevice.Plist.PlistH
andle,System.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Set item identified by key in a #PLIST_DICT node.
The previous item identified by key will be freed using #plist_free.
If there is no item for the given key a new item will be inserted.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="item">
the new item associated to key
</param>
<param name="key">
the identifier of the item to set.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_insert_item(iMobileDevice.Plist.Pli
stHandle,System.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Insert a new item into a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="item">
the new item to insert
</param>
<param name="key">
The identifier of the item to insert.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_remove_item(iMobileDevice.Plist.Pli
stHandle,System.String)">
<summary>
Remove an existing position in a #PLIST_DICT node.
Removed position will be freed using #plist_free
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="key">
The identifier of the item to remove. Assert if identifier is not
present.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_dict_merge(iMobileDevice.Plist.PlistHand
le@,iMobileDevice.Plist.PlistHandle)">
<summary>
Merge a dictionary into another. This will add all key/value pairs
from the source dictionary to the target dictionary, overwriting
any existing key/value pairs that are already present in target.
</summary>
<param name="target">
pointer to an existing node of type #PLIST_DICT
</param>
<param name="source">
node of type #PLIST_DICT that should be merged into target
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_parent(iMobileDevice.Plist.PlistHand
le)">
<summary>
Get the parent of a node
</summary>
<param name="node">
the parent (NULL if node is root)
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_node_type(iMobileDevice.Plist.PlistH
andle)">
<summary>
Get the #plist_type of a node.
</summary>
<param name="node">
the node
</param>
<returns>
the type of the node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_key_val(iMobileDevice.Plist.PlistHan
dle,System.String@)">
<summary>
Get the value of a #PLIST_KEY node.
This function does nothing if node is not of type #PLIST_KEY
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_string_val(iMobileDevice.Plist.Plist
Handle,System.String@)">
<summary>
Get the value of a #PLIST_STRING node.
This function does nothing if node is not of type #PLIST_STRING
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it. Data is UTF-8 encoded.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_string_ptr(iMobileDevice.Plist.Plist
Handle,System.UInt64@)">
<summary>
Get a pointer to the buffer of a #PLIST_STRING node.
</summary>
<param name="node">
The node
</param>
<param name="length">
If non-NULL, will be set to the length of the string
</param>
<returns>
Pointer to the NULL-terminated buffer.
</returns>
<remarks>
DO NOT MODIFY the buffer. Mind that the buffer is only available
until the plist node gets freed. Make a copy if needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_bool_val(iMobileDevice.Plist.PlistHa
ndle,System.Char@)">
<summary>
Get the value of a #PLIST_BOOLEAN node.
This function does nothing if node is not of type #PLIST_BOOLEAN
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint8_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_uint_val(iMobileDevice.Plist.PlistHa
ndle,System.UInt64@)">
<summary>
Get the value of a #PLIST_UINT node.
This function does nothing if node is not of type #PLIST_UINT
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint64_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_real_val(iMobileDevice.Plist.PlistHa
ndle,System.Double@)">
<summary>
Get the value of a #PLIST_REAL node.
This function does nothing if node is not of type #PLIST_REAL
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a double variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_data_val(iMobileDevice.Plist.PlistHa
ndle,System.String@,System.UInt64@)">
<summary>
Get the value of a #PLIST_DATA node.
This function does nothing if node is not of type #PLIST_DATA
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to an unallocated char buffer. This function allocates the
memory,
caller is responsible for freeing it.
</param>
<param name="length">
the length of the buffer
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_data_ptr(iMobileDevice.Plist.PlistHa
ndle,System.UInt64@)">
<summary>
Get a pointer to the data buffer of a #PLIST_DATA node.
</summary>
<param name="node">
The node
</param>
<param name="length">
Pointer to a uint64_t that will be set to the length of the buffer
</param>
<returns>
Pointer to the buffer
</returns>
<remarks>
DO NOT MODIFY the buffer. Mind that the buffer is only available
until the plist node gets freed. Make a copy if needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_date_val(iMobileDevice.Plist.PlistHa
ndle,System.Int32@,System.Int32@)">
<summary>
Get the value of a #PLIST_DATE node.
This function does nothing if node is not of type #PLIST_DATE
</summary>
<param name="node">
the node
</param>
<param name="sec">
a pointer to an int32_t variable. Represents the number of seconds
since 01/01/2001.
</param>
<param name="usec">
a pointer to an int32_t variable. Represents the number of microseconds
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_get_uid_val(iMobileDevice.Plist.PlistHan
dle,System.UInt64@)">
<summary>
Get the value of a #PLIST_UID node.
This function does nothing if node is not of type #PLIST_UID
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint64_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_key_val(iMobileDevice.Plist.PlistHan
dle,System.String)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_KEY
</summary>
<param name="node">
the node
</param>
<param name="val">
the key value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_string_val(iMobileDevice.Plist.Plist
Handle,System.String)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_STRING
</summary>
<param name="node">
the node
</param>
<param name="val">
the string value. The string is copied when set and will be
freed by the node.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_bool_val(iMobileDevice.Plist.PlistHa
ndle,System.Char)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_BOOLEAN
</summary>
<param name="node">
the node
</param>
<param name="val">
the boolean value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_uint_val(iMobileDevice.Plist.PlistHa
ndle,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_UINT
</summary>
<param name="node">
the node
</param>
<param name="val">
the unsigned integer value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_real_val(iMobileDevice.Plist.PlistHa
ndle,System.Double)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_REAL
</summary>
<param name="node">
the node
</param>
<param name="val">
the real value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_data_val(iMobileDevice.Plist.PlistHa
ndle,System.String,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_DATA
</summary>
<param name="node">
the node
</param>
<param name="val">
the binary buffer. The buffer is copied when set and will
be freed by the node.
</param>
<param name="length">
the length of the buffer
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_date_val(iMobileDevice.Plist.PlistHa
ndle,System.Int32,System.Int32)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_DATE
</summary>
<param name="node">
the node
</param>
<param name="sec">
the number of seconds since 01/01/2001
</param>
<param name="usec">
the number of microseconds
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_set_uid_val(iMobileDevice.Plist.PlistHan
dle,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_UID
</summary>
<param name="node">
the node
</param>
<param name="val">
the unsigned integer value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_to_xml(iMobileDevice.Plist.PlistHandle,S
ystem.String@,System.UInt32@)">
<summary>
Export the #plist_t structure to XML format.
</summary>
<param name="plist">
the root node to export
</param>
<param name="plist_xml">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it. Data is UTF-8 encoded.
</param>
<param name="length">
a pointer to an uint32_t variable. Represents the length of the
allocated buffer.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_to_xml_free(System.IntPtr)">
<summary>
Frees the memory allocated by plist_to_xml().
</summary>
<param name="plist_xml">
The buffer allocated by plist_to_xml().
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_to_bin(iMobileDevice.Plist.PlistHandle,S
ystem.String@,System.UInt32@)">
<summary>
Export the #plist_t structure to binary format.
</summary>
<param name="plist">
the root node to export
</param>
<param name="plist_bin">
a pointer to a char* buffer. This function allocates the memory,
caller is responsible for freeing it.
</param>
<param name="length">
a pointer to an uint32_t variable. Represents the length of the
allocated buffer.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_to_bin_free(System.IntPtr)">
<summary>
Frees the memory allocated by plist_to_bin().
</summary>
<param name="plist_bin">
The buffer allocated by plist_to_bin().
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_from_xml(System.String,System.UInt32,iMo
bileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from XML format.
</summary>
<param name="plist_xml">
a pointer to the xml buffer.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_from_bin(System.String,System.UInt32,iMo
bileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from binary format.
</summary>
<param name="plist_bin">
a pointer to the xml buffer.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_from_memory(System.String,System.UInt32,
iMobileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from memory data.
This method will look at the first bytes of plist_data
to determine if plist_data contains a binary or XML plist.
</summary>
<param name="plist_data">
a pointer to the memory buffer containing plist data.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_is_binary(System.String,System.UInt32)">
<summary>
Test if in-memory plist data is binary or XML
This method will look at the first bytes of plist_data
to determine if plist_data contains a binary or XML plist.
This method is not validating the whole memory buffer to check if the
content is truly a plist, it's only using some heuristic on the first
few
bytes of plist_data.
</summary>
<param name="plist_data">
a pointer to the memory buffer containing plist data.
</param>
<param name="length">
length of the buffer to read.
</param>
<returns>
1 if the buffer is a binary plist, 0 otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_access_path(iMobileDevice.Plist.PlistHan
dle,System.UInt32)">
<summary>
Get a node from its path. Each path element depends on the associated
father node type.
For Dictionaries, var args are casted to const char*, for arrays, var
args are caster to uint32_t
Search is breath first order.
</summary>
<param name="plist">
the node to access result from.
</param>
<param name="length">
length of the path to access
</param>
<returns>
the value to access.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_access_pathv(iMobileDevice.Plist.PlistHa
ndle,System.UInt32,System.IntPtr)">
<summary>
Variadic version of #plist_access_path.
</summary>
<param name="plist">
the node to access result from.
</param>
<param name="length">
length of the path to access
</param>
<param name="v">
list of array's index and dic'st key
</param>
<returns>
the value to access.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_compare_node_value(iMobileDevice.Plist.P
listHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Compare two node values
</summary>
<param name="node_l">
left node to compare
</param>
<param name="node_r">
rigth node to compare
</param>
<returns>
TRUE is type and value match, FALSE otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_bool_val_is_true(iMobileDevice.Plist.Pli
stHandle)">
<summary>
Helper function to check the value of a PLIST_BOOL node.
</summary>
<param name="boolnode">
node of type PLIST_BOOL
</param>
<returns>
1 if the boolean node has a value of TRUE, 0 if FALSE,
or -1 if the node is not of type PLIST_BOOL
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_uint_val_compare(iMobileDevice.Plist.Pli
stHandle,System.UInt64)">
<summary>
Helper function to compare the value of a PLIST_UINT node against
a given value.
</summary>
<param name="uintnode">
node of type PLIST_UINT
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_uid_val_compare(iMobileDevice.Plist.Plis
tHandle,System.UInt64)">
<summary>
Helper function to compare the value of a PLIST_UID node against
a given value.
</summary>
<param name="uidnode">
node of type PLIST_UID
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_real_val_compare(iMobileDevice.Plist.Pli
stHandle,System.Double)">
<summary>
Helper function to compare the value of a PLIST_REAL node against
a given value.
</summary>
<param name="realnode">
node of type PLIST_REAL
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are (almost) equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
<remarks>
WARNING: Comparing floating point values can give inaccurate
results because of the nature of floating point values on computer
systems. While this function is designed to be as accurate as
possible, please don't rely on it too much.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.PlistApi.plist_date_val_compare(iMobileDevice.Plist.Pli
stHandle,System.Int32,System.Int32)">
<summary>
Helper function to compare the value of a PLIST_DATE node against
a given set of seconds and fraction of a second since epoch.
</summary>
<param name="datenode">
node of type PLIST_DATE
</param>
<param name="cmpsec">
number of seconds since epoch to compare against
</param>
<param name="cmpusec">
fraction of a second in microseconds to compare against
</param>
<returns>
0 if the node's date is equal to the supplied values,
1 if the node's date is greater than the supplied values,
or -1 if the node's date is less than the supplied values.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistApi.plist_string_val_compare(iMobileDevice.Plist.PlistH
andle,System.String)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistApi.plist_string_val_compare_with_size(iMobileDevice.Pl
ist.PlistHandle,System.String,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.PlistApi.plist_string_val_contains(iMobileDevice.Plist.
PlistHandle,System.String)">
<summary>
Helper function to match a given substring in the value of a
PLIST_STRING node.
</summary>
<param name="strnode">
node of type PLIST_STRING
</param>
<param name="substr">
value to match
</param>
<returns>
1 if the node's value contains the given substring,
or 0 if not.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistApi.plist_key_val_compare(iMobileDevice.Plist.PlistHand
le,System.String)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistApi.plist_key_val_compare_with_size(iMobileDevice.Plist
.PlistHandle,System.String,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.PlistApi.plist_key_val_contains(iMobileDevice.Plist.Pli
stHandle,System.String)">
<summary>
Helper function to match a given substring in the value of a
PLIST_KEY node.
</summary>
<param name="keynode">
node of type PLIST_KEY
</param>
<param name="substr">
value to match
</param>
<returns>
1 if the node's value contains the given substring,
or 0 if not.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistApi.plist_data_val_compare(iMobileDevice.Plist.PlistHan
dle,System.Char@,System.UInt32)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistApi.plist_data_val_compare_with_size(iMobileDevice.Plis
t.PlistHandle,System.Char@,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.PlistApi.plist_data_val_contains(iMobileDevice.Plist.Pl
istHandle,System.Char@,System.UInt32)">
<summary>
Helper function to match a given data blob within the value of a
PLIST_DATA node.
</summary>
<param name="datanode">
node of type PLIST_KEY
</param>
<param name="cmpval">
data blob to match
</param>
<param name="n">
size of data blob passed in cmpval
</param>
<returns>
1 if the node's value contains the given data blob
or 0 if not.
</returns>
</member>
<member name="T:iMobileDevice.Plist.PlistArrayIterHandle">
<summary>
Represents a wrapper class for Plist handles.
</summary>
</member>
<member name="M:iMobileDevice.Plist.PlistArrayIterHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Plist.PlistArrayIterHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Plist.PlistArrayIterHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Plist.PlistArrayIterHandle"/> class, specifying whether the
handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Plist.PlistArrayIterHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Plist.PlistArrayIterHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Plist.PlistArrayIterHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistArrayIterHandle.DangerousCreate(System.IntPtr,Syst
em.Boolean)">
<summary>
Creates a new <see cref="T:iMobileDevice.Plist.PlistArrayIterHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistArrayIterHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.Plist.PlistArrayIterHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistArrayIterHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistArrayIterHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Plist.PlistArrayIterHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistArrayIterHandle.op_Equality(iMobileDevice.Plist.Pl
istArrayIterHandle,iMobileDevice.Plist.PlistArrayIterHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Plist.PlistArrayIterHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistArrayIterHandle.op_Inequality(iMobileDevice.Plist.
PlistArrayIterHandle,iMobileDevice.Plist.PlistArrayIterHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Plist.PlistArrayIterHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Plist.PlistDictIterHandle">
<summary>
Represents a wrapper class for Plist handles.
</summary>
</member>
<member name="M:iMobileDevice.Plist.PlistDictIterHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Plist.PlistDictIterHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Plist.PlistDictIterHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Plist.PlistDictIterHandle"/> class, specifying whether the
handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Plist.PlistDictIterHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Plist.PlistDictIterHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Plist.PlistDictIterHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistDictIterHandle.DangerousCreate(System.IntPtr,Syste
m.Boolean)">
<summary>
Creates a new <see cref="T:iMobileDevice.Plist.PlistDictIterHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistDictIterHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.Plist.PlistDictIterHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistDictIterHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistDictIterHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Plist.PlistDictIterHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistDictIterHandle.op_Equality(iMobileDevice.Plist.Pli
stDictIterHandle,iMobileDevice.Plist.PlistDictIterHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Plist.PlistDictIterHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistDictIterHandle.op_Inequality(iMobileDevice.Plist.P
listDictIterHandle,iMobileDevice.Plist.PlistDictIterHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Plist.PlistDictIterHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Plist.PlistHandle">
<summary>
Represents a wrapper class for Plist handles.
</summary>
</member>
<member name="M:iMobileDevice.Plist.PlistHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Plist.PlistHandle"/> class.
</summary>
</member>
<member name="M:iMobileDevice.Plist.PlistHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Plist.PlistHandle"/> class, specifying whether the handle is
to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Plist.PlistHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Plist.PlistHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Plist.PlistHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistHandle.DangerousCreate(System.IntPtr,System.Boolea
n)">
<summary>
Creates a new <see cref="T:iMobileDevice.Plist.PlistHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.Plist.PlistHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistHandle.ToString">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Plist.PlistHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Plist.PlistHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Plist.PlistHandle.op_Equality(iMobileDevice.Plist.PlistHandle
,iMobileDevice.Plist.PlistHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Plist.PlistHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistHandle.op_Inequality(iMobileDevice.Plist.PlistHand
le,iMobileDevice.Plist.PlistHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Plist.PlistHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_dict">
<summary>
Create a new root plist_t type #PLIST_DICT
</summary>
<returns>
the created plist
</returns>
</member>
<member name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_array">
<summary>
Create a new root plist_t type #PLIST_ARRAY
</summary>
<returns>
the created plist
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_string(System.String)">
<summary>
Create a new plist_t type #PLIST_STRING
</summary>
<param name="val">
the sting value, encoded in UTF8.
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_bool(System.Char)">
<summary>
Create a new plist_t type #PLIST_BOOLEAN
</summary>
<param name="val">
the boolean value, 0 is false, other values are true.
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_uint(System.UInt64)">
<summary>
Create a new plist_t type #PLIST_UINT
</summary>
<param name="val">
the unsigned integer value
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_real(System.Double)">
<summary>
Create a new plist_t type #PLIST_REAL
</summary>
<param name="val">
the real value
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_data(System.String,System.
UInt64)">
<summary>
Create a new plist_t type #PLIST_DATA
</summary>
<param name="val">
the binary buffer
</param>
<param name="length">
the length of the buffer
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_date(System.Int32,System.I
nt32)">
<summary>
Create a new plist_t type #PLIST_DATE
</summary>
<param name="sec">
the number of seconds since 01/01/2001
</param>
<param name="usec">
the number of microseconds
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_new_uid(System.UInt64)">
<summary>
Create a new plist_t type #PLIST_UID
</summary>
<param name="val">
the unsigned integer value
</param>
<returns>
the created item
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_free(System.IntPtr)">
<summary>
Destruct a plist_t node and all its children recursively
</summary>
<param name="plist">
the plist to free
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_copy(iMobileDevice.Plist.Plist
Handle)">
<summary>
Return a copy of passed node and it's children
</summary>
<param name="node">
the plist to copy
</param>
<returns>
copied plist
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_get_size(iMobileDevice.P
list.PlistHandle)">
<summary>
Get size of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<returns>
size of the #PLIST_ARRAY node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_get_item(iMobileDevice.P
list.PlistHandle,System.UInt32)">
<summary>
Get the nth item in a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="n">
the index of the item to get. Range is [0, array_size[
</param>
<returns>
the nth item or NULL if node is not of type #PLIST_ARRAY
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_get_item_index(iMobileDe
vice.Plist.PlistHandle)">
<summary>
Get the index of an item. item must be a member of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node
</param>
<returns>
the node index or UINT_MAX if node index can't be determined
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_set_item(iMobileDevice.P
list.PlistHandle,iMobileDevice.Plist.PlistHandle,System.UInt32)">
<summary>
Set the nth item in a #PLIST_ARRAY node.
The previous item at index n will be freed using #plist_free
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item at index n. The array is responsible for freeing item when
it is no longer needed.
</param>
<param name="n">
the index of the item to get. Range is [0, array_size[. Assert if n is
not in range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_append_item(iMobileDevic
e.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Append a new item at the end of a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item. The array is responsible for freeing item when it is no
longer needed.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_insert_item(iMobileDevic
e.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle,System.UInt32)">
<summary>
Insert a new item at position n in a #PLIST_ARRAY node.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="item">
the new item to insert. The array is responsible for freeing item when
it is no longer needed.
</param>
<param name="n">
The position at which the node will be stored. Range is [0,
array_size[. Assert if n is not in range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_remove_item(iMobileDevic
e.Plist.PlistHandle,System.UInt32)">
<summary>
Remove an existing position in a #PLIST_ARRAY node.
Removed position will be freed using #plist_free.
</summary>
<param name="node">
the node of type #PLIST_ARRAY
</param>
<param name="n">
The position to remove. Range is [0, array_size[. Assert if n is not in
range.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_item_remove(iMobileDevic
e.Plist.PlistHandle)">
<summary>
Remove a node that is a child node of a #PLIST_ARRAY node.
node will be freed using #plist_free.
</summary>
<param name="node">
The node to be removed from its #PLIST_ARRAY parent.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_new_iter(iMobileDevice.P
list.PlistHandle,iMobileDevice.Plist.PlistArrayIterHandle@)">
<summary>
Create an iterator of a #PLIST_ARRAY node.
The allocated iterator should be freed with the standard free function.
</summary>
<param name="node">
The node of type #PLIST_ARRAY
</param>
<param name="iter">
Location to store the iterator for the array.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_array_next_item(iMobileDevice.
Plist.PlistHandle,iMobileDevice.Plist.PlistArrayIterHandle,iMobileDevice.Plist.Plis
tHandle@)">
<summary>
Increment iterator of a #PLIST_ARRAY node.
</summary>
<param name="node">
The node of type #PLIST_ARRAY.
</param>
<param name="iter">
Iterator of the array
</param>
<param name="item">
Location to store the item. The caller must *not* free the
returned item. Will be set to NULL when no more items are left
to iterate.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_get_size(iMobileDevice.Pl
ist.PlistHandle)">
<summary>
Get size of a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<returns>
size of the #PLIST_DICT node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_new_iter(iMobileDevice.Pl
ist.PlistHandle,iMobileDevice.Plist.PlistDictIterHandle@)">
<summary>
Create an iterator of a #PLIST_DICT node.
The allocated iterator should be freed with the standard free function.
</summary>
<param name="node">
The node of type #PLIST_DICT.
</param>
<param name="iter">
Location to store the iterator for the dictionary.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_next_item(iMobileDevice.P
list.PlistHandle,iMobileDevice.Plist.PlistDictIterHandle,System.IntPtr@,iMobileDevi
ce.Plist.PlistHandle@)">
<summary>
Increment iterator of a #PLIST_DICT node.
</summary>
<param name="node">
The node of type #PLIST_DICT
</param>
<param name="iter">
Iterator of the dictionary
</param>
<param name="key">
Location to store the key, or NULL. The caller is responsible
for freeing the the returned string.
</param>
<param name="val">
Location to store the value, or NULL. The caller must *not*
free the returned value. Will be set to NULL when no more
key/value pairs are left to iterate.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_get_item_key(iMobileDevic
e.Plist.PlistHandle,System.IntPtr@)">
<summary>
Get key associated key to an item. Item must be member of a dictionary.
</summary>
<param name="node">
the item
</param>
<param name="key">
a location to store the key. The caller is responsible for freeing the
returned string.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_get_item(iMobileDevice.Pl
ist.PlistHandle,System.String)">
<summary>
Get the nth item in a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="key">
the identifier of the item to get.
</param>
<returns>
the item or NULL if node is not of type #PLIST_DICT. The caller should
not free
the returned node.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_item_get_key(iMobileDevic
e.Plist.PlistHandle)">
<summary>
Get key node associated to an item. Item must be member of a
dictionary.
</summary>
<param name="node">
the item
</param>
<returns>
the key node of the given item, or NULL.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_set_item(iMobileDevice.Pl
ist.PlistHandle,System.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Set item identified by key in a #PLIST_DICT node.
The previous item identified by key will be freed using #plist_free.
If there is no item for the given key a new item will be inserted.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="item">
the new item associated to key
</param>
<param name="key">
the identifier of the item to set.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_insert_item(iMobileDevice
.Plist.PlistHandle,System.String,iMobileDevice.Plist.PlistHandle)">
<summary>
Insert a new item into a #PLIST_DICT node.
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="item">
the new item to insert
</param>
<param name="key">
The identifier of the item to insert.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_remove_item(iMobileDevice
.Plist.PlistHandle,System.String)">
<summary>
Remove an existing position in a #PLIST_DICT node.
Removed position will be freed using #plist_free
</summary>
<param name="node">
the node of type #PLIST_DICT
</param>
<param name="key">
The identifier of the item to remove. Assert if identifier is not
present.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_dict_merge(iMobileDevice.Plist
.PlistHandle@,iMobileDevice.Plist.PlistHandle)">
<summary>
Merge a dictionary into another. This will add all key/value pairs
from the source dictionary to the target dictionary, overwriting
any existing key/value pairs that are already present in target.
</summary>
<param name="target">
pointer to an existing node of type #PLIST_DICT
</param>
<param name="source">
node of type #PLIST_DICT that should be merged into target
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_parent(iMobileDevice.Plist
.PlistHandle)">
<summary>
Get the parent of a node
</summary>
<param name="node">
the parent (NULL if node is root)
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_node_type(iMobileDevice.Pl
ist.PlistHandle)">
<summary>
Get the #plist_type of a node.
</summary>
<param name="node">
the node
</param>
<returns>
the type of the node
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_key_val(iMobileDevice.Plis
t.PlistHandle,System.IntPtr@)">
<summary>
Get the value of a #PLIST_KEY node.
This function does nothing if node is not of type #PLIST_KEY
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_string_val(iMobileDevice.P
list.PlistHandle,System.IntPtr@)">
<summary>
Get the value of a #PLIST_STRING node.
This function does nothing if node is not of type #PLIST_STRING
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it. Data is UTF-8 encoded.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_string_ptr(iMobileDevice.P
list.PlistHandle,System.UInt64@)">
<summary>
Get a pointer to the buffer of a #PLIST_STRING node.
</summary>
<param name="node">
The node
</param>
<param name="length">
If non-NULL, will be set to the length of the string
</param>
<returns>
Pointer to the NULL-terminated buffer.
</returns>
<remarks>
DO NOT MODIFY the buffer. Mind that the buffer is only available
until the plist node gets freed. Make a copy if needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_bool_val(iMobileDevice.Pli
st.PlistHandle,System.Char@)">
<summary>
Get the value of a #PLIST_BOOLEAN node.
This function does nothing if node is not of type #PLIST_BOOLEAN
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint8_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_uint_val(iMobileDevice.Pli
st.PlistHandle,System.UInt64@)">
<summary>
Get the value of a #PLIST_UINT node.
This function does nothing if node is not of type #PLIST_UINT
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint64_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_real_val(iMobileDevice.Pli
st.PlistHandle,System.Double@)">
<summary>
Get the value of a #PLIST_REAL node.
This function does nothing if node is not of type #PLIST_REAL
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a double variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_data_val(iMobileDevice.Pli
st.PlistHandle,System.IntPtr@,System.UInt64@)">
<summary>
Get the value of a #PLIST_DATA node.
This function does nothing if node is not of type #PLIST_DATA
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to an unallocated char buffer. This function allocates the
memory,
caller is responsible for freeing it.
</param>
<param name="length">
the length of the buffer
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_data_ptr(iMobileDevice.Pli
st.PlistHandle,System.UInt64@)">
<summary>
Get a pointer to the data buffer of a #PLIST_DATA node.
</summary>
<param name="node">
The node
</param>
<param name="length">
Pointer to a uint64_t that will be set to the length of the buffer
</param>
<returns>
Pointer to the buffer
</returns>
<remarks>
DO NOT MODIFY the buffer. Mind that the buffer is only available
until the plist node gets freed. Make a copy if needed.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_date_val(iMobileDevice.Pli
st.PlistHandle,System.Int32@,System.Int32@)">
<summary>
Get the value of a #PLIST_DATE node.
This function does nothing if node is not of type #PLIST_DATE
</summary>
<param name="node">
the node
</param>
<param name="sec">
a pointer to an int32_t variable. Represents the number of seconds
since 01/01/2001.
</param>
<param name="usec">
a pointer to an int32_t variable. Represents the number of microseconds
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_get_uid_val(iMobileDevice.Plis
t.PlistHandle,System.UInt64@)">
<summary>
Get the value of a #PLIST_UID node.
This function does nothing if node is not of type #PLIST_UID
</summary>
<param name="node">
the node
</param>
<param name="val">
a pointer to a uint64_t variable.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_key_val(iMobileDevice.Plis
t.PlistHandle,System.String)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_KEY
</summary>
<param name="node">
the node
</param>
<param name="val">
the key value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_string_val(iMobileDevice.P
list.PlistHandle,System.String)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_STRING
</summary>
<param name="node">
the node
</param>
<param name="val">
the string value. The string is copied when set and will be
freed by the node.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_bool_val(iMobileDevice.Pli
st.PlistHandle,System.Char)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_BOOLEAN
</summary>
<param name="node">
the node
</param>
<param name="val">
the boolean value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_uint_val(iMobileDevice.Pli
st.PlistHandle,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_UINT
</summary>
<param name="node">
the node
</param>
<param name="val">
the unsigned integer value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_real_val(iMobileDevice.Pli
st.PlistHandle,System.Double)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_REAL
</summary>
<param name="node">
the node
</param>
<param name="val">
the real value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_data_val(iMobileDevice.Pli
st.PlistHandle,System.String,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_DATA
</summary>
<param name="node">
the node
</param>
<param name="val">
the binary buffer. The buffer is copied when set and will
be freed by the node.
</param>
<param name="length">
the length of the buffer
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_date_val(iMobileDevice.Pli
st.PlistHandle,System.Int32,System.Int32)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_DATE
</summary>
<param name="node">
the node
</param>
<param name="sec">
the number of seconds since 01/01/2001
</param>
<param name="usec">
the number of microseconds
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_set_uid_val(iMobileDevice.Plis
t.PlistHandle,System.UInt64)">
<summary>
Set the value of a node.
Forces type of node to #PLIST_UID
</summary>
<param name="node">
the node
</param>
<param name="val">
the unsigned integer value
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_to_xml(iMobileDevice.Plist.Pli
stHandle,System.IntPtr@,System.UInt32@)">
<summary>
Export the #plist_t structure to XML format.
</summary>
<param name="plist">
the root node to export
</param>
<param name="plist_xml">
a pointer to a C-string. This function allocates the memory,
caller is responsible for freeing it. Data is UTF-8 encoded.
</param>
<param name="length">
a pointer to an uint32_t variable. Represents the length of the
allocated buffer.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_to_xml_free(System.IntPtr)">
<summary>
Frees the memory allocated by plist_to_xml().
</summary>
<param name="plist_xml">
The buffer allocated by plist_to_xml().
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_to_bin(iMobileDevice.Plist.Pli
stHandle,System.IntPtr@,System.UInt32@)">
<summary>
Export the #plist_t structure to binary format.
</summary>
<param name="plist">
the root node to export
</param>
<param name="plist_bin">
a pointer to a char* buffer. This function allocates the memory,
caller is responsible for freeing it.
</param>
<param name="length">
a pointer to an uint32_t variable. Represents the length of the
allocated buffer.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_to_bin_free(System.IntPtr)">
<summary>
Frees the memory allocated by plist_to_bin().
</summary>
<param name="plist_bin">
The buffer allocated by plist_to_bin().
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_from_xml(System.String,System.
UInt32,iMobileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from XML format.
</summary>
<param name="plist_xml">
a pointer to the xml buffer.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_from_bin(System.String,System.
UInt32,iMobileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from binary format.
</summary>
<param name="plist_bin">
a pointer to the xml buffer.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_from_memory(System.String,Syst
em.UInt32,iMobileDevice.Plist.PlistHandle@)">
<summary>
Import the #plist_t structure from memory data.
This method will look at the first bytes of plist_data
to determine if plist_data contains a binary or XML plist.
</summary>
<param name="plist_data">
a pointer to the memory buffer containing plist data.
</param>
<param name="length">
length of the buffer to read.
</param>
<param name="plist">
a pointer to the imported plist.
</param>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_is_binary(System.String,System
.UInt32)">
<summary>
Test if in-memory plist data is binary or XML
This method will look at the first bytes of plist_data
to determine if plist_data contains a binary or XML plist.
This method is not validating the whole memory buffer to check if the
content is truly a plist, it's only using some heuristic on the first
few
bytes of plist_data.
</summary>
<param name="plist_data">
a pointer to the memory buffer containing plist data.
</param>
<param name="length">
length of the buffer to read.
</param>
<returns>
1 if the buffer is a binary plist, 0 otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_access_path(iMobileDevice.Plis
t.PlistHandle,System.UInt32)">
<summary>
Get a node from its path. Each path element depends on the associated
father node type.
For Dictionaries, var args are casted to const char*, for arrays, var
args are caster to uint32_t
Search is breath first order.
</summary>
<param name="plist">
the node to access result from.
</param>
<param name="length">
length of the path to access
</param>
<returns>
the value to access.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_access_pathv(iMobileDevice.Pli
st.PlistHandle,System.UInt32,System.IntPtr)">
<summary>
Variadic version of #plist_access_path.
</summary>
<param name="plist">
the node to access result from.
</param>
<param name="length">
length of the path to access
</param>
<param name="v">
list of array's index and dic'st key
</param>
<returns>
the value to access.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_compare_node_value(iMobileDevi
ce.Plist.PlistHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Compare two node values
</summary>
<param name="node_l">
left node to compare
</param>
<param name="node_r">
rigth node to compare
</param>
<returns>
TRUE is type and value match, FALSE otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_bool_val_is_true(iMobileDevice
.Plist.PlistHandle)">
<summary>
Helper function to check the value of a PLIST_BOOL node.
</summary>
<param name="boolnode">
node of type PLIST_BOOL
</param>
<returns>
1 if the boolean node has a value of TRUE, 0 if FALSE,
or -1 if the node is not of type PLIST_BOOL
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_uint_val_compare(iMobileDevice
.Plist.PlistHandle,System.UInt64)">
<summary>
Helper function to compare the value of a PLIST_UINT node against
a given value.
</summary>
<param name="uintnode">
node of type PLIST_UINT
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_uid_val_compare(iMobileDevice.
Plist.PlistHandle,System.UInt64)">
<summary>
Helper function to compare the value of a PLIST_UID node against
a given value.
</summary>
<param name="uidnode">
node of type PLIST_UID
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_real_val_compare(iMobileDevice
.Plist.PlistHandle,System.Double)">
<summary>
Helper function to compare the value of a PLIST_REAL node against
a given value.
</summary>
<param name="realnode">
node of type PLIST_REAL
</param>
<param name="cmpval">
value to compare against
</param>
<returns>
0 if the node's value and cmpval are (almost) equal,
1 if the node's value is greater than cmpval,
or -1 if the node's value is less than cmpval.
</returns>
<remarks>
WARNING: Comparing floating point values can give inaccurate
results because of the nature of floating point values on computer
systems. While this function is designed to be as accurate as
possible, please don't rely on it too much.
</remarks>
</member>
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_date_val_compare(iMobileDevice
.Plist.PlistHandle,System.Int32,System.Int32)">
<summary>
Helper function to compare the value of a PLIST_DATE node against
a given set of seconds and fraction of a second since epoch.
</summary>
<param name="datenode">
node of type PLIST_DATE
</param>
<param name="cmpsec">
number of seconds since epoch to compare against
</param>
<param name="cmpusec">
fraction of a second in microseconds to compare against
</param>
<returns>
0 if the node's date is equal to the supplied values,
1 if the node's date is greater than the supplied values,
or -1 if the node's date is less than the supplied values.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistNativeMethods.plist_string_val_compare(iMobileDevice.Pl
ist.PlistHandle,System.String)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistNativeMethods.plist_string_val_compare_with_size(iMobil
eDevice.Plist.PlistHandle,System.String,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_string_val_contains(iMobileDev
ice.Plist.PlistHandle,System.String)">
<summary>
Helper function to match a given substring in the value of a
PLIST_STRING node.
</summary>
<param name="strnode">
node of type PLIST_STRING
</param>
<param name="substr">
value to match
</param>
<returns>
1 if the node's value contains the given substring,
or 0 if not.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistNativeMethods.plist_key_val_compare(iMobileDevice.Plist
.PlistHandle,System.String)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistNativeMethods.plist_key_val_compare_with_size(iMobileDe
vice.Plist.PlistHandle,System.String,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_key_val_contains(iMobileDevice
.Plist.PlistHandle,System.String)">
<summary>
Helper function to match a given substring in the value of a
PLIST_KEY node.
</summary>
<param name="keynode">
node of type PLIST_KEY
</param>
<param name="substr">
value to match
</param>
<returns>
1 if the node's value contains the given substring,
or 0 if not.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistNativeMethods.plist_data_val_compare(iMobileDevice.Plis
t.PlistHandle,System.Char@,System.UInt32)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Plist.PlistNativeMethods.plist_data_val_compare_with_size(iMobileD
evice.Plist.PlistHandle,System.Char@,System.UInt32)" -->
<member
name="M:iMobileDevice.Plist.PlistNativeMethods.plist_data_val_contains(iMobileDevic
e.Plist.PlistHandle,System.Char@,System.UInt32)">
<summary>
Helper function to match a given data blob within the value of a
PLIST_DATA node.
</summary>
<param name="datanode">
node of type PLIST_KEY
</param>
<param name="cmpval">
data blob to match
</param>
<param name="n">
size of data blob passed in cmpval
</param>
<returns>
1 if the node's value contains the given data blob
or 0 if not.
</returns>
</member>
<member name="T:iMobileDevice.Plist.PlistType">
<summary>
The enumeration of plist node types.
</summary>
</member>
<member name="F:iMobileDevice.Plist.PlistType.None">
<summary>
No type
</summary>
</member>
<member name="P:iMobileDevice.Preboard.IPreboardApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Preboard"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Preboard.IPreboardApi.preboard_client_new(iMobileDevice.iDevi
ce.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevi
ce.Preboard.PreboardClientHandle@)">
<summary>
Connects to the preboard service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
preboard_client_t upon successful return. Must be freed using
preboard_client_free() after use.
</param>
<returns>
PREBOARD_E_SUCCESS on success, PREBOARD_E_INVALID_ARG when
client is NULL, or an PREBOARD_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.IPreboardApi.preboard_client_start_service(iMobileDe
vice.iDevice.iDeviceHandle,iMobileDevice.Preboard.PreboardClientHandle@,System.Stri
ng)">
<summary>
Starts a new preboard service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
preboard_client_t upon successful return. Must be freed using
preboard_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
PREBOARD_E_SUCCESS on success, or a PREBOARD_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.IPreboardApi.preboard_client_free(System.IntPtr)">
<summary>
Disconnects a preboard client from the device and frees up the
preboard client data.
</summary>
<param name="client">
The preboard client to disconnect and free.
</param>
<returns>
PREBOARD_E_SUCCESS on success, PREBOARD_E_INVALID_ARG when
client is NULL, or a PREBOARD_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.IPreboardApi.preboard_send(iMobileDevice.Preboard.Pr
eboardClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
The plist to send
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
or a PREBOARD_E_* error code on error
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.IPreboardApi.preboard_receive(iMobileDevice.Preboard
.PreboardClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
Pointer to a plist_t what will be set to the received plist
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
PREBOARD_E_TIMEOUT when no data was received after 5 seconds,
or a PREBOARD_E_* error code on error
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.IPreboardApi.preboard_receive_with_timeout(iMobileDe
vice.Preboard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle@,System.UInt32)"
>
<summary>
Receives a plist from the service with the specified timeout.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
Pointer to a plist_t what will be set to the received plist
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
PREBOARD_E_TIMEOUT when no data was received after the given timeout,
or a PREBOARD_E_* error code on error.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Preboard.IPreboardApi.preboard_create_stashbag(iMobileDevice.Prebo
ard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Preboard.Pre
boardStatusCallBack,System.IntPtr)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Preboard.IPreboardApi.preboard_commit_stashbag(iMobileDevice.Prebo
ard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Preboard.Pre
boardStatusCallBack,System.IntPtr)" -->
<member name="F:iMobileDevice.Preboard.PreboardApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Preboard.PreboardApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Preboard"/>.
</param>
</member>
<member name="P:iMobileDevice.Preboard.PreboardApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardApi.preboard_client_new(iMobileDevice.iDevic
e.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevic
e.Preboard.PreboardClientHandle@)">
<summary>
Connects to the preboard service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
preboard_client_t upon successful return. Must be freed using
preboard_client_free() after use.
</param>
<returns>
PREBOARD_E_SUCCESS on success, PREBOARD_E_INVALID_ARG when
client is NULL, or an PREBOARD_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardApi.preboard_client_start_service(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Preboard.PreboardClientHandle@,System.Strin
g)">
<summary>
Starts a new preboard service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
preboard_client_t upon successful return. Must be freed using
preboard_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
PREBOARD_E_SUCCESS on success, or a PREBOARD_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardApi.preboard_client_free(System.IntPtr)">
<summary>
Disconnects a preboard client from the device and frees up the
preboard client data.
</summary>
<param name="client">
The preboard client to disconnect and free.
</param>
<returns>
PREBOARD_E_SUCCESS on success, PREBOARD_E_INVALID_ARG when
client is NULL, or a PREBOARD_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardApi.preboard_send(iMobileDevice.Preboard.Pre
boardClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
The plist to send
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
or a PREBOARD_E_* error code on error
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardApi.preboard_receive(iMobileDevice.Preboard.
PreboardClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
Pointer to a plist_t what will be set to the received plist
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
PREBOARD_E_TIMEOUT when no data was received after 5 seconds,
or a PREBOARD_E_* error code on error
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardApi.preboard_receive_with_timeout(iMobileDev
ice.Preboard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle@,System.UInt32)">
<summary>
Receives a plist from the service with the specified timeout.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
Pointer to a plist_t what will be set to the received plist
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
PREBOARD_E_TIMEOUT when no data was received after the given timeout,
or a PREBOARD_E_* error code on error.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Preboard.PreboardApi.preboard_create_stashbag(iMobileDevice.Preboa
rd.PreboardClientHandle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Preboard.Preb
oardStatusCallBack,System.IntPtr)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Preboard.PreboardApi.preboard_commit_stashbag(iMobileDevice.Preboa
rd.PreboardClientHandle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Preboard.Preb
oardStatusCallBack,System.IntPtr)" -->
<member name="T:iMobileDevice.Preboard.PreboardClientHandle">
<summary>
Represents a wrapper class for Preboard handles.
</summary>
</member>
<member name="M:iMobileDevice.Preboard.PreboardClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardClientHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Preboard.PreboardClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Preboard.PreboardClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Preboard.PreboardClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardClientHandle.DangerousCreate(System.IntPtr,S
ystem.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Preboard.PreboardClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardClientHandle.DangerousCreate(System.IntPtr)"
>
<summary>
Creates a new <see
cref="T:iMobileDevice.Preboard.PreboardClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Preboard.PreboardClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Preboard.PreboardClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardClientHandle.op_Equality(iMobileDevice.Prebo
ard.PreboardClientHandle,iMobileDevice.Preboard.PreboardClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Preboard.PreboardClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardClientHandle.op_Inequality(iMobileDevice.Pre
board.PreboardClientHandle,iMobileDevice.Preboard.PreboardClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Preboard.PreboardClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Preboard.PreboardError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Preboard.PreboardException">
Represents an exception that occurred when interacting with the
Preboard API.
</member>
<member name="F:iMobileDevice.Preboard.PreboardException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Preboard.PreboardException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Preboard.PreboardException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardException.#ctor(iMobileDevice.Preboard.Prebo
ardError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardException.#ctor(iMobileDevice.Preboard.Prebo
ardError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardException"/> class with a specified error
code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardException.#ctor(System.String,System.Excepti
on)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardException.#ctor(System.Runtime.Serialization
.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Preboard.PreboardException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Preboard.PreboardException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_client_new(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iM
obileDevice.Preboard.PreboardClientHandle@)">
<summary>
Connects to the preboard service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
preboard_client_t upon successful return. Must be freed using
preboard_client_free() after use.
</param>
<returns>
PREBOARD_E_SUCCESS on success, PREBOARD_E_INVALID_ARG when
client is NULL, or an PREBOARD_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_client_start_service(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Preboard.PreboardClientHandle@,Sy
stem.String)">
<summary>
Starts a new preboard service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
preboard_client_t upon successful return. Must be freed using
preboard_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
PREBOARD_E_SUCCESS on success, or a PREBOARD_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_client_free(System.In
tPtr)">
<summary>
Disconnects a preboard client from the device and frees up the
preboard client data.
</summary>
<param name="client">
The preboard client to disconnect and free.
</param>
<returns>
PREBOARD_E_SUCCESS on success, PREBOARD_E_INVALID_ARG when
client is NULL, or a PREBOARD_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_send(iMobileDevice.Pr
eboard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
The plist to send
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
or a PREBOARD_E_* error code on error
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_receive(iMobileDevice
.Preboard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
Pointer to a plist_t what will be set to the received plist
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
PREBOARD_E_TIMEOUT when no data was received after 5 seconds,
or a PREBOARD_E_* error code on error
</returns>
</member>
<member
name="M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_receive_with_timeout(
iMobileDevice.Preboard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle@,System
.UInt32)">
<summary>
Receives a plist from the service with the specified timeout.
</summary>
<param name="client">
The preboard client
</param>
<param name="plist">
Pointer to a plist_t what will be set to the received plist
</param>
<returns>
PREBOARD_E_SUCCESS on success,
PREBOARD_E_INVALID_ARG when client or plist is NULL,
PREBOARD_E_TIMEOUT when no data was received after the given timeout,
or a PREBOARD_E_* error code on error.
</returns>
</member>
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_create_stashbag(iMobileDev
ice.Preboard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Pre
board.PreboardStatusCallBack,System.IntPtr)" -->
<!-- Badly formed XML comment ignored for member
"M:iMobileDevice.Preboard.PreboardNativeMethods.preboard_commit_stashbag(iMobileDev
ice.Preboard.PreboardClientHandle,iMobileDevice.Plist.PlistHandle,iMobileDevice.Pre
board.PreboardStatusCallBack,System.IntPtr)" -->
<member
name="P:iMobileDevice.PropertyListService.IPropertyListServiceApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.PropertyListService"/>.
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_client_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.Lockdown
ServiceDescriptorHandle,iMobileDevice.PropertyListService.PropertyListServiceClient
Handle@)">
<summary>
Creates a new property list service for the specified port.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
property_list_service_client_t upon successful return.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when one of the arguments is
invalid,
or PROPERTY_LIST_SERVICE_E_MUX_ERROR when connecting to the device
failed.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_client_free(System.IntPtr)">
<summary>
Frees a PropertyList service.
</summary>
<param name="client">
The property list service to free.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client is invalid, or a
PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when another error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_send_xml_plist(iMobileDevice.PropertyListService.PropertyListServiceClientHand
le,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends an XML plist.
</summary>
<param name="client">
The property list service client to use for sending.
</param>
<param name="plist">
plist to send
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when dict is not a valid plist,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when an unspecified error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_send_binary_plist(iMobileDevice.PropertyListService.PropertyListServiceClientH
andle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a binary plist.
</summary>
<param name="client">
The property list service client to use for sending.
</param>
<param name="plist">
plist to send
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when dict is not a valid plist,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when an unspecified error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_receive_plist_with_timeout(iMobileDevice.PropertyListService.PropertyListServi
ceClientHandle,iMobileDevice.Plist.PlistHandle@,System.UInt32)">
<summary>
Receives a plist using the given property list service client with
specified
timeout.
Binary or XML plists are automatically handled.
</summary>
<param name="client">
The property list service client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when connection or *plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when the received data cannot be
converted to a plist, PROPERTY_LIST_SERVICE_E_MUX_ERROR when a
communication error occurs, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR
when
an unspecified error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_receive_plist(iMobileDevice.PropertyListService.PropertyListServiceClientHandl
e,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist using the given property list service client.
Binary or XML plists are automatically handled.
This function is like property_list_service_receive_plist_with_timeout
using a timeout of 10 seconds.
</summary>
<param name="client">
The property list service client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or *plist is NULL,
PROPERTY_LIST_SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, PROPERTY_LIST_SERVICE_E_RECEIVE_TIMEOUT when the connection
times out,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when the received data cannot be
converted to a plist, PROPERTY_LIST_SERVICE_E_MUX_ERROR when a
communication error occurs, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR
when
an unspecified error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_enable_ssl(iMobileDevice.PropertyListService.PropertyListServiceClientHandle)"
>
<summary>
Enable SSL for the given property list service client.
</summary>
<param name="client">
The connected property list service client for which SSL
should be enabled.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG if client or client->connection is
NULL, PROPERTY_LIST_SERVICE_E_SSL_ERROR when SSL could not be enabled,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.IPropertyListServiceApi.property_list_ser
vice_disable_ssl(iMobileDevice.PropertyListService.PropertyListServiceClientHandle)
">
<summary>
Disable SSL for the given property list service client.
</summary>
<param name="client">
The connected property list service client for which SSL
should be disabled.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="F:iMobileDevice.PropertyListService.PropertyListServiceApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.PropertyListService.PropertyListServiceApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.#ctor(iMobileDevic
e.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.PropertyListService"/>.
</param>
</member>
<member
name="P:iMobileDevice.PropertyListService.PropertyListServiceApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_client_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownS
erviceDescriptorHandle,iMobileDevice.PropertyListService.PropertyListServiceClientH
andle@)">
<summary>
Creates a new property list service for the specified port.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
property_list_service_client_t upon successful return.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when one of the arguments is
invalid,
or PROPERTY_LIST_SERVICE_E_MUX_ERROR when connecting to the device
failed.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_client_free(System.IntPtr)">
<summary>
Frees a PropertyList service.
</summary>
<param name="client">
The property list service to free.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client is invalid, or a
PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when another error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_send_xml_plist(iMobileDevice.PropertyListService.PropertyListServiceClientHandl
e,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends an XML plist.
</summary>
<param name="client">
The property list service client to use for sending.
</param>
<param name="plist">
plist to send
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when dict is not a valid plist,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when an unspecified error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_send_binary_plist(iMobileDevice.PropertyListService.PropertyListServiceClientHa
ndle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a binary plist.
</summary>
<param name="client">
The property list service client to use for sending.
</param>
<param name="plist">
plist to send
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when dict is not a valid plist,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when an unspecified error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_receive_plist_with_timeout(iMobileDevice.PropertyListService.PropertyListServic
eClientHandle,iMobileDevice.Plist.PlistHandle@,System.UInt32)">
<summary>
Receives a plist using the given property list service client with
specified
timeout.
Binary or XML plists are automatically handled.
</summary>
<param name="client">
The property list service client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when connection or *plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when the received data cannot be
converted to a plist, PROPERTY_LIST_SERVICE_E_MUX_ERROR when a
communication error occurs, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR
when
an unspecified error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_receive_plist(iMobileDevice.PropertyListService.PropertyListServiceClientHandle
,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist using the given property list service client.
Binary or XML plists are automatically handled.
This function is like property_list_service_receive_plist_with_timeout
using a timeout of 10 seconds.
</summary>
<param name="client">
The property list service client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or *plist is NULL,
PROPERTY_LIST_SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, PROPERTY_LIST_SERVICE_E_RECEIVE_TIMEOUT when the connection
times out,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when the received data cannot be
converted to a plist, PROPERTY_LIST_SERVICE_E_MUX_ERROR when a
communication error occurs, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR
when
an unspecified error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_enable_ssl(iMobileDevice.PropertyListService.PropertyListServiceClientHandle)">
<summary>
Enable SSL for the given property list service client.
</summary>
<param name="client">
The connected property list service client for which SSL
should be enabled.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG if client or client->connection is
NULL, PROPERTY_LIST_SERVICE_E_SSL_ERROR when SSL could not be enabled,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceApi.property_list_serv
ice_disable_ssl(iMobileDevice.PropertyListService.PropertyListServiceClientHandle)"
>
<summary>
Disable SSL for the given property list service client.
</summary>
<param name="client">
The connected property list service client for which SSL
should be disabled.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="T:iMobileDevice.PropertyListService.PropertyListServiceClientHandle">
<summary>
Represents a wrapper class for PropertyListService handles.
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.#ctor(Sys
tem.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.ReleaseHa
ndle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.Dangerous
Create(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.Dangerous
Create(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.ToString"
>
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.Equals(Sy
stem.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.GetHashCo
de">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.op_Equali
ty(iMobileDevice.PropertyListService.PropertyListServiceClientHandle,iMobileDevice.
PropertyListService.PropertyListServiceClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceClientHandle"/> are
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceClientHandle.op_Inequa
lity(iMobileDevice.PropertyListService.PropertyListServiceClientHandle,iMobileDevic
e.PropertyListService.PropertyListServiceClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceClientHandle"/> are
not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="T:iMobileDevice.PropertyListService.PropertyListServiceException">
Represents an exception that occurred when interacting with the
PropertyListService API.
</member>
<member
name="F:iMobileDevice.PropertyListService.PropertyListServiceException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.PropertyListService.PropertyListServiceException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceException.#ctor(iMobil
eDevice.PropertyListService.PropertyListServiceError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceException"/> class
with a specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceException.#ctor(iMobil
eDevice.PropertyListService.PropertyListServiceError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceException"/> class
with a specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceException.#ctor(System
.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceException"/> class
with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceException.#ctor(System
.String,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceException"/> class
with a specified error message and a reference to the inner exception that is the
cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceException.#ctor(System
.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingCont
ext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.PropertyListService.PropertyListServiceException"/> class
with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.PropertyListService.PropertyListServiceException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_client_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown
.LockdownServiceDescriptorHandle,iMobileDevice.PropertyListService.PropertyListServ
iceClientHandle@)">
<summary>
Creates a new property list service for the specified port.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
property_list_service_client_t upon successful return.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when one of the arguments is
invalid,
or PROPERTY_LIST_SERVICE_E_MUX_ERROR when connecting to the device
failed.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_client_free(System.IntPtr)">
<summary>
Frees a PropertyList service.
</summary>
<param name="client">
The property list service to free.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client is invalid, or a
PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when another error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_send_xml_plist(iMobileDevice.PropertyListService.PropertyListServiceC
lientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends an XML plist.
</summary>
<param name="client">
The property list service client to use for sending.
</param>
<param name="plist">
plist to send
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when dict is not a valid plist,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when an unspecified error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_send_binary_plist(iMobileDevice.PropertyListService.PropertyListServi
ceClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a binary plist.
</summary>
<param name="client">
The property list service client to use for sending.
</param>
<param name="plist">
plist to send
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when dict is not a valid plist,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR when an unspecified error
occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_receive_plist_with_timeout(iMobileDevice.PropertyListService.Property
ListServiceClientHandle,iMobileDevice.Plist.PlistHandle@,System.UInt32)">
<summary>
Receives a plist using the given property list service client with
specified
timeout.
Binary or XML plists are automatically handled.
</summary>
<param name="client">
The property list service client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when connection or *plist is NULL,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when the received data cannot be
converted to a plist, PROPERTY_LIST_SERVICE_E_MUX_ERROR when a
communication error occurs, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR
when
an unspecified error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_receive_plist(iMobileDevice.PropertyListService.PropertyListServiceCl
ientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist using the given property list service client.
Binary or XML plists are automatically handled.
This function is like property_list_service_receive_plist_with_timeout
using a timeout of 10 seconds.
</summary>
<param name="client">
The property list service client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG when client or *plist is NULL,
PROPERTY_LIST_SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, PROPERTY_LIST_SERVICE_E_RECEIVE_TIMEOUT when the connection
times out,
PROPERTY_LIST_SERVICE_E_PLIST_ERROR when the received data cannot be
converted to a plist, PROPERTY_LIST_SERVICE_E_MUX_ERROR when a
communication error occurs, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR
when
an unspecified error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_enable_ssl(iMobileDevice.PropertyListService.PropertyListServiceClien
tHandle)">
<summary>
Enable SSL for the given property list service client.
</summary>
<param name="client">
The connected property list service client for which SSL
should be enabled.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG if client or client->connection is
NULL, PROPERTY_LIST_SERVICE_E_SSL_ERROR when SSL could not be enabled,
or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.PropertyListService.PropertyListServiceNativeMethods.property
_list_service_disable_ssl(iMobileDevice.PropertyListService.PropertyListServiceClie
ntHandle)">
<summary>
Disable SSL for the given property list service client.
</summary>
<param name="client">
The connected property list service client for which SSL
should be disabled.
</param>
<returns>
PROPERTY_LIST_SERVICE_E_SUCCESS on success,
PROPERTY_LIST_SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member name="P:iMobileDevice.Recovery.IRecoveryApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Recovery"/>.
</summary>
</member>
<member name="F:iMobileDevice.Recovery.RecoveryApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Recovery.RecoveryApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Recovery"/>.
</param>
</member>
<member name="P:iMobileDevice.Recovery.RecoveryApi.Parent">
<inheritdoc/>
</member>
<member name="T:iMobileDevice.Recovery.RecoveryClientHandle">
<summary>
Represents a wrapper class for Recovery handles.
</summary>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryClientHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Recovery.RecoveryClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Recovery.RecoveryClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryClientHandle.DangerousCreate(System.IntPtr,S
ystem.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Recovery.RecoveryClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryClientHandle.DangerousCreate(System.IntPtr)"
>
<summary>
Creates a new <see
cref="T:iMobileDevice.Recovery.RecoveryClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryClientHandle.op_Equality(iMobileDevice.Recov
ery.RecoveryClientHandle,iMobileDevice.Recovery.RecoveryClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Recovery.RecoveryClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryClientHandle.op_Inequality(iMobileDevice.Rec
overy.RecoveryClientHandle,iMobileDevice.Recovery.RecoveryClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Recovery.RecoveryClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle">
<summary>
Represents a wrapper class for Recovery handles.
</summary>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.#ctor(System.Boolea
n)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.DangerousCreate(Sys
tem.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.DangerousCreate(Sys
tem.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.Equals(System.Objec
t)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.op_Equality(iMobile
Device.Recovery.RecoveryDeviceEventContextHandle,iMobileDevice.Recovery.RecoveryDev
iceEventContextHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle.op_Inequality(iMobi
leDevice.Recovery.RecoveryDeviceEventContextHandle,iMobileDevice.Recovery.RecoveryD
eviceEventContextHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceEventContextHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Recovery.RecoveryDeviceHandle">
<summary>
Represents a wrapper class for Recovery handles.
</summary>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceHandle"/> class, specifying whether
the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Recovery.RecoveryDeviceHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Recovery.RecoveryDeviceHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.DangerousCreate(System.IntPtr,S
ystem.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.DangerousCreate(System.IntPtr)"
>
<summary>
Creates a new <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.op_Equality(iMobileDevice.Recov
ery.RecoveryDeviceHandle,iMobileDevice.Recovery.RecoveryDeviceHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryDeviceHandle.op_Inequality(iMobileDevice.Rec
overy.RecoveryDeviceHandle,iMobileDevice.Recovery.RecoveryDeviceHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Recovery.RecoveryDeviceHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Recovery.RecoveryException">
Represents an exception that occurred when interacting with the
Recovery API.
</member>
<member name="F:iMobileDevice.Recovery.RecoveryException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Recovery.RecoveryException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Recovery.RecoveryException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryException.#ctor(iMobileDevice.Recovery.Recov
eryError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryException.#ctor(iMobileDevice.Recovery.Recov
eryError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryException"/> class with a specified error
code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryException.#ctor(System.String,System.Excepti
on)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Recovery.RecoveryException.#ctor(System.Runtime.Serialization
.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Recovery.RecoveryException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Recovery.RecoveryException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member name="P:iMobileDevice.Restore.IRestoreApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Restore"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_client_new(iMobileDevice.iDevice
.iDeviceHandle,iMobileDevice.Restore.RestoreClientHandle@,System.String)">
<summary>
Creates a new restored client for the device.
</summary>
<param name="device">
The device to create a restored client for
</param>
<param name="client">
The pointer to the location of the new restored_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_client_free(System.IntPtr)">
<summary>
Closes the restored client session if one is running and frees up the
restored_client struct.
</summary>
<param name="client">
The restore client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_query_type(iMobileDevice.Restore
.RestoreClientHandle,System.String@,System.UInt64@)">
<summary>
Query the type of the service daemon. Depending on whether the device
is
queried in normal mode or restore mode, different types will be
returned.
</summary>
<param name="client">
The restored client
</param>
<param name="type">
The type returned by the service daemon. Pass NULL to ignore.
</param>
<param name="version">
The restore protocol version. Pass NULL to ignore.
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_query_value(iMobileDevice.Restor
e.RestoreClientHandle,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Queries a value from the device specified by a key.
</summary>
<param name="client">
An initialized restored client.
</param>
<param name="key">
The key name to request
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL, RESTORE_E_PLIST_ERROR if value for key can't be found
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_get_value(iMobileDevice.Restore.
RestoreClientHandle,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves a value from information plist specified by a key.
</summary>
<param name="client">
An initialized restored client.
</param>
<param name="key">
The key name to request or NULL to query for all keys
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL, RESTORE_E_PLIST_ERROR if value for key can't be found
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_send(iMobileDevice.Restore.Resto
reClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to restored.
</summary>
<param name="client">
The restored client
</param>
<param name="plist">
The plist to send
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client or
plist is NULL
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_receive(iMobileDevice.Restore.Re
storeClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from restored.
</summary>
<param name="client">
The restored client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client or
plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_goodbye(iMobileDevice.Restore.Re
storeClientHandle)">
<summary>
Sends the Goodbye request to restored signaling the end of
communication.
</summary>
<param name="client">
The restore client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL,
RESTORE_E_PLIST_ERROR if the device did not acknowledge the request
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_start_restore(iMobileDevice.Rest
ore.RestoreClientHandle,iMobileDevice.Plist.PlistHandle,System.UInt64)">
<summary>
Requests to start a restore and retrieve it's port on success.
</summary>
<param name="client">
The restored client
</param>
<param name="options">
PLIST_DICT with options for the restore process or NULL
</param>
<param name="version">
the restore protocol version, see restored_query_type()
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG if a parameter
is NULL, RESTORE_E_START_RESTORE_FAILED if the request fails
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_reboot(iMobileDevice.Restore.Res
toreClientHandle)">
<summary>
Requests device to reboot.
</summary>
<param name="client">
The restored client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG if a parameter
is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.IRestoreApi.restored_client_set_label(iMobileDevice.R
estore.RestoreClientHandle,System.String)">
<summary>
Sets the label to send for requests to restored.
</summary>
<param name="client">
The restore client
</param>
<param name="label">
The label to set or NULL to disable sending a label
</param>
</member>
<member name="F:iMobileDevice.Restore.RestoreApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Restore.RestoreApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Restore"/>.
</param>
</member>
<member name="P:iMobileDevice.Restore.RestoreApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_client_new(iMobileDevice.iDevice.
iDeviceHandle,iMobileDevice.Restore.RestoreClientHandle@,System.String)">
<summary>
Creates a new restored client for the device.
</summary>
<param name="device">
The device to create a restored client for
</param>
<param name="client">
The pointer to the location of the new restored_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_client_free(System.IntPtr)">
<summary>
Closes the restored client session if one is running and frees up the
restored_client struct.
</summary>
<param name="client">
The restore client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_query_type(iMobileDevice.Restore.
RestoreClientHandle,System.String@,System.UInt64@)">
<summary>
Query the type of the service daemon. Depending on whether the device
is
queried in normal mode or restore mode, different types will be
returned.
</summary>
<param name="client">
The restored client
</param>
<param name="type">
The type returned by the service daemon. Pass NULL to ignore.
</param>
<param name="version">
The restore protocol version. Pass NULL to ignore.
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_query_value(iMobileDevice.Restore
.RestoreClientHandle,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Queries a value from the device specified by a key.
</summary>
<param name="client">
An initialized restored client.
</param>
<param name="key">
The key name to request
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL, RESTORE_E_PLIST_ERROR if value for key can't be found
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_get_value(iMobileDevice.Restore.R
estoreClientHandle,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves a value from information plist specified by a key.
</summary>
<param name="client">
An initialized restored client.
</param>
<param name="key">
The key name to request or NULL to query for all keys
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL, RESTORE_E_PLIST_ERROR if value for key can't be found
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_send(iMobileDevice.Restore.Restor
eClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to restored.
</summary>
<param name="client">
The restored client
</param>
<param name="plist">
The plist to send
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client or
plist is NULL
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_receive(iMobileDevice.Restore.Res
toreClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from restored.
</summary>
<param name="client">
The restored client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client or
plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_goodbye(iMobileDevice.Restore.Res
toreClientHandle)">
<summary>
Sends the Goodbye request to restored signaling the end of
communication.
</summary>
<param name="client">
The restore client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL,
RESTORE_E_PLIST_ERROR if the device did not acknowledge the request
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_start_restore(iMobileDevice.Resto
re.RestoreClientHandle,iMobileDevice.Plist.PlistHandle,System.UInt64)">
<summary>
Requests to start a restore and retrieve it's port on success.
</summary>
<param name="client">
The restored client
</param>
<param name="options">
PLIST_DICT with options for the restore process or NULL
</param>
<param name="version">
the restore protocol version, see restored_query_type()
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG if a parameter
is NULL, RESTORE_E_START_RESTORE_FAILED if the request fails
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_reboot(iMobileDevice.Restore.Rest
oreClientHandle)">
<summary>
Requests device to reboot.
</summary>
<param name="client">
The restored client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG if a parameter
is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreApi.restored_client_set_label(iMobileDevice.Re
store.RestoreClientHandle,System.String)">
<summary>
Sets the label to send for requests to restored.
</summary>
<param name="client">
The restore client
</param>
<param name="label">
The label to set or NULL to disable sending a label
</param>
</member>
<member name="T:iMobileDevice.Restore.RestoreClientHandle">
<summary>
Represents a wrapper class for Restore handles.
</summary>
</member>
<member name="M:iMobileDevice.Restore.RestoreClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Restore.RestoreClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreClientHandle"/> class, specifying whether the
handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Restore.RestoreClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Restore.RestoreClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Restore.RestoreClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Restore.RestoreClientHandle.DangerousCreate(System.IntPtr,Sys
tem.Boolean)">
<summary>
Creates a new <see cref="T:iMobileDevice.Restore.RestoreClientHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreClientHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.Restore.RestoreClientHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Restore.RestoreClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Restore.RestoreClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Restore.RestoreClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Restore.RestoreClientHandle.op_Equality(iMobileDevice.Restore
.RestoreClientHandle,iMobileDevice.Restore.RestoreClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Restore.RestoreClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreClientHandle.op_Inequality(iMobileDevice.Resto
re.RestoreClientHandle,iMobileDevice.Restore.RestoreClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Restore.RestoreClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Restore.RestoreError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Restore.RestoreException">
Represents an exception that occurred when interacting with the Restore
API.
</member>
<member name="F:iMobileDevice.Restore.RestoreException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Restore.RestoreException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Restore.RestoreException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Restore.RestoreException.#ctor(iMobileDevice.Restore.RestoreE
rror)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Restore.RestoreException.#ctor(iMobileDevice.Restore.RestoreE
rror,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreException"/> class with a specified error code
and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Restore.RestoreException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Restore.RestoreException.#ctor(System.String,System.Exception
)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Restore.RestoreException.#ctor(System.Runtime.Serialization.S
erializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Restore.RestoreException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Restore.RestoreException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_client_new(iMobileDevic
e.iDevice.iDeviceHandle,iMobileDevice.Restore.RestoreClientHandle@,System.String)">
<summary>
Creates a new restored client for the device.
</summary>
<param name="device">
The device to create a restored client for
</param>
<param name="client">
The pointer to the location of the new restored_client
</param>
<param name="label">
The label to use for communication. Usually the program name.
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_client_free(System.IntP
tr)">
<summary>
Closes the restored client session if one is running and frees up the
restored_client struct.
</summary>
<param name="client">
The restore client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_query_type(iMobileDevic
e.Restore.RestoreClientHandle,System.IntPtr@,System.UInt64@)">
<summary>
Query the type of the service daemon. Depending on whether the device
is
queried in normal mode or restore mode, different types will be
returned.
</summary>
<param name="client">
The restored client
</param>
<param name="type">
The type returned by the service daemon. Pass NULL to ignore.
</param>
<param name="version">
The restore protocol version. Pass NULL to ignore.
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_query_value(iMobileDevi
ce.Restore.RestoreClientHandle,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Queries a value from the device specified by a key.
</summary>
<param name="client">
An initialized restored client.
</param>
<param name="key">
The key name to request
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL, RESTORE_E_PLIST_ERROR if value for key can't be found
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_get_value(iMobileDevice
.Restore.RestoreClientHandle,System.String,iMobileDevice.Plist.PlistHandle@)">
<summary>
Retrieves a value from information plist specified by a key.
</summary>
<param name="client">
An initialized restored client.
</param>
<param name="key">
The key name to request or NULL to query for all keys
</param>
<param name="value">
A plist node representing the result value node
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL, RESTORE_E_PLIST_ERROR if value for key can't be found
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_send(iMobileDevice.Rest
ore.RestoreClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to restored.
</summary>
<param name="client">
The restored client
</param>
<param name="plist">
The plist to send
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client or
plist is NULL
</returns>
<remarks>
This function is low-level and should only be used if you need to send
a new type of message.
</remarks>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_receive(iMobileDevice.R
estore.RestoreClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from restored.
</summary>
<param name="client">
The restored client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client or
plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_goodbye(iMobileDevice.R
estore.RestoreClientHandle)">
<summary>
Sends the Goodbye request to restored signaling the end of
communication.
</summary>
<param name="client">
The restore client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG when client is
NULL,
RESTORE_E_PLIST_ERROR if the device did not acknowledge the request
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_start_restore(iMobileDe
vice.Restore.RestoreClientHandle,iMobileDevice.Plist.PlistHandle,System.UInt64)">
<summary>
Requests to start a restore and retrieve it's port on success.
</summary>
<param name="client">
The restored client
</param>
<param name="options">
PLIST_DICT with options for the restore process or NULL
</param>
<param name="version">
the restore protocol version, see restored_query_type()
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG if a parameter
is NULL, RESTORE_E_START_RESTORE_FAILED if the request fails
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_reboot(iMobileDevice.Re
store.RestoreClientHandle)">
<summary>
Requests device to reboot.
</summary>
<param name="client">
The restored client
</param>
<returns>
RESTORE_E_SUCCESS on success, RESTORE_E_INVALID_ARG if a parameter
is NULL
</returns>
</member>
<member
name="M:iMobileDevice.Restore.RestoreNativeMethods.restored_client_set_label(iMobil
eDevice.Restore.RestoreClientHandle,System.String)">
<summary>
Sets the label to send for requests to restored.
</summary>
<param name="client">
The restore client
</param>
<param name="label">
The label to set or NULL to disable sending a label
</param>
</member>
<member name="P:iMobileDevice.Screenshotr.IScreenshotrApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Screenshotr"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Screenshotr.IScreenshotrApi.screenshotr_client_new(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iM
obileDevice.Screenshotr.ScreenshotrClientHandle@)">
<summary>
Connects to the screenshotr service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
screenshotr_client_t upon successful return.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID ARG if one
or more parameters are invalid, or SCREENSHOTR_E_CONN_FAILED if the
connection to the device could not be established.
</returns>
<remarks>
This service is only available if a developer disk image has been
mounted.
</remarks>
</member>
<member
name="M:iMobileDevice.Screenshotr.IScreenshotrApi.screenshotr_client_start_service(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Screenshotr.ScreenshotrClientHand
le@,System.String)">
<summary>
Starts a new screenshotr service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
screenshotr_client_t upon successful return. Must be freed using
screenshotr_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, or an SCREENSHOTR_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.IScreenshotrApi.screenshotr_client_free(System.In
tPtr)">
<summary>
Disconnects a screenshotr client from the device and frees up the
screenshotr client data.
</summary>
<param name="client">
The screenshotr client to disconnect and free.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, or SCREENSHOTR_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.IScreenshotrApi.screenshotr_take_screenshot(iMobi
leDevice.Screenshotr.ScreenshotrClientHandle,System.IntPtr@,System.UInt64@)">
<summary>
Get a screen shot from the connected device.
</summary>
<param name="client">
The connection screenshotr service client.
</param>
<param name="imgdata">
Pointer that will point to a newly allocated buffer
containing TIFF image data upon successful return. It is up to the
caller to free the memory.
</param>
<param name="imgsize">
Pointer to a uint64_t that will be set to the size of the
buffer imgdata points to upon successful return.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID_ARG if
one or more parameters are invalid, or another error code if an
error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.IScreenshotrApi.screenshotr_screenshot_free(Syste
m.IntPtr)">
<summary>
Frees the memory used by a screen shot
</summary>
<param name="imgdata">
The screenshot
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success
</returns>
</member>
<member name="F:iMobileDevice.Screenshotr.ScreenshotrApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Screenshotr.ScreenshotrApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrApi.#ctor(iMobileDevice.ILibiMobileDev
ice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Screenshotr"/>.
</param>
</member>
<member name="P:iMobileDevice.Screenshotr.ScreenshotrApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrApi.screenshotr_client_new(iMobileDevi
ce.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMo
bileDevice.Screenshotr.ScreenshotrClientHandle@)">
<summary>
Connects to the screenshotr service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
screenshotr_client_t upon successful return.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID ARG if one
or more parameters are invalid, or SCREENSHOTR_E_CONN_FAILED if the
connection to the device could not be established.
</returns>
<remarks>
This service is only available if a developer disk image has been
mounted.
</remarks>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrApi.screenshotr_client_start_service(i
MobileDevice.iDevice.iDeviceHandle,iMobileDevice.Screenshotr.ScreenshotrClientHandl
e@,System.String)">
<summary>
Starts a new screenshotr service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
screenshotr_client_t upon successful return. Must be freed using
screenshotr_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, or an SCREENSHOTR_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrApi.screenshotr_client_free(System.Int
Ptr)">
<summary>
Disconnects a screenshotr client from the device and frees up the
screenshotr client data.
</summary>
<param name="client">
The screenshotr client to disconnect and free.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, or SCREENSHOTR_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrApi.screenshotr_take_screenshot(iMobil
eDevice.Screenshotr.ScreenshotrClientHandle,System.IntPtr@,System.UInt64@)">
<summary>
Get a screen shot from the connected device.
</summary>
<param name="client">
The connection screenshotr service client.
</param>
<param name="imgdata">
Pointer that will point to a newly allocated buffer
containing TIFF image data upon successful return. It is up to the
caller to free the memory.
</param>
<param name="imgsize">
Pointer to a uint64_t that will be set to the size of the
buffer imgdata points to upon successful return.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID_ARG if
one or more parameters are invalid, or another error code if an
error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrApi.screenshotr_screenshot_free(System
.IntPtr)">
<summary>
Frees the memory used by a screen shot
</summary>
<param name="imgdata">
The screenshot
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success
</returns>
</member>
<member name="T:iMobileDevice.Screenshotr.ScreenshotrClientHandle">
<summary>
Represents a wrapper class for Screenshotr handles.
</summary>
</member>
<member name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Screenshotr.ScreenshotrClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Screenshotr.ScreenshotrClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.DangerousCreate(System.In
tPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.DangerousCreate(System.In
tPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.op_Equality(iMobileDevice
.Screenshotr.ScreenshotrClientHandle,iMobileDevice.Screenshotr.ScreenshotrClientHan
dle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrClientHandle.op_Inequality(iMobileDevi
ce.Screenshotr.ScreenshotrClientHandle,iMobileDevice.Screenshotr.ScreenshotrClientH
andle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Screenshotr.ScreenshotrError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Screenshotr.ScreenshotrException">
Represents an exception that occurred when interacting with the
Screenshotr API.
</member>
<member name="F:iMobileDevice.Screenshotr.ScreenshotrException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Screenshotr.ScreenshotrException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Screenshotr.ScreenshotrException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrException.#ctor(iMobileDevice.Screensh
otr.ScreenshotrError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrException"/> class with a specified
error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrException.#ctor(iMobileDevice.Screensh
otr.ScreenshotrError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrException"/> class with a specified
error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrException"/> class with a specified
error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrException.#ctor(System.String,System.E
xception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrException"/> class with a specified
error message and a reference to the inner exception that is the cause of this
exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrException.#ctor(System.Runtime.Seriali
zation.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Screenshotr.ScreenshotrException"/> class with serialized
data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Screenshotr.ScreenshotrException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrNativeMethods.screenshotr_client_new(i
MobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptor
Handle,iMobileDevice.Screenshotr.ScreenshotrClientHandle@)">
<summary>
Connects to the screenshotr service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
screenshotr_client_t upon successful return.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID ARG if one
or more parameters are invalid, or SCREENSHOTR_E_CONN_FAILED if the
connection to the device could not be established.
</returns>
<remarks>
This service is only available if a developer disk image has been
mounted.
</remarks>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrNativeMethods.screenshotr_client_start
_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Screenshotr.ScreenshotrC
lientHandle@,System.String)">
<summary>
Starts a new screenshotr service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
screenshotr_client_t upon successful return. Must be freed using
screenshotr_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, or an SCREENSHOTR_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrNativeMethods.screenshotr_client_free(
System.IntPtr)">
<summary>
Disconnects a screenshotr client from the device and frees up the
screenshotr client data.
</summary>
<param name="client">
The screenshotr client to disconnect and free.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, or SCREENSHOTR_E_INVALID_ARG
if client is NULL.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrNativeMethods.screenshotr_take_screens
hot(iMobileDevice.Screenshotr.ScreenshotrClientHandle,System.IntPtr@,System.UInt64@
)">
<summary>
Get a screen shot from the connected device.
</summary>
<param name="client">
The connection screenshotr service client.
</param>
<param name="imgdata">
Pointer that will point to a newly allocated buffer
containing TIFF image data upon successful return. It is up to the
caller to free the memory.
</param>
<param name="imgsize">
Pointer to a uint64_t that will be set to the size of the
buffer imgdata points to upon successful return.
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID_ARG if
one or more parameters are invalid, or another error code if an
error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.Screenshotr.ScreenshotrNativeMethods.screenshotr_screenshot_f
ree(System.IntPtr)">
<summary>
Frees the memory used by a screen shot
</summary>
<param name="imgdata">
The screenshot
</param>
<returns>
SCREENSHOTR_E_SUCCESS on success
</returns>
</member>
<member name="P:iMobileDevice.Service.IServiceApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Service"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_client_new(iMobileDevice.iDevice.
iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevice.
Service.ServiceClientHandle@)">
<summary>
Creates a new service for the specified service descriptor.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
service_client_t upon successful return.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one of the arguments is invalid,
or SERVICE_E_MUX_ERROR when connecting to the device failed.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_client_factory_start_service(iMob
ileDevice.iDevice.iDeviceHandle,System.String,System.IntPtr@,System.String,iMobileD
evice.Service.ConstructorFunc@,System.Int32@)">
<summary>
Starts a new service on the specified device with given name and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service_name">
The name of the service to start.
</param>
<param name="client">
Pointer that will point to a newly allocated service_client_t
upon successful return. Must be freed using service_client_free() after
use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SERVICE_E_SUCCESS on success, or a SERVICE_E_* error code
otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_client_free(System.IntPtr)">
<summary>
Frees a service instance.
</summary>
<param name="client">
The service instance to free.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when client is invalid, or a
SERVICE_E_UNKNOWN_ERROR when another error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_send(iMobileDevice.Service.Servic
eClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Sends data using the given service client.
</summary>
<param name="client">
The service client to use for sending.
</param>
<param name="data">
Data to send
</param>
<param name="size">
Size of the data to send
</param>
<param name="sent">
Number of bytes sent (can be NULL to ignore)
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_receive_with_timeout(iMobileDevic
e.Service.ServiceClientHandle,System.Byte[],System.UInt32,System.UInt32@,System.UIn
t32)">
<summary>
Receives data using the given service client with specified timeout.
</summary>
<param name="client">
The service client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, SERVICE_E_MUX_ERROR when a communication error
occurs, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_receive(iMobileDevice.Service.Ser
viceClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receives data using the given service client.
</summary>
<param name="client">
The service client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, SERVICE_E_TIMEOUT when the connection times out,
SERVICE_E_MUX_ERROR when a communication error
occurs, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_enable_ssl(iMobileDevice.Service.
ServiceClientHandle)">
<summary>
Enable SSL for the given service client.
</summary>
<param name="client">
The connected service client for that SSL should be enabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, SERVICE_E_TIMEOUT when the connection times out,
SERVICE_E_SSL_ERROR when SSL could not be enabled,
or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_disable_ssl(iMobileDevice.Service
.ServiceClientHandle)">
<summary>
Disable SSL for the given service client.
</summary>
<param name="client">
The connected service client for that SSL should be disabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.IServiceApi.service_disable_bypass_ssl(iMobileDevice.
Service.ServiceClientHandle,System.Char)">
<summary>
Disable SSL for the given service client without sending SSL terminate
messages.
</summary>
<param name="client">
The connected service client for that SSL should be disabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member name="F:iMobileDevice.Service.ServiceApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Service.ServiceApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Service"/>.
</param>
</member>
<member name="P:iMobileDevice.Service.ServiceApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_client_new(iMobileDevice.iDevice.i
DeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobileDevice.S
ervice.ServiceClientHandle@)">
<summary>
Creates a new service for the specified service descriptor.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
service_client_t upon successful return.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one of the arguments is invalid,
or SERVICE_E_MUX_ERROR when connecting to the device failed.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_client_factory_start_service(iMobi
leDevice.iDevice.iDeviceHandle,System.String,System.IntPtr@,System.String,iMobileDe
vice.Service.ConstructorFunc@,System.Int32@)">
<summary>
Starts a new service on the specified device with given name and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service_name">
The name of the service to start.
</param>
<param name="client">
Pointer that will point to a newly allocated service_client_t
upon successful return. Must be freed using service_client_free() after
use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SERVICE_E_SUCCESS on success, or a SERVICE_E_* error code
otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_client_free(System.IntPtr)">
<summary>
Frees a service instance.
</summary>
<param name="client">
The service instance to free.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when client is invalid, or a
SERVICE_E_UNKNOWN_ERROR when another error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_send(iMobileDevice.Service.Service
ClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Sends data using the given service client.
</summary>
<param name="client">
The service client to use for sending.
</param>
<param name="data">
Data to send
</param>
<param name="size">
Size of the data to send
</param>
<param name="sent">
Number of bytes sent (can be NULL to ignore)
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_receive_with_timeout(iMobileDevice
.Service.ServiceClientHandle,System.Byte[],System.UInt32,System.UInt32@,System.UInt
32)">
<summary>
Receives data using the given service client with specified timeout.
</summary>
<param name="client">
The service client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, SERVICE_E_MUX_ERROR when a communication error
occurs, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_receive(iMobileDevice.Service.Serv
iceClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receives data using the given service client.
</summary>
<param name="client">
The service client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, SERVICE_E_TIMEOUT when the connection times out,
SERVICE_E_MUX_ERROR when a communication error
occurs, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_enable_ssl(iMobileDevice.Service.S
erviceClientHandle)">
<summary>
Enable SSL for the given service client.
</summary>
<param name="client">
The connected service client for that SSL should be enabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, SERVICE_E_TIMEOUT when the connection times out,
SERVICE_E_SSL_ERROR when SSL could not be enabled,
or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_disable_ssl(iMobileDevice.Service.
ServiceClientHandle)">
<summary>
Disable SSL for the given service client.
</summary>
<param name="client">
The connected service client for that SSL should be disabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceApi.service_disable_bypass_ssl(iMobileDevice.S
ervice.ServiceClientHandle,System.Char)">
<summary>
Disable SSL for the given service client without sending SSL terminate
messages.
</summary>
<param name="client">
The connected service client for that SSL should be disabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member name="T:iMobileDevice.Service.ServiceClientHandle">
<summary>
Represents a wrapper class for Service handles.
</summary>
</member>
<member name="M:iMobileDevice.Service.ServiceClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Service.ServiceClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceClientHandle"/> class, specifying whether the
handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.Service.ServiceClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.Service.ServiceClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member name="M:iMobileDevice.Service.ServiceClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Service.ServiceClientHandle.DangerousCreate(System.IntPtr,Sys
tem.Boolean)">
<summary>
Creates a new <see cref="T:iMobileDevice.Service.ServiceClientHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceClientHandle.DangerousCreate(System.IntPtr)">
<summary>
Creates a new <see cref="T:iMobileDevice.Service.ServiceClientHandle"/>
from a <see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member name="M:iMobileDevice.Service.ServiceClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Service.ServiceClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:iMobileDevice.Service.ServiceClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Service.ServiceClientHandle.op_Equality(iMobileDevice.Service
.ServiceClientHandle,iMobileDevice.Service.ServiceClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Service.ServiceClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceClientHandle.op_Inequality(iMobileDevice.Servi
ce.ServiceClientHandle,iMobileDevice.Service.ServiceClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Service.ServiceClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Service.ServiceError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.Service.ServiceException">
Represents an exception that occurred when interacting with the Service
API.
</member>
<member name="F:iMobileDevice.Service.ServiceException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Service.ServiceException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.Service.ServiceException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Service.ServiceException.#ctor(iMobileDevice.Service.ServiceE
rror)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceException"/> class with a specified error
code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.Service.ServiceException.#ctor(iMobileDevice.Service.ServiceE
rror,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceException"/> class with a specified error code
and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Service.ServiceException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceException"/> class with a specified error
message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.Service.ServiceException.#ctor(System.String,System.Exception
)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.Service.ServiceException.#ctor(System.Runtime.Serialization.S
erializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Service.ServiceException"/> class with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.Service.ServiceException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_client_new(iMobileDevice
.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iMobi
leDevice.Service.ServiceClientHandle@)">
<summary>
Creates a new service for the specified service descriptor.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will be set to a newly allocated
service_client_t upon successful return.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one of the arguments is invalid,
or SERVICE_E_MUX_ERROR when connecting to the device failed.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_client_factory_start_ser
vice(iMobileDevice.iDevice.iDeviceHandle,System.String,System.IntPtr@,System.String
,iMobileDevice.Service.ConstructorFunc@,System.Int32@)">
<summary>
Starts a new service on the specified device with given name and
connects to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service_name">
The name of the service to start.
</param>
<param name="client">
Pointer that will point to a newly allocated service_client_t
upon successful return. Must be freed using service_client_free() after
use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SERVICE_E_SUCCESS on success, or a SERVICE_E_* error code
otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_client_free(System.IntPt
r)">
<summary>
Frees a service instance.
</summary>
<param name="client">
The service instance to free.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when client is invalid, or a
SERVICE_E_UNKNOWN_ERROR when another error occurred.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_send(iMobileDevice.Servi
ce.ServiceClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Sends data using the given service client.
</summary>
<param name="client">
The service client to use for sending.
</param>
<param name="data">
Data to send
</param>
<param name="size">
Size of the data to send
</param>
<param name="sent">
Number of bytes sent (can be NULL to ignore)
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_receive_with_timeout(iMo
bileDevice.Service.ServiceClientHandle,System.Byte[],System.UInt32,System.UInt32@,S
ystem.UInt32)">
<summary>
Receives data using the given service client with specified timeout.
</summary>
<param name="client">
The service client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, SERVICE_E_MUX_ERROR when a communication error
occurs, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_receive(iMobileDevice.Se
rvice.ServiceClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receives data using the given service client.
</summary>
<param name="client">
The service client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG when one or more parameters are
invalid, SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, SERVICE_E_TIMEOUT when the connection times out,
SERVICE_E_MUX_ERROR when a communication error
occurs, or SERVICE_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_enable_ssl(iMobileDevice
.Service.ServiceClientHandle)">
<summary>
Enable SSL for the given service client.
</summary>
<param name="client">
The connected service client for that SSL should be enabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, SERVICE_E_NOT_ENOUGH_DATA when not enough data
received, SERVICE_E_TIMEOUT when the connection times out,
SERVICE_E_SSL_ERROR when SSL could not be enabled,
or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_disable_ssl(iMobileDevic
e.Service.ServiceClientHandle)">
<summary>
Disable SSL for the given service client.
</summary>
<param name="client">
The connected service client for that SSL should be disabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Service.ServiceNativeMethods.service_disable_bypass_ssl(iMobi
leDevice.Service.ServiceClientHandle,System.Char)">
<summary>
Disable SSL for the given service client without sending SSL terminate
messages.
</summary>
<param name="client">
The connected service client for that SSL should be disabled.
</param>
<returns>
SERVICE_E_SUCCESS on success,
SERVICE_E_INVALID_ARG if client or client->connection is
NULL, or SERVICE_E_UNKNOWN_ERROR otherwise.
</returns>
</member>
<member
name="P:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.SpringBoardServices"/>.
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_client
_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDesc
riptorHandle,iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle@)">
<summary>
Connects to the springboardservices service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
sbservices_client_t upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_client
_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.SpringBoardService
s.SpringBoardServicesClientHandle@,System.String)">
<summary>
Starts a new sbservices service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
sbservices_client_t upon successful return. Must be freed using
sbservices_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_client
_free(System.IntPtr)">
<summary>
Disconnects an sbservices client from the device and frees up the
sbservices client data.
</summary>
<param name="client">
The sbservices client to disconnect and free.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_get_ic
on_state(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,iMobileD
evice.Plist.PlistHandle@,System.String)">
<summary>
Gets the icon state of the connected device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="state">
Pointer that will point to a newly allocated plist containing
the current icon state. It is up to the caller to free the memory.
</param>
<param name="format_version">
A string to be passed as formatVersion along with
the request, or NULL if no formatVersion should be passed. This is only
supported since iOS 4.0 so for older firmware versions this must be set
to NULL.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or state is invalid, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_set_ic
on_state(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,iMobileD
evice.Plist.PlistHandle)">
<summary>
Sets the icon state of the connected device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="newstate">
A plist containing the new iconstate.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or newstate is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_get_ic
on_pngdata(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,System
.String,System.IntPtr@,System.UInt64@)">
<summary>
Get the icon of the specified app as PNG data.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="bundleId">
The bundle identifier of the app to retrieve the icon for.
</param>
<param name="pngdata">
Pointer that will point to a newly allocated buffer
containing the PNG data upon successful return. It is up to the caller
to free the memory.
</param>
<param name="pngsize">
Pointer to a uint64_t that will be set to the size of the
buffer pngdata points to upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client, bundleId, or pngdata are invalid, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_get_in
terface_orientation(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHand
le,iMobileDevice.SpringBoardServices.SpringBoardServicesInterfaceOrientation@)">
<summary>
Gets the interface orientation of the device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="interface_orientation">
The interface orientation upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or state is invalid, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.ISpringBoardServicesApi.sbservices_get_ho
me_screen_wallpaper_pngdata(iMobileDevice.SpringBoardServices.SpringBoardServicesCl
ientHandle,System.IntPtr@,System.UInt64@)">
<summary>
Get the home screen wallpaper as PNG data.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="pngdata">
Pointer that will point to a newly allocated buffer
containing the PNG data upon successful return. It is up to the caller
to free the memory.
</param>
<param name="pngsize">
Pointer to a uint64_t that will be set to the size of the
buffer pngdata points to upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or pngdata are invalid, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="F:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.#ctor(iMobileDevic
e.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.SpringBoardServices"/>.
</param>
</member>
<member
name="P:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_client_
new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescr
iptorHandle,iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle@)">
<summary>
Connects to the springboardservices service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
sbservices_client_t upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_client_
start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.SpringBoardServices
.SpringBoardServicesClientHandle@,System.String)">
<summary>
Starts a new sbservices service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
sbservices_client_t upon successful return. Must be freed using
sbservices_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_client_
free(System.IntPtr)">
<summary>
Disconnects an sbservices client from the device and frees up the
sbservices client data.
</summary>
<param name="client">
The sbservices client to disconnect and free.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_get_ico
n_state(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,iMobileDe
vice.Plist.PlistHandle@,System.String)">
<summary>
Gets the icon state of the connected device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="state">
Pointer that will point to a newly allocated plist containing
the current icon state. It is up to the caller to free the memory.
</param>
<param name="format_version">
A string to be passed as formatVersion along with
the request, or NULL if no formatVersion should be passed. This is only
supported since iOS 4.0 so for older firmware versions this must be set
to NULL.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or state is invalid, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_set_ico
n_state(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,iMobileDe
vice.Plist.PlistHandle)">
<summary>
Sets the icon state of the connected device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="newstate">
A plist containing the new iconstate.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or newstate is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_get_ico
n_pngdata(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,System.
String,System.IntPtr@,System.UInt64@)">
<summary>
Get the icon of the specified app as PNG data.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="bundleId">
The bundle identifier of the app to retrieve the icon for.
</param>
<param name="pngdata">
Pointer that will point to a newly allocated buffer
containing the PNG data upon successful return. It is up to the caller
to free the memory.
</param>
<param name="pngsize">
Pointer to a uint64_t that will be set to the size of the
buffer pngdata points to upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client, bundleId, or pngdata are invalid, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_get_int
erface_orientation(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandl
e,iMobileDevice.SpringBoardServices.SpringBoardServicesInterfaceOrientation@)">
<summary>
Gets the interface orientation of the device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="interface_orientation">
The interface orientation upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or state is invalid, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesApi.sbservices_get_hom
e_screen_wallpaper_pngdata(iMobileDevice.SpringBoardServices.SpringBoardServicesCli
entHandle,System.IntPtr@,System.UInt64@)">
<summary>
Get the home screen wallpaper as PNG data.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="pngdata">
Pointer that will point to a newly allocated buffer
containing the PNG data upon successful return. It is up to the caller
to free the memory.
</param>
<param name="pngsize">
Pointer to a uint64_t that will be set to the size of the
buffer pngdata points to upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or pngdata are invalid, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="T:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle">
<summary>
Represents a wrapper class for SpringBoardServices handles.
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.#ctor(Sys
tem.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle"/> class,
specifying whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.ReleaseHa
ndle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.Dangerous
Create(System.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.Dangerous
Create(System.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle"/> from a
<see cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.ToString"
>
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.Equals(Sy
stem.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.GetHashCo
de">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.op_Equali
ty(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,iMobileDevice.
SpringBoardServices.SpringBoardServicesClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle"/> are
equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle.op_Inequa
lity(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle,iMobileDevic
e.SpringBoardServices.SpringBoardServicesClientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle"/> are
not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="T:iMobileDevice.SpringBoardServices.SpringBoardServicesError">
<summary>
Error Codes
</summary>
</member>
<member
name="T:iMobileDevice.SpringBoardServices.SpringBoardServicesException">
Represents an exception that occurred when interacting with the
SpringBoardServices API.
</member>
<member
name="F:iMobileDevice.SpringBoardServices.SpringBoardServicesException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.SpringBoardServices.SpringBoardServicesException.ErrorCode"/>
property.
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesException.#ctor(iMobil
eDevice.SpringBoardServices.SpringBoardServicesError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesException"/> class
with a specified error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesException.#ctor(iMobil
eDevice.SpringBoardServices.SpringBoardServicesError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesException"/> class
with a specified error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesException.#ctor(System
.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesException"/> class
with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesException.#ctor(System
.String,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesException"/> class
with a specified error message and a reference to the inner exception that is the
cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesException.#ctor(System
.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingCont
ext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SpringBoardServices.SpringBoardServicesException"/> class
with serialized data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.SpringBoardServices.SpringBoardServicesException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_client_new(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownSe
rviceDescriptorHandle,iMobileDevice.SpringBoardServices.SpringBoardServicesClientHa
ndle@)">
<summary>
Connects to the springboardservices service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
sbservices_client_t upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_client_start_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.SpringBoa
rdServices.SpringBoardServicesClientHandle@,System.String)">
<summary>
Starts a new sbservices service on the specified device and connects to
it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
sbservices_client_t upon successful return. Must be freed using
sbservices_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_client_free(System.IntPtr)">
<summary>
Disconnects an sbservices client from the device and frees up the
sbservices client data.
</summary>
<param name="client">
The sbservices client to disconnect and free.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_get_icon_state(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle
,iMobileDevice.Plist.PlistHandle@,System.String)">
<summary>
Gets the icon state of the connected device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="state">
Pointer that will point to a newly allocated plist containing
the current icon state. It is up to the caller to free the memory.
</param>
<param name="format_version">
A string to be passed as formatVersion along with
the request, or NULL if no formatVersion should be passed. This is only
supported since iOS 4.0 so for older firmware versions this must be set
to NULL.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or state is invalid, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_set_icon_state(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHandle
,iMobileDevice.Plist.PlistHandle)">
<summary>
Sets the icon state of the connected device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="newstate">
A plist containing the new iconstate.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or newstate is NULL, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_get_icon_pngdata(iMobileDevice.SpringBoardServices.SpringBoardServicesClientHand
le,System.String,System.IntPtr@,System.UInt64@)">
<summary>
Get the icon of the specified app as PNG data.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="bundleId">
The bundle identifier of the app to retrieve the icon for.
</param>
<param name="pngdata">
Pointer that will point to a newly allocated buffer
containing the PNG data upon successful return. It is up to the caller
to free the memory.
</param>
<param name="pngsize">
Pointer to a uint64_t that will be set to the size of the
buffer pngdata points to upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client, bundleId, or pngdata are invalid, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_get_interface_orientation(iMobileDevice.SpringBoardServices.SpringBoardServicesC
lientHandle,iMobileDevice.SpringBoardServices.SpringBoardServicesInterfaceOrientati
on@)">
<summary>
Gets the interface orientation of the device.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="interface_orientation">
The interface orientation upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or state is invalid, or an SBSERVICES_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SpringBoardServices.SpringBoardServicesNativeMethods.sbservic
es_get_home_screen_wallpaper_pngdata(iMobileDevice.SpringBoardServices.SpringBoardS
ervicesClientHandle,System.IntPtr@,System.UInt64@)">
<summary>
Get the home screen wallpaper as PNG data.
</summary>
<param name="client">
The connected sbservices client to use.
</param>
<param name="pngdata">
Pointer that will point to a newly allocated buffer
containing the PNG data upon successful return. It is up to the caller
to free the memory.
</param>
<param name="pngsize">
Pointer to a uint64_t that will be set to the size of the
buffer pngdata points to upon successful return.
</param>
<returns>
SBSERVICES_E_SUCCESS on success, SBSERVICES_E_INVALID_ARG when
client or pngdata are invalid, or an SBSERVICES_E_* error
code otherwise.
</returns>
</member>
<member name="P:iMobileDevice.SyslogRelay.ISyslogRelayApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.SyslogRelay"/>.
</summary>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_client_new(iMobileDe
vice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,i
MobileDevice.SyslogRelay.SyslogRelayClientHandle@)">
<summary>
Connects to the syslog_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
syslog_relay_client_t upon successful return. Must be freed using
syslog_relay_client_free() after use.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, SYSLOG_RELAY_E_INVALID_ARG when
client is NULL, or an SYSLOG_RELAY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_client_start_service
(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.SyslogRelay.SyslogRelayClientHan
dle@,System.String)">
<summary>
Starts a new syslog_relay service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
syslog_relay_client_t upon successful return. Must be freed using
syslog_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, or an SYSLOG_RELAY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_client_free(System.I
ntPtr)">
<summary>
Disconnects a syslog_relay client from the device and frees up the
syslog_relay client data.
</summary>
<param name="client">
The syslog_relay client to disconnect and free.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, SYSLOG_RELAY_E_INVALID_ARG when
client is NULL, or an SYSLOG_RELAY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_start_capture(iMobil
eDevice.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.SyslogRelayRe
ceiveCallBack,System.IntPtr)">
<summary>
Starts capturing the syslog of the device using a callback.
Use syslog_relay_stop_capture() to stop receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<param name="callback">
Callback to receive each character from the syslog.
</param>
<param name="user_data">
Custom pointer passed to the callback function.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_start_capture_raw(iM
obileDevice.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.SyslogRel
ayReceiveCallBack,System.IntPtr)">
<summary>
Starts capturing the *raw* syslog of the device using a callback.
This function is like syslog_relay_start_capture with the difference
that
it will neither check nor process the received data before passing it
to
the callback function.
Use syslog_relay_stop_capture() to stop receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<param name="callback">
Callback to receive each character from the syslog.
</param>
<param name="user_data">
Custom pointer passed to the callback function.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
<remarks>
Use syslog_relay_start_capture for a safer implementation.
</remarks>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_stop_capture(iMobile
Device.SyslogRelay.SyslogRelayClientHandle)">
<summary>
Stops capturing the syslog of the device.
Use syslog_relay_start_capture() to start receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_receive_with_timeout
(iMobileDevice.SyslogRelay.SyslogRelayClientHandle,System.Byte[],System.UInt32,Syst
em.UInt32@,System.UInt32)">
<summary>
Receives data using the given syslog_relay client with specified
timeout.
</summary>
<param name="client">
The syslog_relay client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid, SYSLOG_RELAY_E_MUX_ERROR when a communication error
occurs, or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.ISyslogRelayApi.syslog_relay_receive(iMobileDevic
e.SyslogRelay.SyslogRelayClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receives data from the service.
</summary>
<param name="client">
The syslog_relay client
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member name="F:iMobileDevice.SyslogRelay.SyslogRelayApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.SyslogRelay.SyslogRelayApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.#ctor(iMobileDevice.ILibiMobileDev
ice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.SyslogRelay"/>.
</param>
</member>
<member name="P:iMobileDevice.SyslogRelay.SyslogRelayApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_client_new(iMobileDev
ice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,iM
obileDevice.SyslogRelay.SyslogRelayClientHandle@)">
<summary>
Connects to the syslog_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
syslog_relay_client_t upon successful return. Must be freed using
syslog_relay_client_free() after use.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, SYSLOG_RELAY_E_INVALID_ARG when
client is NULL, or an SYSLOG_RELAY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_client_start_service(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.SyslogRelay.SyslogRelayClientHand
le@,System.String)">
<summary>
Starts a new syslog_relay service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
syslog_relay_client_t upon successful return. Must be freed using
syslog_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, or an SYSLOG_RELAY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_client_free(System.In
tPtr)">
<summary>
Disconnects a syslog_relay client from the device and frees up the
syslog_relay client data.
</summary>
<param name="client">
The syslog_relay client to disconnect and free.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, SYSLOG_RELAY_E_INVALID_ARG when
client is NULL, or an SYSLOG_RELAY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_start_capture(iMobile
Device.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.SyslogRelayRec
eiveCallBack,System.IntPtr)">
<summary>
Starts capturing the syslog of the device using a callback.
Use syslog_relay_stop_capture() to stop receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<param name="callback">
Callback to receive each character from the syslog.
</param>
<param name="user_data">
Custom pointer passed to the callback function.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_start_capture_raw(iMo
bileDevice.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.SyslogRela
yReceiveCallBack,System.IntPtr)">
<summary>
Starts capturing the *raw* syslog of the device using a callback.
This function is like syslog_relay_start_capture with the difference
that
it will neither check nor process the received data before passing it
to
the callback function.
Use syslog_relay_stop_capture() to stop receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<param name="callback">
Callback to receive each character from the syslog.
</param>
<param name="user_data">
Custom pointer passed to the callback function.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
<remarks>
Use syslog_relay_start_capture for a safer implementation.
</remarks>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_stop_capture(iMobileD
evice.SyslogRelay.SyslogRelayClientHandle)">
<summary>
Stops capturing the syslog of the device.
Use syslog_relay_start_capture() to start receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_receive_with_timeout(
iMobileDevice.SyslogRelay.SyslogRelayClientHandle,System.Byte[],System.UInt32,Syste
m.UInt32@,System.UInt32)">
<summary>
Receives data using the given syslog_relay client with specified
timeout.
</summary>
<param name="client">
The syslog_relay client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid, SYSLOG_RELAY_E_MUX_ERROR when a communication error
occurs, or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayApi.syslog_relay_receive(iMobileDevice
.SyslogRelay.SyslogRelayClientHandle,System.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receives data from the service.
</summary>
<param name="client">
The syslog_relay client
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member name="T:iMobileDevice.SyslogRelay.SyslogRelayClientHandle">
<summary>
Represents a wrapper class for SyslogRelay handles.
</summary>
</member>
<member name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.DangerousCreate(System.In
tPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.DangerousCreate(System.In
tPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.op_Equality(iMobileDevice
.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.SyslogRelayClientHan
dle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayClientHandle.op_Inequality(iMobileDevi
ce.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.SyslogRelayClientH
andle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.SyslogRelay.SyslogRelayError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.SyslogRelay.SyslogRelayException">
Represents an exception that occurred when interacting with the
SyslogRelay API.
</member>
<member name="F:iMobileDevice.SyslogRelay.SyslogRelayException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.SyslogRelay.SyslogRelayException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.SyslogRelay.SyslogRelayException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayException.#ctor(iMobileDevice.SyslogRe
lay.SyslogRelayError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayException"/> class with a specified
error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayException.#ctor(iMobileDevice.SyslogRe
lay.SyslogRelayError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayException"/> class with a specified
error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayException"/> class with a specified
error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayException.#ctor(System.String,System.E
xception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayException"/> class with a specified
error message and a reference to the inner exception that is the cause of this
exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayException.#ctor(System.Runtime.Seriali
zation.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.SyslogRelay.SyslogRelayException"/> class with serialized
data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member name="P:iMobileDevice.SyslogRelay.SyslogRelayException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_client_new(
iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescripto
rHandle,iMobileDevice.SyslogRelay.SyslogRelayClientHandle@)">
<summary>
Connects to the syslog_relay service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
syslog_relay_client_t upon successful return. Must be freed using
syslog_relay_client_free() after use.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, SYSLOG_RELAY_E_INVALID_ARG when
client is NULL, or an SYSLOG_RELAY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_client_star
t_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.SyslogRelay.SyslogRelay
ClientHandle@,System.String)">
<summary>
Starts a new syslog_relay service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
syslog_relay_client_t upon successful return. Must be freed using
syslog_relay_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, or an SYSLOG_RELAY_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_client_free
(System.IntPtr)">
<summary>
Disconnects a syslog_relay client from the device and frees up the
syslog_relay client data.
</summary>
<param name="client">
The syslog_relay client to disconnect and free.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success, SYSLOG_RELAY_E_INVALID_ARG when
client is NULL, or an SYSLOG_RELAY_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_start_captu
re(iMobileDevice.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.Sysl
ogRelayReceiveCallBack,System.IntPtr)">
<summary>
Starts capturing the syslog of the device using a callback.
Use syslog_relay_stop_capture() to stop receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<param name="callback">
Callback to receive each character from the syslog.
</param>
<param name="user_data">
Custom pointer passed to the callback function.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_start_captu
re_raw(iMobileDevice.SyslogRelay.SyslogRelayClientHandle,iMobileDevice.SyslogRelay.
SyslogRelayReceiveCallBack,System.IntPtr)">
<summary>
Starts capturing the *raw* syslog of the device using a callback.
This function is like syslog_relay_start_capture with the difference
that
it will neither check nor process the received data before passing it
to
the callback function.
Use syslog_relay_stop_capture() to stop receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<param name="callback">
Callback to receive each character from the syslog.
</param>
<param name="user_data">
Custom pointer passed to the callback function.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
<remarks>
Use syslog_relay_start_capture for a safer implementation.
</remarks>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_stop_captur
e(iMobileDevice.SyslogRelay.SyslogRelayClientHandle)">
<summary>
Stops capturing the syslog of the device.
Use syslog_relay_start_capture() to start receiving the syslog.
</summary>
<param name="client">
The syslog_relay client to use
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs or a syslog capture has already been started.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_receive_wit
h_timeout(iMobileDevice.SyslogRelay.SyslogRelayClientHandle,System.Byte[],System.UI
nt32,System.UInt32@,System.UInt32)">
<summary>
Receives data using the given syslog_relay client with specified
timeout.
</summary>
<param name="client">
The syslog_relay client to use for receiving
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when one or more parameters are
invalid, SYSLOG_RELAY_E_MUX_ERROR when a communication error
occurs, or SYSLOG_RELAY_E_UNKNOWN_ERROR when an unspecified
error occurs.
</returns>
</member>
<member
name="M:iMobileDevice.SyslogRelay.SyslogRelayNativeMethods.syslog_relay_receive(iMo
bileDevice.SyslogRelay.SyslogRelayClientHandle,System.Byte[],System.UInt32,System.U
Int32@)">
<summary>
Receives data from the service.
</summary>
<param name="client">
The syslog_relay client
</param>
<param name="data">
Buffer that will be filled with the data received
</param>
<param name="size">
Number of bytes to receive
</param>
<param name="received">
Number of bytes received (can be NULL to ignore)
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
SYSLOG_RELAY_E_SUCCESS on success,
SYSLOG_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member name="P:iMobileDevice.Usbmuxd.IUsbmuxdApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.Usbmuxd"/>.
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_events_subscribe(iMobileDevice.Us
bmuxd.UsbmuxdSubscriptionContextHandle@,iMobileDevice.Usbmuxd.UsbmuxdEventCallBack,
System.IntPtr)">
<summary>
Subscribe a callback function to be called upon device add/remove
events.
This method can be called multiple times to register multiple callbacks
since every subscription will have its own context (returned in the
first parameter).
</summary>
<param name="context">
A pointer to a usbmuxd_subscription_context_t that will be
set upon creation of the subscription. The returned context must be
passed to usbmuxd_events_unsubscribe() to unsubscribe the callback.
</param>
<param name="callback">
A callback function that is executed when an event occurs.
</param>
<param name="user_data">
Custom data passed on to the callback function. The data
needs to be kept available until the callback function is unsubscribed.
</param>
<returns>
0 on success or a negative errno value.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_events_unsubscribe(iMobileDevice.
Usbmuxd.UsbmuxdSubscriptionContextHandle)">
<summary>
Unsubscribe callback function
</summary>
<param name="context">
A valid context as returned from usbmuxd_events_subscribe().
</param>
<returns>
0 on success or a negative errno value.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_subscribe(iMobileDevice.Usbmuxd.U
sbmuxdEventCallBack,System.IntPtr)">
<summary>
Subscribe a callback (deprecated)
</summary>
<param name="callback">
A callback function that is executed when an event occurs.
</param>
<param name="user_data">
Custom data passed on to the callback function. The data
needs to be kept available until the callback function is unsubscribed.
</param>
<returns>
0 on success or negative on error.
</returns>
<remarks>
Deprecated. Use usbmuxd_events_subscribe and usbmuxd_events_unsubscribe
instead.
</remarks>
</member>
<member name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_unsubscribe">
<summary>
Unsubscribe callback (deprecated)
</summary>
<returns>
0 on success or negative on error.
</returns>
<remarks>
Deprecated. Use usbmuxd_events_subscribe and usbmuxd_events_unsubscribe
instead.
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_get_device_list(System.IntPtr@)">
<summary>
Contacts usbmuxd and retrieves a list of connected devices.
</summary>
<param name="device_list">
A pointer to an array of usbmuxd_device_info_t
that will hold records of the connected devices. The last record
is a null-terminated record with all fields set to 0/NULL.
</param>
<returns>
number of attached devices, zero on no devices, or negative
if an error occured.
</returns>
<remarks>
The user has to free the list returned.
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_device_list_free(System.IntPtr)">
<summary>
Frees the device list returned by an usbmuxd_get_device_list call
</summary>
<param name="device_list">
A pointer to an array of usbmuxd_device_info_t to free.
</param>
<returns>
0 on success, -1 on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_get_device_by_udid(System.String,
iMobileDevice.Usbmuxd.UsbmuxdDeviceInfo@)">
<summary>
Looks up the device specified by UDID and returns device information.
</summary>
<param name="udid">
A device UDID of the device to look for. If udid is NULL,
This function will return the first device found.
</param>
<param name="device">
Pointer to a previously allocated (or static)
usbmuxd_device_info_t that will be filled with the device info.
</param>
<returns>
0 if no matching device is connected, 1 if the device was found,
or a negative value on error.
</returns>
<remarks>
This function only considers devices connected through USB. To
query devices available via network, use usbmuxd_get_device().
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_get_device(System.String,iMobileD
evice.Usbmuxd.UsbmuxdDeviceInfo@,System.Int32)">
<summary>
Looks up the device specified by UDID with given options and returns
device information.
</summary>
<param name="udid">
A device UDID of the device to look for. If udid is NULL,
this function will return the first device found.
</param>
<param name="device">
Pointer to a previously allocated (or static)
usbmuxd_device_info_t that will be filled with the device info.
</param>
<param name="options">
Specifying what device connection types should be
considered during lookup. Accepts bitwise or'ed values of
usbmux_lookup_options.
If 0 (no option) is specified it will default to DEVICE_LOOKUP_USBMUX.
To lookup both USB and network-connected devices, pass
DEVICE_LOOKUP_USBMUX | DEVICE_LOOKUP_NETWORK. If a device is available
both via USBMUX *and* network, it will select the USB connection.
This behavior can be changed by adding DEVICE_LOOKUP_PREFER_NETWORK
to the options in which case it will select the network connection.
</param>
<returns>
0 if no matching device is connected, 1 if the device was found,
or a negative value on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_connect(System.UInt32,System.UInt
16)">
<summary>
Request proxy connection to the specified device and port.
</summary>
<param name="handle">
returned in the usbmux_device_info_t structure via
usbmuxd_get_device() or usbmuxd_get_device_list().
</param>
<param name="tcp_port">
TCP port number on device, in range 0-65535.
common values are 62078 for lockdown, and 22 for SSH.
</param>
<returns>
socket file descriptor of the connection, or a negative errno
value on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_disconnect(System.Int32)">
<summary>
Disconnect. For now, this just closes the socket file descriptor.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<returns>
0 on success, -1 on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_send(System.Int32,System.Byte[],S
ystem.UInt32,System.UInt32@)">
<summary>
Send data to the specified socket.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to send
</param>
<param name="len">
size of buffer to send
</param>
<param name="sent_bytes">
how many bytes sent
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_recv_timeout(System.Int32,System.
Byte[],System.UInt32,System.UInt32@,System.UInt32)">
<summary>
Receive data from the specified socket.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to put the data to
</param>
<param name="len">
number of bytes to receive
</param>
<param name="recv_bytes">
number of bytes received
</param>
<param name="timeout">
how many milliseconds to wait for data
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_recv(System.Int32,System.Byte[],S
ystem.UInt32,System.UInt32@)">
<summary>
Receive data from the specified socket with a default timeout.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to put the data to
</param>
<param name="len">
number of bytes to receive
</param>
<param name="recv_bytes">
number of bytes received
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_read_buid(System.String@)">
<summary>
Reads the SystemBUID
</summary>
<param name="buid">
pointer to a variable that will be set to point to a newly
allocated string with the System BUID returned by usbmuxd
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_read_pair_record(System.String,Sy
stem.String@,System.UInt32@)">
<summary>
Read a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to retrieve
</param>
<param name="record_data">
pointer to a variable that will be set to point to a
newly allocated buffer containing the pairing record data
</param>
<param name="record_size">
pointer to a variable that will be set to the size of
the buffer returned in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_save_pair_record(System.String,Sy
stem.String,System.UInt32)">
<summary>
Save a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to save
</param>
<param name="record_data">
buffer containing the pairing record data
</param>
<param name="record_size">
size of the buffer passed in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_save_pair_record_with_device_id(S
ystem.String,System.UInt32,System.String,System.UInt32)">
<summary>
Save a pairing record with device identifier
</summary>
<param name="record_id">
the record identifier of the pairing record to save
</param>
<param name="device_id">
the device identifier of the connected device, or 0
</param>
<param name="record_data">
buffer containing the pairing record data
</param>
<param name="record_size">
size of the buffer passed in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_delete_pair_record(System.String)
">
<summary>
Delete a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to delete.
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.libusbmuxd_set_use_inotify(System.Int32)"
>
<summary>
Enable or disable the use of inotify extension. Enabled by default.
Use 0 to disable and 1 to enable inotify support.
This only has an effect on linux systems if inotify support has been
built
in. Otherwise and on all other platforms this function has no effect.
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_set_socket_type(System.Int32)">
<summary>
Sets the socket type (Unix socket or TCP socket) libusbmuxd should use
when connecting
to usbmuxd.
</summary>
<param name="value">
SOCKET_TYPE_UNIX or SOCKET_TYPE_TCP
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_get_socket_type(System.Int32@)">
<summary>
Gets the socket type (Unix socket or TCP socket) libusbmuxd should use
when connecting
to usbmuxd.
</summary>
<param name="value">
A pointer to an integer which will reveive the current socket type
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_set_tcp_endpoint(System.String,Sy
stem.UInt16)">
<summary>
Sets the TCP endpoint to which usbmuxd will connect if the socket type
is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
The hostname or IP address to which to connect
</param>
<param name="port">
The port to which to connect.
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.IUsbmuxdApi.usbmuxd_get_tcp_endpoint(System.String@,S
ystem.UInt16@)">
<summary>
Gets the TCP endpoint to which usbmuxd will connect if th esocket type
is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
A pointer which will be set to the hostname or IP address to which to
connect.
The caller must free this string.
</param>
<param name="port">
The port to which to connect
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member name="T:iMobileDevice.Usbmuxd.UsbmuxConnectionType">
<summary>
Type of connection a device is available on
</summary>
</member>
<member name="F:iMobileDevice.Usbmuxd.UsbmuxdApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.Usbmuxd.UsbmuxdApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.#ctor(iMobileDevice.ILibiMobileDevice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Usbmuxd.UsbmuxdApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.Usbmuxd"/>.
</param>
</member>
<member name="P:iMobileDevice.Usbmuxd.UsbmuxdApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_events_subscribe(iMobileDevice.Usb
muxd.UsbmuxdSubscriptionContextHandle@,iMobileDevice.Usbmuxd.UsbmuxdEventCallBack,S
ystem.IntPtr)">
<summary>
Subscribe a callback function to be called upon device add/remove
events.
This method can be called multiple times to register multiple callbacks
since every subscription will have its own context (returned in the
first parameter).
</summary>
<param name="context">
A pointer to a usbmuxd_subscription_context_t that will be
set upon creation of the subscription. The returned context must be
passed to usbmuxd_events_unsubscribe() to unsubscribe the callback.
</param>
<param name="callback">
A callback function that is executed when an event occurs.
</param>
<param name="user_data">
Custom data passed on to the callback function. The data
needs to be kept available until the callback function is unsubscribed.
</param>
<returns>
0 on success or a negative errno value.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_events_unsubscribe(iMobileDevice.U
sbmuxd.UsbmuxdSubscriptionContextHandle)">
<summary>
Unsubscribe callback function
</summary>
<param name="context">
A valid context as returned from usbmuxd_events_subscribe().
</param>
<returns>
0 on success or a negative errno value.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_subscribe(iMobileDevice.Usbmuxd.Us
bmuxdEventCallBack,System.IntPtr)">
<summary>
Subscribe a callback (deprecated)
</summary>
<param name="callback">
A callback function that is executed when an event occurs.
</param>
<param name="user_data">
Custom data passed on to the callback function. The data
needs to be kept available until the callback function is unsubscribed.
</param>
<returns>
0 on success or negative on error.
</returns>
<remarks>
Deprecated. Use usbmuxd_events_subscribe and usbmuxd_events_unsubscribe
instead.
</remarks>
</member>
<member name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_unsubscribe">
<summary>
Unsubscribe callback (deprecated)
</summary>
<returns>
0 on success or negative on error.
</returns>
<remarks>
Deprecated. Use usbmuxd_events_subscribe and usbmuxd_events_unsubscribe
instead.
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_get_device_list(System.IntPtr@)">
<summary>
Contacts usbmuxd and retrieves a list of connected devices.
</summary>
<param name="device_list">
A pointer to an array of usbmuxd_device_info_t
that will hold records of the connected devices. The last record
is a null-terminated record with all fields set to 0/NULL.
</param>
<returns>
number of attached devices, zero on no devices, or negative
if an error occured.
</returns>
<remarks>
The user has to free the list returned.
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_device_list_free(System.IntPtr)">
<summary>
Frees the device list returned by an usbmuxd_get_device_list call
</summary>
<param name="device_list">
A pointer to an array of usbmuxd_device_info_t to free.
</param>
<returns>
0 on success, -1 on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_get_device_by_udid(System.String,i
MobileDevice.Usbmuxd.UsbmuxdDeviceInfo@)">
<summary>
Looks up the device specified by UDID and returns device information.
</summary>
<param name="udid">
A device UDID of the device to look for. If udid is NULL,
This function will return the first device found.
</param>
<param name="device">
Pointer to a previously allocated (or static)
usbmuxd_device_info_t that will be filled with the device info.
</param>
<returns>
0 if no matching device is connected, 1 if the device was found,
or a negative value on error.
</returns>
<remarks>
This function only considers devices connected through USB. To
query devices available via network, use usbmuxd_get_device().
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_get_device(System.String,iMobileDe
vice.Usbmuxd.UsbmuxdDeviceInfo@,System.Int32)">
<summary>
Looks up the device specified by UDID with given options and returns
device information.
</summary>
<param name="udid">
A device UDID of the device to look for. If udid is NULL,
this function will return the first device found.
</param>
<param name="device">
Pointer to a previously allocated (or static)
usbmuxd_device_info_t that will be filled with the device info.
</param>
<param name="options">
Specifying what device connection types should be
considered during lookup. Accepts bitwise or'ed values of
usbmux_lookup_options.
If 0 (no option) is specified it will default to DEVICE_LOOKUP_USBMUX.
To lookup both USB and network-connected devices, pass
DEVICE_LOOKUP_USBMUX | DEVICE_LOOKUP_NETWORK. If a device is available
both via USBMUX *and* network, it will select the USB connection.
This behavior can be changed by adding DEVICE_LOOKUP_PREFER_NETWORK
to the options in which case it will select the network connection.
</param>
<returns>
0 if no matching device is connected, 1 if the device was found,
or a negative value on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_connect(System.UInt32,System.UInt1
6)">
<summary>
Request proxy connection to the specified device and port.
</summary>
<param name="handle">
returned in the usbmux_device_info_t structure via
usbmuxd_get_device() or usbmuxd_get_device_list().
</param>
<param name="tcp_port">
TCP port number on device, in range 0-65535.
common values are 62078 for lockdown, and 22 for SSH.
</param>
<returns>
socket file descriptor of the connection, or a negative errno
value on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_disconnect(System.Int32)">
<summary>
Disconnect. For now, this just closes the socket file descriptor.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<returns>
0 on success, -1 on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_send(System.Int32,System.Byte[],Sy
stem.UInt32,System.UInt32@)">
<summary>
Send data to the specified socket.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to send
</param>
<param name="len">
size of buffer to send
</param>
<param name="sent_bytes">
how many bytes sent
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_recv_timeout(System.Int32,System.B
yte[],System.UInt32,System.UInt32@,System.UInt32)">
<summary>
Receive data from the specified socket.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to put the data to
</param>
<param name="len">
number of bytes to receive
</param>
<param name="recv_bytes">
number of bytes received
</param>
<param name="timeout">
how many milliseconds to wait for data
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_recv(System.Int32,System.Byte[],Sy
stem.UInt32,System.UInt32@)">
<summary>
Receive data from the specified socket with a default timeout.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to put the data to
</param>
<param name="len">
number of bytes to receive
</param>
<param name="recv_bytes">
number of bytes received
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_read_buid(System.String@)">
<summary>
Reads the SystemBUID
</summary>
<param name="buid">
pointer to a variable that will be set to point to a newly
allocated string with the System BUID returned by usbmuxd
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_read_pair_record(System.String,Sys
tem.String@,System.UInt32@)">
<summary>
Read a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to retrieve
</param>
<param name="record_data">
pointer to a variable that will be set to point to a
newly allocated buffer containing the pairing record data
</param>
<param name="record_size">
pointer to a variable that will be set to the size of
the buffer returned in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_save_pair_record(System.String,Sys
tem.String,System.UInt32)">
<summary>
Save a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to save
</param>
<param name="record_data">
buffer containing the pairing record data
</param>
<param name="record_size">
size of the buffer passed in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_save_pair_record_with_device_id(Sy
stem.String,System.UInt32,System.String,System.UInt32)">
<summary>
Save a pairing record with device identifier
</summary>
<param name="record_id">
the record identifier of the pairing record to save
</param>
<param name="device_id">
the device identifier of the connected device, or 0
</param>
<param name="record_data">
buffer containing the pairing record data
</param>
<param name="record_size">
size of the buffer passed in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_delete_pair_record(System.String)"
>
<summary>
Delete a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to delete.
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.libusbmuxd_set_use_inotify(System.Int32)">
<summary>
Enable or disable the use of inotify extension. Enabled by default.
Use 0 to disable and 1 to enable inotify support.
This only has an effect on linux systems if inotify support has been
built
in. Otherwise and on all other platforms this function has no effect.
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_set_socket_type(System.Int32)">
<summary>
Sets the socket type (Unix socket or TCP socket) libusbmuxd should use
when connecting
to usbmuxd.
</summary>
<param name="value">
SOCKET_TYPE_UNIX or SOCKET_TYPE_TCP
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_get_socket_type(System.Int32@)">
<summary>
Gets the socket type (Unix socket or TCP socket) libusbmuxd should use
when connecting
to usbmuxd.
</summary>
<param name="value">
A pointer to an integer which will reveive the current socket type
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_set_tcp_endpoint(System.String,Sys
tem.UInt16)">
<summary>
Sets the TCP endpoint to which usbmuxd will connect if the socket type
is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
The hostname or IP address to which to connect
</param>
<param name="port">
The port to which to connect.
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdApi.usbmuxd_get_tcp_endpoint(System.String@,Sy
stem.UInt16@)">
<summary>
Gets the TCP endpoint to which usbmuxd will connect if th esocket type
is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
A pointer which will be set to the hostname or IP address to which to
connect.
The caller must free this string.
</param>
<param name="port">
The port to which to connect
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member name="T:iMobileDevice.Usbmuxd.UsbmuxdEventType">
<summary>
event types for event callback function
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_events_subscribe(iMobile
Device.Usbmuxd.UsbmuxdSubscriptionContextHandle@,iMobileDevice.Usbmuxd.UsbmuxdEvent
CallBack,System.IntPtr)">
<summary>
Subscribe a callback function to be called upon device add/remove
events.
This method can be called multiple times to register multiple callbacks
since every subscription will have its own context (returned in the
first parameter).
</summary>
<param name="context">
A pointer to a usbmuxd_subscription_context_t that will be
set upon creation of the subscription. The returned context must be
passed to usbmuxd_events_unsubscribe() to unsubscribe the callback.
</param>
<param name="callback">
A callback function that is executed when an event occurs.
</param>
<param name="user_data">
Custom data passed on to the callback function. The data
needs to be kept available until the callback function is unsubscribed.
</param>
<returns>
0 on success or a negative errno value.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_events_unsubscribe(iMobi
leDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle)">
<summary>
Unsubscribe callback function
</summary>
<param name="context">
A valid context as returned from usbmuxd_events_subscribe().
</param>
<returns>
0 on success or a negative errno value.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_subscribe(iMobileDevice.
Usbmuxd.UsbmuxdEventCallBack,System.IntPtr)">
<summary>
Subscribe a callback (deprecated)
</summary>
<param name="callback">
A callback function that is executed when an event occurs.
</param>
<param name="user_data">
Custom data passed on to the callback function. The data
needs to be kept available until the callback function is unsubscribed.
</param>
<returns>
0 on success or negative on error.
</returns>
<remarks>
Deprecated. Use usbmuxd_events_subscribe and usbmuxd_events_unsubscribe
instead.
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_unsubscribe">
<summary>
Unsubscribe callback (deprecated)
</summary>
<returns>
0 on success or negative on error.
</returns>
<remarks>
Deprecated. Use usbmuxd_events_subscribe and usbmuxd_events_unsubscribe
instead.
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_get_device_list(System.I
ntPtr@)">
<summary>
Contacts usbmuxd and retrieves a list of connected devices.
</summary>
<param name="device_list">
A pointer to an array of usbmuxd_device_info_t
that will hold records of the connected devices. The last record
is a null-terminated record with all fields set to 0/NULL.
</param>
<returns>
number of attached devices, zero on no devices, or negative
if an error occured.
</returns>
<remarks>
The user has to free the list returned.
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_device_list_free(System.
IntPtr)">
<summary>
Frees the device list returned by an usbmuxd_get_device_list call
</summary>
<param name="device_list">
A pointer to an array of usbmuxd_device_info_t to free.
</param>
<returns>
0 on success, -1 on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_get_device_by_udid(Syste
m.String,iMobileDevice.Usbmuxd.UsbmuxdDeviceInfo@)">
<summary>
Looks up the device specified by UDID and returns device information.
</summary>
<param name="udid">
A device UDID of the device to look for. If udid is NULL,
This function will return the first device found.
</param>
<param name="device">
Pointer to a previously allocated (or static)
usbmuxd_device_info_t that will be filled with the device info.
</param>
<returns>
0 if no matching device is connected, 1 if the device was found,
or a negative value on error.
</returns>
<remarks>
This function only considers devices connected through USB. To
query devices available via network, use usbmuxd_get_device().
</remarks>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_get_device(System.String
,iMobileDevice.Usbmuxd.UsbmuxdDeviceInfo@,System.Int32)">
<summary>
Looks up the device specified by UDID with given options and returns
device information.
</summary>
<param name="udid">
A device UDID of the device to look for. If udid is NULL,
this function will return the first device found.
</param>
<param name="device">
Pointer to a previously allocated (or static)
usbmuxd_device_info_t that will be filled with the device info.
</param>
<param name="options">
Specifying what device connection types should be
considered during lookup. Accepts bitwise or'ed values of
usbmux_lookup_options.
If 0 (no option) is specified it will default to DEVICE_LOOKUP_USBMUX.
To lookup both USB and network-connected devices, pass
DEVICE_LOOKUP_USBMUX | DEVICE_LOOKUP_NETWORK. If a device is available
both via USBMUX *and* network, it will select the USB connection.
This behavior can be changed by adding DEVICE_LOOKUP_PREFER_NETWORK
to the options in which case it will select the network connection.
</param>
<returns>
0 if no matching device is connected, 1 if the device was found,
or a negative value on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_connect(System.UInt32,Sy
stem.UInt16)">
<summary>
Request proxy connection to the specified device and port.
</summary>
<param name="handle">
returned in the usbmux_device_info_t structure via
usbmuxd_get_device() or usbmuxd_get_device_list().
</param>
<param name="tcp_port">
TCP port number on device, in range 0-65535.
common values are 62078 for lockdown, and 22 for SSH.
</param>
<returns>
socket file descriptor of the connection, or a negative errno
value on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_disconnect(System.Int32)
">
<summary>
Disconnect. For now, this just closes the socket file descriptor.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<returns>
0 on success, -1 on error.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_send(System.Int32,System
.Byte[],System.UInt32,System.UInt32@)">
<summary>
Send data to the specified socket.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to send
</param>
<param name="len">
size of buffer to send
</param>
<param name="sent_bytes">
how many bytes sent
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_recv_timeout(System.Int3
2,System.Byte[],System.UInt32,System.UInt32@,System.UInt32)">
<summary>
Receive data from the specified socket.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to put the data to
</param>
<param name="len">
number of bytes to receive
</param>
<param name="recv_bytes">
number of bytes received
</param>
<param name="timeout">
how many milliseconds to wait for data
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_recv(System.Int32,System
.Byte[],System.UInt32,System.UInt32@)">
<summary>
Receive data from the specified socket with a default timeout.
</summary>
<param name="sfd">
socket file descriptor returned by usbmuxd_connect()
</param>
<param name="data">
buffer to put the data to
</param>
<param name="len">
number of bytes to receive
</param>
<param name="recv_bytes">
number of bytes received
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_read_buid(System.IntPtr@
)">
<summary>
Reads the SystemBUID
</summary>
<param name="buid">
pointer to a variable that will be set to point to a newly
allocated string with the System BUID returned by usbmuxd
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_read_pair_record(System.
String,System.IntPtr@,System.UInt32@)">
<summary>
Read a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to retrieve
</param>
<param name="record_data">
pointer to a variable that will be set to point to a
newly allocated buffer containing the pairing record data
</param>
<param name="record_size">
pointer to a variable that will be set to the size of
the buffer returned in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_save_pair_record(System.
String,System.String,System.UInt32)">
<summary>
Save a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to save
</param>
<param name="record_data">
buffer containing the pairing record data
</param>
<param name="record_size">
size of the buffer passed in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_save_pair_record_with_de
vice_id(System.String,System.UInt32,System.String,System.UInt32)">
<summary>
Save a pairing record with device identifier
</summary>
<param name="record_id">
the record identifier of the pairing record to save
</param>
<param name="device_id">
the device identifier of the connected device, or 0
</param>
<param name="record_data">
buffer containing the pairing record data
</param>
<param name="record_size">
size of the buffer passed in record_data
</param>
<returns>
0 on success, a negative error value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_delete_pair_record(Syste
m.String)">
<summary>
Delete a pairing record
</summary>
<param name="record_id">
the record identifier of the pairing record to delete.
</param>
<returns>
0 on success, a negative errno value otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.libusbmuxd_set_use_inotify(Syste
m.Int32)">
<summary>
Enable or disable the use of inotify extension. Enabled by default.
Use 0 to disable and 1 to enable inotify support.
This only has an effect on linux systems if inotify support has been
built
in. Otherwise and on all other platforms this function has no effect.
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_set_socket_type(System.I
nt32)">
<summary>
Sets the socket type (Unix socket or TCP socket) libusbmuxd should use
when connecting
to usbmuxd.
</summary>
<param name="value">
SOCKET_TYPE_UNIX or SOCKET_TYPE_TCP
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_get_socket_type(System.I
nt32@)">
<summary>
Gets the socket type (Unix socket or TCP socket) libusbmuxd should use
when connecting
to usbmuxd.
</summary>
<param name="value">
A pointer to an integer which will reveive the current socket type
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_set_tcp_endpoint(System.
String,System.UInt16)">
<summary>
Sets the TCP endpoint to which usbmuxd will connect if the socket type
is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
The hostname or IP address to which to connect
</param>
<param name="port">
The port to which to connect.
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdNativeMethods.usbmuxd_get_tcp_endpoint(System.
IntPtr@,System.UInt16@)">
<summary>
Gets the TCP endpoint to which usbmuxd will connect if th esocket type
is set to
SOCKET_TYPE_TCP
</summary>
<param name="host">
A pointer which will be set to the hostname or IP address to which to
connect.
The caller must free this string.
</param>
<param name="port">
The port to which to connect
</param>
<returns>
0 on success or negative on error
</returns>
</member>
<member name="T:iMobileDevice.Usbmuxd.UsbmuxdSocketType">
<summary>
specifies how libusbmuxd should connect to usbmuxd
</summary>
</member>
<member name="T:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle">
<summary>
Represents a wrapper class for Usbmuxd handles.
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.#ctor(System.Boolean
)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member
name="P:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member
name="P:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.DangerousCreate(Syst
em.IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.DangerousCreate(Syst
em.IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.Equals(System.Object
)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.op_Equality(iMobileD
evice.Usbmuxd.UsbmuxdSubscriptionContextHandle,iMobileDevice.Usbmuxd.UsbmuxdSubscri
ptionContextHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle.op_Inequality(iMobil
eDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle,iMobileDevice.Usbmuxd.UsbmuxdSubsc
riptionContextHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.Usbmuxd.UsbmuxdSubscriptionContextHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.Usbmuxd.UsbmuxLookupOptions">
<summary>
Device lookup options for usbmuxd_get_device.
</summary>
</member>
<member
name="F:iMobileDevice.Usbmuxd.UsbmuxLookupOptions.LookupPreferNetwork">
<summary>
prefer network connection if device is available via USBMUX *and*
network
</summary>
</member>
<member name="T:iMobileDevice.Utf8Marshal">
<summary>
Provides marshalling capabilities for UTF-8 strings.
</summary>
</member>
<member name="M:iMobileDevice.Utf8Marshal.PtrToStringUtf8(System.IntPtr)">
<summary>
Converts a pointer to an UTF-8 string.
</summary>
<param name="value">
The value to marshal.
</param>
<returns>
A <see cref="T:System.String"/> which represents the underlying string.
</returns>
</member>
<member
name="M:iMobileDevice.Utf8Marshal.PtrToStringUtf8(System.IntPtr,iMobileDevice.ILibi
MobileDevice)">
<summary>
Converts a pointer to an UTF-8 string.
</summary>
<param name="value">
The value to marshal.
</param>
<param name="api">
The libimobiledevice API to use when marshalling.
</param>
<returns>
A <see cref="T:System.String"/> which represents the underlying string.
</returns>
</member>
<member
name="M:iMobileDevice.Utf8Marshal.StringToHGlobalUtf8(System.String)">
<summary>
Converts a value to an UTF-8 string, in native memory.
</summary>
<param name="value">
The value to encode.
</param>
<returns>
A pointer to the UTF-8 string in unmanaged memory. You must free this
pointer
using <see
cref="M:System.Runtime.InteropServices.Marshal.FreeHGlobal(System.IntPtr)"/>.
</returns>
</member>
<member name="T:iMobileDevice.Utilities">
<summary>
Provides methods for retrieving the directory in which the
libimobiledevice library and tools are located.
</summary>
<remarks>
<para>
To run the and tools, such as <c>iproxy</c>, we need to know where they
are located.
</para>
<para>
The libimobiledevice library and tools are delivered via the
<c>imobiledevice-net</c> NuGet packages on Windows and macOS,
and, as a special case, Ubuntu 16.04.
On other Linux distributions, you can use the Quamotion PPA at
https://launchpad.net/~quamotion/+archive/ubuntu/ppa,
or compile from source.
</para>
<para>
When running in development mode, or via <c>dotnet run</c>, .NET Core
does not copy the contents of the NuGet packages to the
output directory, but references them instead. In most cases, this is
transparent - assemblies, managed and native, are
loaded via .NET anyway, so as long as .NET knows where they are, we are
good.
</para>
<para>
For executables, that's a different story. We can't determine the path
ourselves, because we don't know, say, the version number,
nor is there an API in CoreCLR we can use to query the location.
</para>
<para>
So we take a detour. The NuGet packages ship with a 'lighthouse'
library which contains a <c>get_moduleFileName</c> function, which
returns the location of the library. We can call
<c>get_moduleFileName</c> from managed code, and determine the directory from
there.
</para>
<para>
Although the same function exists on Windows, Linux and OS X, there are
some slight differences. For example, the Windows function uses
Unicode, whereas the Unix ones use UTF-8.
</para>
</remarks>
</member>
<member name="F:iMobileDevice.Utilities.mobileDeviceDotNetDirectory">
<summary>
Caches the result of <see
cref="M:iMobileDevice.Utilities.GetMobileDeviceDotNetDirectory"/>, so only a single
call is required.
</summary>
</member>
<member name="M:iMobileDevice.Utilities.GetMobileDeviceDotNetDirectory">
<summary>
Gets the directory in which the libimobiledevice library and tools are
located.
</summary>
<returns>
The directory in which the libimobiledevice library and tools are
located.
</returns>
</member>
<member name="M:iMobileDevice.Utilities.GetProxyPath">
<summary>
Gets the full path of the <c>iproxy.exe</c> executable.
</summary>
<returns>
The full path of the <c>iproxy.exe</c> executable.
</returns>
</member>
<member name="M:iMobileDevice.Utilities.GetUsbMuxdPath">
<summary>
Gets the full path of the <c>usbmuxd.exe</c> executable.
</summary>
<returns>
The full path of the <c>usbmuxd.exe</c> executable.
</returns>
</member>
<member
name="M:iMobileDevice.Utilities.GetMobileDeviceDotNetDirUnix(System.Text.StringBuil
der,System.Int32)">
<summary>
Returns the filename of the <c>mobiledevice-net-lighthouse-x64</c>
module.
</summary>
<param name="filename">
A <see cref="T:System.Text.StringBuilder"/> which will receive the
filename of the module.
</param>
<param name="length">
The maximum capacity of the module.
</param>
<returns>
<c>0</c> if the operation completed successfully, or an error code
otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.Utilities.GetMobileDeviceDotNetDirWin(System.Text.StringBuild
er,System.Int32)">
<summary>
Returns the filename of the <c>mobiledevice-net-lighthouse-x64</c>
module.
</summary>
<param name="filename">
A <see cref="T:System.Text.StringBuilder"/> which will receive the
filename of the module.
</param>
<param name="length">
The maximum capacity of the module.
</param>
<returns>
<c>0</c> if the operation completed successfully, or an error code
otherwise.
</returns>
</member>
<member name="P:iMobileDevice.WebInspector.IWebInspectorApi.Parent">
<summary>
Gets or sets the <see cref="!:ILibiMobileDeviceApi"/> which owns this
<see cref="N:iMobileDevice.WebInspector"/>.
</summary>
</member>
<member
name="M:iMobileDevice.WebInspector.IWebInspectorApi.webinspector_client_new(iMobile
Device.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle
,iMobileDevice.WebInspector.WebInspectorClientHandle@)">
<summary>
Connects to the webinspector service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
webinspector_client_t upon successful return. Must be freed using
webinspector_client_free() after use.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, WEBINSPECTOR_E_INVALID_ARG when
client is NULL, or an WEBINSPECTOR_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.IWebInspectorApi.webinspector_client_start_servi
ce(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.WebInspector.WebInspectorClien
tHandle@,System.String)">
<summary>
Starts a new webinspector service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
webinspector_client_t upon successful return. Must be freed using
webinspector_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, or an WEBINSPECTOR_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.IWebInspectorApi.webinspector_client_free(System
.IntPtr)">
<summary>
Disconnects a webinspector client from the device and frees up the
webinspector client data.
</summary>
<param name="client">
The webinspector client to disconnect and free.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, WEBINSPECTOR_E_INVALID_ARG when
client is NULL, or an WEBINSPECTOR_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.IWebInspectorApi.webinspector_send(iMobileDevice
.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The webinspector client
</param>
<param name="plist">
The plist to send
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.IWebInspectorApi.webinspector_receive(iMobileDev
ice.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The webinspector client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.IWebInspectorApi.webinspector_receive_with_timeo
ut(iMobileDevice.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHan
dle@,System.UInt32)">
<summary>
Receives a plist using the given webinspector client.
</summary>
<param name="client">
The webinspector client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success,
WEBINSPECTOR_E_INVALID_ARG when client or *plist is NULL,
WEBINSPECTOR_E_PLIST_ERROR when the received data cannot be
converted to a plist, WEBINSPECTOR_E_MUX_ERROR when a
communication error occurs, or WEBINSPECTOR_E_UNKNOWN_ERROR
when an unspecified error occurs.
</returns>
</member>
<member name="F:iMobileDevice.WebInspector.WebInspectorApi.parent">
<summary>
Backing field for the <see
cref="P:iMobileDevice.WebInspector.WebInspectorApi.Parent"/> property
</summary>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorApi.#ctor(iMobileDevice.ILibiMobileD
evice)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorApi"/> class
</summary>
<param name="parent">
The <see cref="!:ILibiMobileDeviceApi"/> which owns this <see
cref="N:iMobileDevice.WebInspector"/>.
</param>
</member>
<member name="P:iMobileDevice.WebInspector.WebInspectorApi.Parent">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorApi.webinspector_client_new(iMobileD
evice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescriptorHandle,
iMobileDevice.WebInspector.WebInspectorClientHandle@)">
<summary>
Connects to the webinspector service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
webinspector_client_t upon successful return. Must be freed using
webinspector_client_free() after use.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, WEBINSPECTOR_E_INVALID_ARG when
client is NULL, or an WEBINSPECTOR_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorApi.webinspector_client_start_servic
e(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.WebInspector.WebInspectorClient
Handle@,System.String)">
<summary>
Starts a new webinspector service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
webinspector_client_t upon successful return. Must be freed using
webinspector_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, or an WEBINSPECTOR_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorApi.webinspector_client_free(System.
IntPtr)">
<summary>
Disconnects a webinspector client from the device and frees up the
webinspector client data.
</summary>
<param name="client">
The webinspector client to disconnect and free.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, WEBINSPECTOR_E_INVALID_ARG when
client is NULL, or an WEBINSPECTOR_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorApi.webinspector_send(iMobileDevice.
WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The webinspector client
</param>
<param name="plist">
The plist to send
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorApi.webinspector_receive(iMobileDevi
ce.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHandle@)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The webinspector client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorApi.webinspector_receive_with_timeou
t(iMobileDevice.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHand
le@,System.UInt32)">
<summary>
Receives a plist using the given webinspector client.
</summary>
<param name="client">
The webinspector client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success,
WEBINSPECTOR_E_INVALID_ARG when client or *plist is NULL,
WEBINSPECTOR_E_PLIST_ERROR when the received data cannot be
converted to a plist, WEBINSPECTOR_E_MUX_ERROR when a
communication error occurs, or WEBINSPECTOR_E_UNKNOWN_ERROR
when an unspecified error occurs.
</returns>
</member>
<member name="T:iMobileDevice.WebInspector.WebInspectorClientHandle">
<summary>
Represents a wrapper class for WebInspector handles.
</summary>
</member>
<member name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorClientHandle"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorClientHandle"/> class, specifying
whether the handle is to be reliably released.
</summary>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
</member>
<member name="P:iMobileDevice.WebInspector.WebInspectorClientHandle.Api">
<summary>
Gets or sets the API to use
</summary>
</member>
<member name="P:iMobileDevice.WebInspector.WebInspectorClientHandle.Zero">
<summary>
Gets a value which represents a pointer or handle that has been
initialized to zero.
</summary>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.ReleaseHandle">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.DangerousCreate(System.
IntPtr,System.Boolean)">
<summary>
Creates a new <see
cref="T:iMobileDevice.WebInspector.WebInspectorClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<param name="ownsHandle">
<see langword="true"/> to reliably release the handle during the
finalization phase; <see langword="false"/> to prevent reliable release (not
recommended).
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.DangerousCreate(System.
IntPtr)">
<summary>
Creates a new <see
cref="T:iMobileDevice.WebInspector.WebInspectorClientHandle"/> from a <see
cref="T:System.IntPtr"/>.
</summary>
<param name="unsafeHandle">
The underlying <see cref="T:System.IntPtr"/>
</param>
<returns>
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.ToString">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.Equals(System.Object)">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.GetHashCode">
<inheritdoc/>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.op_Equality(iMobileDevi
ce.WebInspector.WebInspectorClientHandle,iMobileDevice.WebInspector.WebInspectorCli
entHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.WebInspector.WebInspectorClientHandle"/> are equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> equals <paramref
name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorClientHandle.op_Inequality(iMobileDe
vice.WebInspector.WebInspectorClientHandle,iMobileDevice.WebInspector.WebInspectorC
lientHandle)">
<summary>
Determines whether two specified instances of <see
cref="T:iMobileDevice.WebInspector.WebInspectorClientHandle"/> are not equal.
</summary>
<param name="value1">
The first pointer or handle to compare.
</param>
<param name="value2">
The second pointer or handle to compare.
</param>
<returns>
<see langword="true"/> if <paramref name="value1"/> does not equal
<paramref name="value2"/>; otherwise, <see langword="false"/>.
</returns>
</member>
<member name="T:iMobileDevice.WebInspector.WebInspectorError">
<summary>
Error Codes
</summary>
</member>
<member name="T:iMobileDevice.WebInspector.WebInspectorException">
Represents an exception that occurred when interacting with the
WebInspector API.
</member>
<member
name="F:iMobileDevice.WebInspector.WebInspectorException.errorCode">
<summary>
Backing field for the <see
cref="P:iMobileDevice.WebInspector.WebInspectorException.ErrorCode"/> property.
</summary>
</member>
<member name="M:iMobileDevice.WebInspector.WebInspectorException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorException"/> class.
</summary>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorException.#ctor(iMobileDevice.WebIns
pector.WebInspectorError)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorException"/> class with a specified
error code.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorException.#ctor(iMobileDevice.WebIns
pector.WebInspectorError,System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorException"/> class with a specified
error code and error message.
</summary>
<param name="error">
The error code of the error that occurred.
</param>
<param name="message">
A message which describes the error.
</param>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorException"/> class with a specified
error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorException.#ctor(System.String,System
.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorException"/> class with a specified
error message and a reference to the inner exception that is the cause of this
exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception, or <see
langword="null"/> if no inner exception is specified.
</param>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorException.#ctor(System.Runtime.Seria
lization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initializes a new instance of the <see
cref="T:iMobileDevice.WebInspector.WebInspectorException"/> class with serialized
data.
</summary>
<param name="info">
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that
holds the serialized object data about the exception being thrown.
</param>
<param name="context">
The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
contains contextual information about the source or destination.
</param>
</member>
<member
name="P:iMobileDevice.WebInspector.WebInspectorException.ErrorCode">
<summary>
Gets the error code that represents the error.
</summary>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorNativeMethods.webinspector_client_ne
w(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.Lockdown.LockdownServiceDescrip
torHandle,iMobileDevice.WebInspector.WebInspectorClientHandle@)">
<summary>
Connects to the webinspector service on the specified device.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="service">
The service descriptor returned by lockdownd_start_service.
</param>
<param name="client">
Pointer that will point to a newly allocated
webinspector_client_t upon successful return. Must be freed using
webinspector_client_free() after use.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, WEBINSPECTOR_E_INVALID_ARG when
client is NULL, or an WEBINSPECTOR_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorNativeMethods.webinspector_client_st
art_service(iMobileDevice.iDevice.iDeviceHandle,iMobileDevice.WebInspector.WebInspe
ctorClientHandle@,System.String)">
<summary>
Starts a new webinspector service on the specified device and connects
to it.
</summary>
<param name="device">
The device to connect to.
</param>
<param name="client">
Pointer that will point to a newly allocated
webinspector_client_t upon successful return. Must be freed using
webinspector_client_free() after use.
</param>
<param name="label">
The label to use for communication. Usually the program name.
Pass NULL to disable sending the label in requests to lockdownd.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, or an WEBINSPECTOR_E_* error
code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorNativeMethods.webinspector_client_fr
ee(System.IntPtr)">
<summary>
Disconnects a webinspector client from the device and frees up the
webinspector client data.
</summary>
<param name="client">
The webinspector client to disconnect and free.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success, WEBINSPECTOR_E_INVALID_ARG when
client is NULL, or an WEBINSPECTOR_E_* error code otherwise.
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorNativeMethods.webinspector_send(iMob
ileDevice.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHandle)">
<summary>
Sends a plist to the service.
</summary>
<param name="client">
The webinspector client
</param>
<param name="plist">
The plist to send
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorNativeMethods.webinspector_receive(i
MobileDevice.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist.PlistHandle@
)">
<summary>
Receives a plist from the service.
</summary>
<param name="client">
The webinspector client
</param>
<param name="plist">
The plist to store the received data
</param>
<returns>
DIAGNOSTICS_RELAY_E_SUCCESS on success,
DIAGNOSTICS_RELAY_E_INVALID_ARG when client or plist is NULL
</returns>
</member>
<member
name="M:iMobileDevice.WebInspector.WebInspectorNativeMethods.webinspector_receive_w
ith_timeout(iMobileDevice.WebInspector.WebInspectorClientHandle,iMobileDevice.Plist
.PlistHandle@,System.UInt32)">
<summary>
Receives a plist using the given webinspector client.
</summary>
<param name="client">
The webinspector client to use for receiving
</param>
<param name="plist">
pointer to a plist_t that will point to the received plist
upon successful return
</param>
<param name="timeout">
Maximum time in milliseconds to wait for data.
</param>
<returns>
WEBINSPECTOR_E_SUCCESS on success,
WEBINSPECTOR_E_INVALID_ARG when client or *plist is NULL,
WEBINSPECTOR_E_PLIST_ERROR when the received data cannot be
converted to a plist, WEBINSPECTOR_E_MUX_ERROR when a
communication error occurs, or WEBINSPECTOR_E_UNKNOWN_ERROR
when an unspecified error occurs.
</returns>
</member>
</members>
</doc>