00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined(_GATSELFCPI_H_)
00018 #define _GATSELFCPI_H_
00019
00020 #include "GATContext.h"
00021 #include "GATPreferences.h"
00022
00023
00024 #define GATSELFCPI_VERSION1 1
00025
00026
00027 #define GATSELFCPI_VERSION GATSELFCPI_VERSION1
00028
00029
00030
00031
00032
00033 typedef struct
00034 {
00035 void *instance_data;
00036 } GATSelfCPI_Instance;
00037
00038
00039
00040 typedef void (*GATSelfCPI_Adaptor_Destroy)(void *);
00041
00042
00043 typedef GATResult (*GATSelfCPI_Adaptor_ServiceActions)(void *,
00044 GATSelfCPI_Instance *, GATTimePeriod_const);
00045
00046 typedef GATResult (*GATSelfCPI_Adaptor_CreateInstance)(void *,
00047 GATSelfCPI_Instance *);
00048
00049 typedef void (*GATSelfCPI_Adaptor_DestroyInstance)(void *,
00050 GATSelfCPI_Instance *);
00051
00052
00053 typedef GATResult (*GATSelfCPI_Adaptor_GetJob)(void *,
00054 GATSelfCPI_Instance *, GATContext, GATJob *);
00055
00056 typedef GATResult (*GATSelfCPI_Adaptor_CreateRequestForListener)(void *,
00057 GATSelfCPI_Instance *, GATContext, GATRequestListener, void *,
00058 GATRequestType, GATTable_const, const char *, GATRequest *);
00059
00060 typedef GATResult (*GATSelfCPI_Adaptor_DestroyRequestForListener)(void *,
00061 GATSelfCPI_Instance *, GATContext, GATRequest *);
00062
00063
00064
00065 typedef struct
00066 {
00067
00068 void *data;
00069 GATSelfCPI_Adaptor_Destroy destroy;
00070
00071
00072 GATSelfCPI_Adaptor_ServiceActions service_actions;
00073 GATSelfCPI_Adaptor_CreateInstance create_instance;
00074 GATSelfCPI_Adaptor_DestroyInstance destroy_instance;
00075
00076
00077 GATSelfCPI_Adaptor_GetJob get_selfjob;
00078 GATSelfCPI_Adaptor_CreateRequestForListener create_requestforlistener;
00079 GATSelfCPI_Adaptor_DestroyRequestForListener destroy_requestforlistener;
00080 } GATSelfCPI_Data;
00081
00082 #ifdef __cplusplus
00083 extern "C" {
00084 #endif
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097 GATSelfCPI GATSelfCPI_Create(unsigned long int version,
00098 GATSelfCPI_Data *data);
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110 void GATSelfCPI_Destroy(GATSelfCPI *cpi);
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125 GATResult
00126 GATSelfCPI_CreateInstance(GATSelfCPI cpi,
00127 GATSelfCPI_Instance *instance_data);
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137 void
00138 GATSelfCPI_DestroyInstance(GATSelfCPI cpi,
00139 GATSelfCPI_Instance *instance_data);
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149 GATResult
00150 GATSelfCPI_GetJob(GATSelfCPI cpi, GATSelfCPI_Instance *instance_data,
00151 GATContext context, GATJob *job);
00152
00153
00154
00155
00156
00157
00158 GATResult
00159 GATSelfCPI_CreateRequestForListener(GATSelfCPI cpi,
00160 GATSelfCPI_Instance *instance_data, GATContext context,
00161 GATRequestListener listener, void *data, GATRequestType type,
00162 GATTable_const parameters, const char *name, GATRequest *request);
00163
00164
00165
00166
00167
00168
00169 GATResult
00170 GATSelfCPI_DestroyRequestForListener(GATSelfCPI cpi,
00171 GATSelfCPI_Instance *instance_data, GATContext context,
00172 GATRequest *request);
00173
00174 #ifdef __cplusplus
00175 }
00176 #endif
00177
00178 #endif
00179