9#include "../common/gsCommon.h"
14#if defined(__cplusplus)
29#define SAKE_MAX_URL_LENGTH 128
30extern char sakeiSoapUrl[SAKE_MAX_URL_LENGTH];
39 SAKEStartupResult_SUCCESS,
40 SAKEStartupResult_NOT_AVAILABLE,
41 SAKEStartupResult_CORE_SHUTDOWN,
42 SAKEStartupResult_OUT_OF_MEMORY
45SAKEStartupResult SAKE_CALL sakeStartup(SAKE *sakePtr);
46void SAKE_CALL sakeShutdown(SAKE sake);
52void SAKE_CALL sakeSetGame(SAKE sake,
const gsi_char *gameName,
int gameId,
const gsi_char *secretKey);
53void SAKE_CALL sakeSetProfile(SAKE sake,
int profileId,
const char *loginTicket);
65 SAKEFieldType_ASCII_STRING,
66 SAKEFieldType_UNICODE_STRING,
67 SAKEFieldType_BOOLEAN,
68 SAKEFieldType_DATE_AND_TIME,
69 SAKEFieldType_BINARY_DATA,
71 SAKEFieldType_NUM_FIELD_TYPES
87 gsi_u16 *mUnicodeString;
109 SAKEStartRequestResult_SUCCESS,
110 SAKEStartRequestResult_NOT_AUTHENTICATED,
111 SAKEStartRequestResult_OUT_OF_MEMORY,
112 SAKEStartRequestResult_BAD_INPUT,
113 SAKEStartRequestResult_BAD_TABLEID,
114 SAKEStartRequestResult_BAD_FIELDS,
115 SAKEStartRequestResult_BAD_NUM_FIELDS,
116 SAKEStartRequestResult_BAD_FIELD_NAME,
117 SAKEStartRequestResult_BAD_FIELD_TYPE,
118 SAKEStartRequestResult_BAD_FIELD_VALUE,
119 SAKEStartRequestResult_BAD_OFFSET,
120 SAKEStartRequestResult_BAD_MAX,
121 SAKEStartRequestResult_BAD_RECORDIDS,
122 SAKEStartRequestResult_BAD_NUM_RECORDIDS,
123 SAKEStartRequestResult_UNKNOWN_ERROR
124} SAKEStartRequestResult;
128 SAKERequestResult_SUCCESS,
129 SAKERequestResult_SECRET_KEY_INVALID,
130 SAKERequestResult_SERVICE_DISABLED,
131 SAKERequestResult_CONNECTION_TIMEOUT,
132 SAKERequestResult_CONNECTION_ERROR,
133 SAKERequestResult_MALFORMED_RESPONSE,
134 SAKERequestResult_OUT_OF_MEMORY,
135 SAKERequestResult_DATABASE_UNAVAILABLE,
136 SAKERequestResult_LOGIN_TICKET_INVALID,
137 SAKERequestResult_LOGIN_TICKET_EXPIRED,
138 SAKERequestResult_TABLE_NOT_FOUND,
139 SAKERequestResult_RECORD_NOT_FOUND,
140 SAKERequestResult_FIELD_NOT_FOUND,
141 SAKERequestResult_FIELD_TYPE_INVALID,
142 SAKERequestResult_NO_PERMISSION,
143 SAKERequestResult_RECORD_LIMIT_REACHED,
144 SAKERequestResult_ALREADY_RATED,
145 SAKERequestResult_NOT_RATEABLE,
146 SAKERequestResult_NOT_OWNED,
147 SAKERequestResult_FILTER_INVALID,
148 SAKERequestResult_SORT_INVALID,
149 SAKERequestResult_TARGET_FILTER_INVALID,
150 SAKERequestResult_UNKNOWN_ERROR
153typedef void (*SAKERequestCallback)(SAKE sake, SAKERequest request, SAKERequestResult result,
void *inputData,
void *outputData,
void *userData);
157SAKEStartRequestResult SAKE_CALL sakeGetStartRequestResult(SAKE sake);
171SAKERequest SAKE_CALL sakeCreateRecord(SAKE sake,
SAKECreateRecordInput *input, SAKERequestCallback callback,
void *userData);
182SAKERequest SAKE_CALL sakeUpdateRecord(SAKE sake,
SAKEUpdateRecordInput *input, SAKERequestCallback callback,
void *userData);
191SAKERequest SAKE_CALL sakeDeleteRecord(SAKE sake,
SAKEDeleteRecordInput *input, SAKERequestCallback callback,
void *userData);
204 gsi_char *mTargetRecordFilter;
205 int mSurroundingRecordsCount;
215SAKERequest SAKE_CALL sakeSearchForRecords(SAKE sake,
SAKESearchForRecordsInput *input, SAKERequestCallback callback,
void *userData);
230SAKERequest SAKE_CALL sakeGetMyRecords(SAKE sake,
SAKEGetMyRecordsInput *input, SAKERequestCallback callback,
void *userData);
247SAKERequest SAKE_CALL sakeGetSpecificRecords(SAKE sake,
SAKEGetSpecificRecordsInput *input, SAKERequestCallback callback,
void *userData);
262SAKERequest SAKE_CALL sakeGetRandomRecord(SAKE sake,
SAKEGetRandomRecordInput *input, SAKERequestCallback callback,
void *userData);
275 float mAverageRating;
277SAKERequest SAKE_CALL sakeRateRecord(SAKE sake,
SAKERateRecordInput *input, SAKERequestCallback callback,
void *userData);
290SAKERequest SAKE_CALL sakeGetRecordLimit(SAKE sake,
SAKEGetRecordLimitInput *input, SAKERequestCallback callback,
void *userData);
304SAKERequest SAKE_CALL sakeGetRecordCount(SAKE sake,
SAKEGetRecordCountInput *input, SAKERequestCallback callback,
void *userData);
310SAKEField * SAKE_CALL sakeGetFieldByName(
const char *name,
SAKEField *fields,
int numFields);
317#define SAKE_FILE_RESULT_HEADER "Sake-File-Result:"
318#define SAKE_FILE_ID_HEADER "Sake-File-Id:"
323 SAKEFileResult_SUCCESS = 0,
324 SAKEFileResult_BAD_HTTP_METHOD = 1,
325 SAKEFileResult_BAD_FILE_COUNT = 2,
326 SAKEFileResult_MISSING_PARAMETER = 3,
327 SAKEFileResult_FILE_NOT_FOUND = 4,
328 SAKEFileResult_FILE_TOO_LARGE = 5,
329 SAKEFileResult_SERVER_ERROR = 6,
330 SAKEFileResult_UNKNOWN_ERROR
333gsi_bool SAKE_CALL sakeSetFileDownloadURL(SAKE sake, gsi_char url[SAKE_MAX_URL_LENGTH]);
334gsi_bool SAKE_CALL sakeSetFileUploadURL(SAKE sake, gsi_char url[SAKE_MAX_URL_LENGTH]);
336gsi_bool SAKE_CALL sakeGetFileDownloadURL(SAKE sake,
int fileId, gsi_char url[SAKE_MAX_URL_LENGTH]);
337gsi_bool SAKE_CALL sakeGetFileUploadURL(SAKE sake, gsi_char url[SAKE_MAX_URL_LENGTH]);
339gsi_bool SAKE_CALL sakeGetFileResultFromHeaders(
const char *headers, SAKEFileResult *result);
340gsi_bool SAKE_CALL sakeGetFileIdFromHeaders(
const char *headers,
int *fileId);
345#if defined(__cplusplus)
Definition sakeRequest.h:48