 |
Diarkis C++Client Library API Document
|
Go to the documentation of this file.
6 #include "diarkis/config.h"
10 #include "logging/LoggerFactory.h"
17 std::shared_ptr<IDiarkisLogger> logger,
19 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
23 std::shared_ptr<IDiarkisLogger> logger,
24 const char* host,
const char* clientKey,
const uint64_t& uid,
const char* serverType,
25 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
29 std::shared_ptr<IDiarkisLogger> logger,
30 const char* host,
const char* clientKey,
const char* uid,
const char* serverType,
31 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
41 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth);
43 #ifdef DIARKIS_PLATFORM_NINTENDO_SWITCH
46 std::shared_ptr<IDiarkisLogger> logger,
48 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
51 void initNetwork(std::shared_ptr<IDiarkisLogger> logger);
53 void finishNetwork(
void);
55 #elif defined(DIARKIS_PLATFORM_PS4)
58 std::shared_ptr<IDiarkisLogger> logger,
60 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
63 void initNetwork(std::shared_ptr<IDiarkisLogger> logger);
65 void finishNetwork(std::shared_ptr<IDiarkisLogger> logger);
67 #elif defined(DIARKIS_PLATFORM_PS5)
70 std::shared_ptr<IDiarkisLogger> logger,
72 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
75 void initNetwork(std::shared_ptr<IDiarkisLogger> logger);
77 void finishNetwork(std::shared_ptr<IDiarkisLogger> logger);
79 #elif defined(DIARKIS_PLATFORM_XBOX_XDK)
82 std::shared_ptr<IDiarkisLogger> logger,
83 const char* authEndpoint,
const char* clientKey,
const char* serverType,
84 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
87 void initNetwork(std::shared_ptr<IDiarkisLogger> logger);
89 void finishNetwork(std::shared_ptr<IDiarkisLogger> logger);
91 #elif defined(DIARKIS_PLATFORM_ANDROID)
94 std::shared_ptr<IDiarkisLogger> logger,
96 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
99 #elif defined(DIARKIS_PLATFORM_IOS)
102 std::shared_ptr<IDiarkisLogger> logger,
103 const Diarkis::StdString& authEndpoint,
const char* clientKey,
const char* serverType,
104 char* endpoint,
size_t endpointBuf,
struct AuthInfo* auth
const char * GetStatusString() const
Gets a string representation of the status of the result value.
Result FetchAuthInfo(std::shared_ptr< IDiarkisLogger > logger, const Diarkis::StdString &authEndpoint, const char *clientKey, const char *serverType, char *endpoint, size_t endpointBuf, struct AuthInfo *auth)
Definition: http.cpp:464
DIARKIS_EXPORT System::Result CONTENT_TYPE_HEADER_NOT_FOUND
The Content-Type header could not be found in the HTTP response. (status: FATAL, value: 0x065627D3)
bool CheckHttpURL(Diarkis::StdString &url)
Definition: http.cpp:285
bool CreateFolder(Diarkis::StdString absolutePath)
Result ParseKeyValue(std::shared_ptr< IDiarkisLogger > logger, const Diarkis::StdString &response, size_t offset, const Diarkis::StdString &key, Diarkis::StdString &value)
Definition: http.cpp:84
uint8_t iv[DIARKIS_AUTHKEY_LEN]
Definition: common.h:62
Definition: results.autogen.h:10
uint8_t key[DIARKIS_AUTHKEY_LEN]
Definition: common.h:61
bool CheckContentType(Diarkis::StdString headerValue, std::initializer_list< Diarkis::StdString > expected)
Definition: http.cpp:153
DIARKIS_EXPORT System::Result NOT_2XX_STATUS_CODE
Server responded with a status code outside of the 2XX success range. (status: FATAL,...
struct Credentials cred
Definition: common.h:67
Contains information about a specific result value. Can be compared against another Result structure....
Definition: result.h:37
DIARKIS_EXPORT System::Result INVALID_RESPONSE_CONTENT
A required information is missing from the HTTP response content. (status: FATAL, value: 0xFF88DFF3)
Result HexadecimalStringToByteArray(const Diarkis::StdString &input, Diarkis::StdVector< uint8_t > &output)
Definition: string.cpp:245
@ Info
Displays info, warning, error, and fatal level.
DIARKIS_EXPORT System::Result CONTENT_TYPE_NOT_JSON
The Content-Type header value is not application/json nor text/json. (status: FATAL,...
uint8_t sid[DIARKIS_AUTHKEY_LEN]
Definition: common.h:66
Diarkis::StdString ByteArrayToHexadecimalString(const Diarkis::StdVector< uint8_t > &byteArray, Diarkis::StdString spacing)
Definition: string.cpp:329
Result HttpConnect(std::shared_ptr< IDiarkisLogger > logger, const char *host, const char *clientKey, const char *uid, const char *serverType, char *endpoint, size_t endpointBuf, struct AuthInfo *auth)
Definition: http.cpp:492
Diarkis::System::Result ParseKeyValue(std::shared_ptr< IDiarkisLogger > logger, const Diarkis::StdString &response, size_t offset, const Diarkis::StdString &key, Diarkis::StdString &value)
Definition: http.cpp:84
#define DIARKIS_AUTHKEY_LEN
Definition: common.h:57
Result DiarkisHttpAccess(const std::shared_ptr< IDiarkisLogger > &logger, const Diarkis::StdString &authEndpoint, const Diarkis::StdString &clientKey, HttpAccessType type, const Diarkis::StdString &postRequestBody, const Diarkis::StdString &contentType, Diarkis::StdString &outResult)
Definition: http.cpp:402
Diarkis::System::Result FetchAuthInfo(std::shared_ptr< IDiarkisLogger > logger, const Diarkis::StdString &authEndpoint, const char *clientKey, const char *serverType, char *endpoint, size_t endpointBuf, struct AuthInfo *auth)
Definition: http.cpp:464
Definition: results.autogen.h:150
DIARKIS_EXPORT System::Result MACKEY_NOT_FOUND
Could not retrieve the MAC key from HTTP auth response. (status: FATAL, value: 0xB5FF6420)
DIARKIS_EXPORT System::Result HTTP_SYSTEM_ERROR
HTTP library error. (status: FATAL, value: 0x5864352D)
Result TryParse(std::shared_ptr< IDiarkisLogger > logger, const Diarkis::StdString &response, const Diarkis::StdString &serverType, Diarkis::StdString &endpoint, Diarkis::StdVector< uint8_t > &sid, Diarkis::StdVector< uint8_t > &key, Diarkis::StdVector< uint8_t > &iv, Diarkis::StdVector< uint8_t > &mackey)
Definition: http.cpp:173
DIARKIS_EXPORT System::Result KEY_NOT_FOUND
Could not retrieve the session key from HTTP auth response. (status: FATAL, value: 0xBB820DA1)
DIARKIS_EXPORT System::Result IV_NOT_FOUND
Could not retrieve the IV from HTTP auth response. (status: FATAL, value: 0x60B44EC5)
size_t Find(const char *str, const char *subStr, size_t pos)
Definition: string.cpp:391
DIARKIS_EXPORT System::Result MISCELLANEOUS_ERROR
FIXME placeholder (status: FATAL, value: 0x681E68DD)
DIARKIS_EXPORT System::Result SUCCESS
Everything went according to plan. (status: NONE, value: 0)
@ Error
Displays fatal and error level.
DIARKIS_EXPORT System::Result SID_NOT_FOUND
Could not retrieve the SID from HTTP auth response. (status: FATAL, value: 0x35EEBC5B)
Diarkis::System::Result HttpConnect(std::shared_ptr< IDiarkisLogger > logger, const char *host, const char *clientKey, const uint64_t &uid, const char *serverType, char *endpoint, size_t endpointBuf, struct AuthInfo *auth)
#define DIARKIS_LOG(logger, severity,...)
Definition: Logger.h:8
bool Substr(char *dst, size_t dstSize, const char *src, size_t count)
Definition: string.cpp:402
HttpAccessType
Definition: http.cpp:57
DIARKIS_EXPORT System::Result DESTINATION_BUFFER_TOO_SMALL_ERROR
The destination buffer is too small. (status: FATAL, value: 0x95582D3C)
bool CheckContentType(Diarkis::StdString headerValue, std::initializer_list< Diarkis::StdString > expected)
Definition: http.cpp:153
uint8_t mac[DIARKIS_AUTHKEY_LEN]
Definition: common.h:63
DIARKIS_EXPORT System::Result ENDPOINT_NOT_FOUND
Could not retrieve the UDP endpoint from HTTP auth response. (status: FATAL, value: 0x61D38C8E)
DIARKIS_EXPORT System::Result SERVER_PORT_NOT_FOUND
Could not retrieve the Server Port from HTTP auth response. (status: FATAL, value: 0xBEEF4BC8)
Diarkis::System::Result TryParse(std::shared_ptr< IDiarkisLogger > logger, const Diarkis::StdString &response, const Diarkis::StdString &serverType, Diarkis::StdString &endpoint, Diarkis::StdVector< uint8_t > &sid, Diarkis::StdVector< uint8_t > &key, Diarkis::StdVector< uint8_t > &iv, Diarkis::StdVector< uint8_t > &mackey)
Definition: http.cpp:173