32#define PKRSRV_ACCOUNT_SELECT_COLUMNS " id, id_token, name, avatar, balance, xmr_deposit_address, locked_balance, total_deposited, xmr_deposit_address_index, xmr_height "
33#define PKRSRV_ACCOUNT_SELECT_COLUMNS_COUNT 11
34#define PKRSRV_ACCOUNT_SELECT_COLUMNS_ARRAY { "id", "id_token", "name", "avatar", "balance", "xmr_deposit_address", "locked_balance", "total_deposited", "xmr_deposit_address_index", "xmr_height", NULL }
55 void (*
on_updated)(pkrsrv_account_t* account,
void* param);
59typedef struct pkrsrv_account_new_params {
85typedef struct pkrsrv_account_create_params {
97typedef struct pkrsrv_account_create_result {
103typedef struct pkrsrv_account_update_params {
108typedef struct pkrsrv_account_update_result {
123typedef struct pkrsrv_account_getby_credentials_params {
140typedef struct pkrsrv_account_iterator {
142 pkrsrv_account_t* current;
145 PGresult* query_result;
pkrsrv_string_t * name
Definition account.h:46
pkrsrv_string_t * xmr_deposit_address
Definition account.h:90
pkrsrv_string_t * avatar
Definition account.h:88
bool is_avatar_too_big
Definition account.h:110
uint64_t id
Definition account.h:60
uint64_t xmr_height
Definition account.h:53
bool is_ok
Definition account.h:109
uint64_t id
Definition account.h:44
pkrsrv_account_t * account
Definition account.h:98
pkrsrv_string_t * id_token
Definition account.h:124
pkrsrv_string_t * name
Definition account.h:87
uint64_t xmr_height
Definition account.h:69
pkrsrv_string_t * avatar
Definition account.h:106
pkrsrv_string_t * avatar
Definition account.h:47
uint64_t xmr_deposit_address_index
Definition account.h:65
pkrsrv_string_t * id_token
Definition account.h:86
uint64_t balance
Definition account.h:92
pkrsrv_string_t * id_token
Definition account.h:61
uint64_t xmr_height
Definition account.h:95
uint64_t total_deposited
Definition account.h:94
void * on_updated_param
Definition account.h:56
uint64_t total_deposited
Definition account.h:52
void * owner
Definition account.h:54
uint64_t total_deposited
Definition account.h:68
uint64_t xmr_deposit_address_index
Definition account.h:91
pkrsrv_string_t * xmr_deposit_address
Definition account.h:64
pkrsrv_string_t * name
Definition account.h:105
pkrsrv_string_t * id_token
Definition account.h:45
uint64_t locked_balance
Definition account.h:67
uint64_t locked_balance
Definition account.h:51
pkrsrv_string_t * password
Definition account.h:125
uint64_t id
Definition account.h:104
uint64_t balance
Definition account.h:66
uint64_t balance
Definition account.h:50
bool is_already_exists
Definition account.h:99
uint64_t locked_balance
Definition account.h:93
uint64_t xmr_deposit_address_index
Definition account.h:49
pkrsrv_string_t * xmr_deposit_address
Definition account.h:48
void(* on_updated)(pkrsrv_account_t *account, void *param)
Definition account.h:55
pkrsrv_string_t * password
Definition account.h:89
pkrsrv_string_t * name
Definition account.h:62
pkrsrv_string_t * avatar
Definition account.h:63
pkrsrv_account_t * pkrsrv_account_getby_credentials(PGconn *pg_conn, pkrsrv_account_getby_credentials_params_t params)
void pkrsrv_account_iterator_free(pkrsrv_account_iterator_t *iterator)
Frees the memory occupied by an account iterator.
bool pkrsrv_account_update_xmr_height(PGconn *pg_conn, pkrsrv_account_t *account, uint64_t xmr_height)
pkrsrv_account_t * pkrsrv_account_new(pkrsrv_account_new_params_t params)
pkrsrv_account_iterator_t * pkrsrv_account_iterator_query(PGconn *pg_conn, pkrsrv_string_t *query, char **params, int params_length)
Queries the database for account objects.
void pkrsrv_account_get_balance(pkrsrv_account_t *account, uint64_t balance)
void pkrsrv_account_free(pkrsrv_account_t *player)
bool pkrsrv_account_update_locked_balance(PGconn *pg_conn, pkrsrv_account_t *account, uint64_t locked_balance)
pkrsrv_account_t * pkrsrv_account_getby_id(PGconn *pg_conn, uint64_t p_id)
pkrsrv_account_update_result_t pkrsrv_account_update(PGconn *pg_conn, pkrsrv_account_update_params_t params)
bool pkrsrv_account_unlock_balance(PGconn *pg_conn, pkrsrv_account_t *account, uint64_t amount)
bool pkrsrv_account_update_balance(PGconn *pg_conn, pkrsrv_account_t *account, uint64_t balance)
bool pkrsrv_account_add_balance(PGconn *pg_conn, pkrsrv_account_t *account, uint64_t amount)
pkrsrv_account_iterator_t * pkrsrv_account_iterator_new()
Creates a new account iterator.
bool pkrsrv_account_iterator_next(pkrsrv_account_iterator_t *iterator)
Moves the iterator to the next account.
bool pkrsrv_account_remove_locked_balance(PGconn *pg_conn, pkrsrv_account_t *account, uint64_t amount)
pkrsrv_account_create_result_t pkrsrv_account_create(PGconn *pg_conn, pkrsrv_account_create_params_t params)
bool pkrsrv_account_lock_balance(PGconn *pg_conn, pkrsrv_account_t *account, uint64_t amount)
void pkrsrv_account_fetch(PGconn *pg_conn, pkrsrv_account_t *p_account)
bool pkrsrv_account_revert_locked_balanes(PGconn *pg_conn)
bool pkrsrv_account_set_balance(pkrsrv_account_t *account, uint64_t balance)
Account object.
Definition account.h:42
Account iterator object.
Definition account.h:140
#define PKRSRV_REF_COUNTEDIFY()
Makes a structure reference-counted.
Definition ref.h:70