libimobiledevice  1.2.0
Macros | Typedefs | Enumerations | Functions
misagent.h File Reference

Manage provisioning profiles. More...

Macros

#define MISAGENT_SERVICE_NAME   "com.apple.misagent"
 

Typedefs

typedef struct
misagent_client_private 
misagent_client_private
 
typedef misagent_client_private * misagent_client_t
 The client handle. More...
 

Enumerations

enum  misagent_error_t {
  MISAGENT_E_SUCCESS = 0,
  MISAGENT_E_INVALID_ARG = -1,
  MISAGENT_E_PLIST_ERROR = -2,
  MISAGENT_E_CONN_FAILED = -3,
  MISAGENT_E_REQUEST_FAILED = -4,
  MISAGENT_E_UNKNOWN_ERROR = -256
}
 Error Codes.
 

Functions

misagent_error_t misagent_client_new (idevice_t device, lockdownd_service_descriptor_t service, misagent_client_t *client)
 Connects to the misagent service on the specified device. More...
 
misagent_error_t misagent_client_start_service (idevice_t device, misagent_client_t *client, const char *label)
 Starts a new misagent service on the specified device and connects to it. More...
 
misagent_error_t misagent_client_free (misagent_client_t client)
 Disconnects an misagent client from the device and frees up the misagent client data. More...
 
misagent_error_t misagent_install (misagent_client_t client, plist_t profile)
 Installs the given provisioning profile. More...
 
misagent_error_t misagent_copy (misagent_client_t client, plist_t *profiles)
 Retrieves an array of all installed provisioning profiles. More...
 
misagent_error_t misagent_remove (misagent_client_t client, const char *profileID)
 Removes a given provisioning profile. More...
 
int misagent_get_status_code (misagent_client_t client)
 Retrieves the status code from the last operation. More...
 

Detailed Description

Manage provisioning profiles.

Typedef Documentation

typedef misagent_client_private* misagent_client_t

The client handle.

Function Documentation

misagent_error_t misagent_client_free ( misagent_client_t  client)

Disconnects an misagent client from the device and frees up the misagent client data.

Parameters
clientThe misagent client to disconnect and free.
Returns
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when client is NULL, or an MISAGENT_E_* error code otherwise.
misagent_error_t misagent_client_new ( idevice_t  device,
lockdownd_service_descriptor_t  service,
misagent_client_t client 
)

Connects to the misagent service on the specified device.

Parameters
deviceThe device to connect to.
serviceThe service descriptor returned by lockdownd_start_service.
clientPointer that will point to a newly allocated misagent_client_t upon successful return.
Returns
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when client is NULL, or an MISAGENT_E_* error code otherwise.
misagent_error_t misagent_client_start_service ( idevice_t  device,
misagent_client_t client,
const char *  label 
)

Starts a new misagent service on the specified device and connects to it.

Parameters
deviceThe device to connect to.
clientPointer that will point to a newly allocated misagent_client_t upon successful return. Must be freed using misagent_client_free() after use.
labelThe label to use for communication. Usually the program name. Pass NULL to disable sending the label in requests to lockdownd.
Returns
MISAGENT_E_SUCCESS on success, or an MISAGENT_E_* error code otherwise.
misagent_error_t misagent_copy ( misagent_client_t  client,
plist_t *  profiles 
)

Retrieves an array of all installed provisioning profiles.

Parameters
clientThe connected misagent to use.
profilesPointer to a plist_t that will be set to a PLIST_ARRAY if the function is successful.
Returns
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when client is invalid, or an MISAGENT_E_* error code otherwise.
Note
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.
int misagent_get_status_code ( misagent_client_t  client)

Retrieves the status code from the last operation.

Parameters
clientThe misagent to use.
Returns
-1 if client is invalid, or the status code from the last operation
misagent_error_t misagent_install ( misagent_client_t  client,
plist_t  profile 
)

Installs the given provisioning profile.

Only works with valid profiles.

Parameters
clientThe connected misagent to use for installation
profileThe valid provisioning profile to install. This has to be passed as a PLIST_DATA, otherwise the function will fail.
Returns
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when client is invalid, or an MISAGENT_E_* error code otherwise.
misagent_error_t misagent_remove ( misagent_client_t  client,
const char *  profileID 
)

Removes a given provisioning profile.

Parameters
clientThe connected misagent to use.
profileIDIdentifier of the provisioning profile to remove. This is a UUID that can be obtained from the provisioning profile data.
See also
misagent_copy
Returns
MISAGENT_E_SUCCESS on success, MISAGENT_E_INVALID_ARG when client is invalid, or an MISAGENT_E_* error code otherwise.