QDMI v1.1.0
Quantum Device Management Interface
Loading...
Searching...
No Matches
client.h File Reference

Description

Defines the QDMI Client Interface.

Go to the source code of this file.

Typedefs

typedef struct QDMI_Device_impl_d * QDMI_Device
 A handle for a device implementing the QDMI Device Interface.
 
typedef struct QDMI_Session_impl_d * QDMI_Session
 A handle for a session.
 
typedef enum QDMI_SESSION_PARAMETER_T QDMI_Session_Parameter
 Session parameter type.
 
typedef enum QDMI_SESSION_PROPERTY_T QDMI_Session_Property
 Session property type.
 
typedef struct QDMI_Job_impl_d * QDMI_Job
 A handle for a client-side job.
 
typedef enum QDMI_JOB_PARAMETER_T QDMI_Job_Parameter
 Job parameter type.
 

Enumerations

enum  QDMI_SESSION_PARAMETER_T {
  QDMI_SESSION_PARAMETER_TOKEN = 0 , QDMI_SESSION_PARAMETER_USERNAME = 1 , QDMI_SESSION_PARAMETER_PROJECTID = 2 , QDMI_SESSION_PARAMETER_MAX = 3 ,
  QDMI_SESSION_PARAMETER_CUSTOM1 = 999999995 , QDMI_SESSION_PARAMETER_CUSTOM2 = 999999996 , QDMI_SESSION_PARAMETER_CUSTOM3 = 999999997 , QDMI_SESSION_PARAMETER_CUSTOM4 = 999999998 ,
  QDMI_SESSION_PARAMETER_CUSTOM5 = 999999999
}
 Enum of the session parameters that can be set via QDMI_session_set_parameter. More...
 
enum  QDMI_SESSION_PROPERTY_T {
  QDMI_SESSION_PROPERTY_DEVICES = 0 , QDMI_SESSION_PROPERTY_MAX = 1 , QDMI_SESSION_PROPERTY_CUSTOM1 = 999999995 , QDMI_SESSION_PROPERTY_CUSTOM2 = 999999996 ,
  QDMI_SESSION_PROPERTY_CUSTOM3 = 999999997 , QDMI_SESSION_PROPERTY_CUSTOM4 = 999999998 , QDMI_SESSION_PROPERTY_CUSTOM5 = 999999999
}
 Enum of the session properties that can be queried via QDMI_session_query_session_property. More...
 
enum  QDMI_JOB_PARAMETER_T {
  QDMI_JOB_PARAMETER_PROGRAMFORMAT = 0 , QDMI_JOB_PARAMETER_PROGRAM = 1 , QDMI_JOB_PARAMETER_SHOTSNUM = 2 , QDMI_JOB_PARAMETER_MAX = 3 ,
  QDMI_JOB_PARAMETER_CUSTOM1 = 999999995 , QDMI_JOB_PARAMETER_CUSTOM2 = 999999996 , QDMI_JOB_PARAMETER_CUSTOM3 = 999999997 , QDMI_JOB_PARAMETER_CUSTOM4 = 999999998 ,
  QDMI_JOB_PARAMETER_CUSTOM5 = 999999999
}
 Enum of the job parameters that can be set. More...
 

Functions

int QDMI_session_alloc (QDMI_Session *session)
 Allocate a new session.
 
int QDMI_session_set_parameter (QDMI_Session session, QDMI_Session_Parameter param, size_t size, const void *value)
 Set a parameter for a session.
 
int QDMI_session_init (QDMI_Session session)
 Initialize a session.
 
int QDMI_session_query_session_property (QDMI_Session session, QDMI_Session_Property prop, size_t size, void *value, size_t *size_ret)
 Query a property of a session.
 
void QDMI_session_free (QDMI_Session session)
 Free a session.
 
int QDMI_device_query_device_property (QDMI_Device device, QDMI_Device_Property prop, size_t size, void *value, size_t *size_ret)
 Query a device property.
 
int QDMI_device_query_site_property (QDMI_Device device, QDMI_Site site, QDMI_Site_Property prop, size_t size, void *value, size_t *size_ret)
 Query a site property.
 
int QDMI_device_query_operation_property (QDMI_Device device, QDMI_Operation operation, size_t num_sites, const QDMI_Site *sites, size_t num_params, const double *params, QDMI_Operation_Property prop, size_t size, void *value, size_t *size_ret)
 Query an operation property.
 
int QDMI_device_create_job (QDMI_Device device, QDMI_Job *job)
 Create a job.
 
int QDMI_job_set_parameter (QDMI_Job job, QDMI_Job_Parameter param, size_t size, const void *value)
 Set a parameter for a job.
 
int QDMI_job_submit (QDMI_Job job)
 Submit a job to the device.
 
int QDMI_job_cancel (QDMI_Job job)
 Cancel an already submitted job.
 
int QDMI_job_check (QDMI_Job job, QDMI_Job_Status *status)
 Check the status of a job.
 
int QDMI_job_wait (QDMI_Job job)
 Wait for a job to finish.
 
int QDMI_job_get_results (QDMI_Job job, QDMI_Job_Result result, size_t size, void *data, size_t *size_ret)
 Retrieve the results of a job.
 
void QDMI_job_free (QDMI_Job job)
 Free a job.