Exemplo n.º 1
0
        /// <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>
        public virtual RestoreError restored_receive(RestoreClientHandle client, out PlistHandle plist)
        {
            RestoreError returnValue;

            returnValue = RestoreNativeMethods.restored_receive(client, out plist);
            plist.Api   = this.Parent;
            return(returnValue);
        }
Exemplo n.º 2
0
        /// <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>
        public virtual RestoreError restored_client_new(iDeviceHandle device, out RestoreClientHandle client, string label)
        {
            RestoreError returnValue;

            returnValue = RestoreNativeMethods.restored_client_new(device, out client, label);
            client.Api  = this.Parent;
            return(returnValue);
        }
Exemplo n.º 3
0
        /// <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>
        public virtual RestoreError restored_get_value(RestoreClientHandle client, string key, out PlistHandle value)
        {
            RestoreError returnValue;

            returnValue = RestoreNativeMethods.restored_get_value(client, key, out value);
            value.Api   = this.Parent;
            return(returnValue);
        }
        public static RestoreError restored_query_type(RestoreClientHandle client, out string type, ref ulong version)
        {
            System.Runtime.InteropServices.ICustomMarshaler typeMarshaler = NativeStringMarshaler.GetInstance(null);
            System.IntPtr typeNative  = System.IntPtr.Zero;
            RestoreError  returnValue = RestoreNativeMethods.restored_query_type(client, out typeNative, ref version);

            type = ((string)typeMarshaler.MarshalNativeToManaged(typeNative));
            typeMarshaler.CleanUpNativeData(typeNative);
            return(returnValue);
        }
Exemplo n.º 5
0
 /// <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>
 public virtual RestoreError restored_query_type(RestoreClientHandle client, out string type, ref ulong version)
 {
     return(RestoreNativeMethods.restored_query_type(client, out type, ref version));
 }
Exemplo n.º 6
0
 /// <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>
 public virtual RestoreError restored_client_free(System.IntPtr client)
 {
     return(RestoreNativeMethods.restored_client_free(client));
 }
Exemplo n.º 7
0
 /// <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>
 public virtual void restored_client_set_label(RestoreClientHandle client, string label)
 {
     RestoreNativeMethods.restored_client_set_label(client, label);
 }
Exemplo n.º 8
0
 /// <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>
 public virtual RestoreError restored_reboot(RestoreClientHandle client)
 {
     return(RestoreNativeMethods.restored_reboot(client));
 }
Exemplo n.º 9
0
 /// <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>
 public virtual RestoreError restored_start_restore(RestoreClientHandle client, PlistHandle options, ulong version)
 {
     return(RestoreNativeMethods.restored_start_restore(client, options, version));
 }
Exemplo n.º 10
0
 /// <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>
 public virtual RestoreError restored_goodbye(RestoreClientHandle client)
 {
     return(RestoreNativeMethods.restored_goodbye(client));
 }
Exemplo n.º 11
0
 /// <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>
 public virtual RestoreError restored_send(RestoreClientHandle client, PlistHandle plist)
 {
     return(RestoreNativeMethods.restored_send(client, plist));
 }