![]() |
PokerUnicorn
|
Account management and interactions. More...
Data Structures | |
struct | pkrsrv_account_t |
Account object. More... | |
struct | pkrsrv_account_new_params_t |
struct | pkrsrv_account_create_params_t |
struct | pkrsrv_account_create_result_t |
struct | pkrsrv_account_update_params_t |
struct | pkrsrv_account_update_result_t |
struct | pkrsrv_account_getby_credentials_params_t |
struct | pkrsrv_account_iterator_t |
Account iterator object. More... | |
Macros | |
#define | PKRSRV_ACCOUNT_SELECT_COLUMNS " id, id_token, name, avatar, balance, xmr_deposit_address, locked_balance, total_deposited, xmr_deposit_address_index, xmr_height " |
#define | PKRSRV_ACCOUNT_SELECT_COLUMNS_COUNT 11 |
#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 } |
Functions | |
pkrsrv_account_t * | pkrsrv_account_new (pkrsrv_account_new_params_t params) |
void | pkrsrv_account_free (pkrsrv_account_t *player) |
bool | pkrsrv_account_set_balance (pkrsrv_account_t *account, uint64_t balance) |
void | pkrsrv_account_get_balance (pkrsrv_account_t *account, uint64_t balance) |
pkrsrv_account_create_result_t | pkrsrv_account_create (PGconn *pg_conn, pkrsrv_account_create_params_t params) |
pkrsrv_account_update_result_t | pkrsrv_account_update (PGconn *pg_conn, pkrsrv_account_update_params_t params) |
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) |
bool | pkrsrv_account_update_locked_balance (PGconn *pg_conn, pkrsrv_account_t *account, uint64_t locked_balance) |
bool | pkrsrv_account_remove_locked_balance (PGconn *pg_conn, pkrsrv_account_t *account, uint64_t amount) |
bool | pkrsrv_account_lock_balance (PGconn *pg_conn, pkrsrv_account_t *account, uint64_t amount) |
bool | pkrsrv_account_unlock_balance (PGconn *pg_conn, pkrsrv_account_t *account, uint64_t amount) |
bool | pkrsrv_account_revert_locked_balanes (PGconn *pg_conn) |
bool | pkrsrv_account_update_xmr_height (PGconn *pg_conn, pkrsrv_account_t *account, uint64_t xmr_height) |
pkrsrv_account_t * | pkrsrv_account_getby_credentials (PGconn *pg_conn, pkrsrv_account_getby_credentials_params_t params) |
pkrsrv_account_t * | pkrsrv_account_getby_id (PGconn *pg_conn, uint64_t p_id) |
void | pkrsrv_account_fetch (PGconn *pg_conn, pkrsrv_account_t *p_account) |
pkrsrv_account_iterator_t * | pkrsrv_account_iterator_new () |
Creates a new account iterator. | |
void | pkrsrv_account_iterator_free (pkrsrv_account_iterator_t *iterator) |
Frees the memory occupied by an account iterator. | |
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. | |
bool | pkrsrv_account_iterator_next (pkrsrv_account_iterator_t *iterator) |
Moves the iterator to the next account. | |
Account management and interactions.
struct pkrsrv_account |
Account object.
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
uint64_t | id |
pkrsrv_string_t * | id_token |
pkrsrv_string_t * | name |
pkrsrv_string_t * | avatar |
pkrsrv_string_t * | xmr_deposit_address |
uint64_t | xmr_deposit_address_index |
uint64_t | balance |
uint64_t | locked_balance |
uint64_t | total_deposited |
uint64_t | xmr_height |
void * | owner |
void(* | on_updated )(pkrsrv_account_t *account, void *param) |
void * | on_updated_param |
![]() | |
int | count |
pkrsrv_ref_free_f_t | free_f |
pthread_mutex_t | mutex |
Additional Inherited Members | |
![]() | |
#define | PKRSRV_REF_COUNTED_INIT(obj, free_f) pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f); |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
#define | PKRSRV_REF_COUNTED_USE(obj) |
Increments the reference count of a reference-counted object. | |
#define | PKRSRV_REF_COUNTED_LEAVE(obj) |
Decrements the reference count of a reference-counted object. | |
![]() | |
void | pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f) |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
void | pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted) |
Increments the reference count of a reference-counted object. | |
void | pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted) |
Decrements the reference count of a reference-counted object. | |
pkrsrv_ref_counted_t pkrsrv_account_t::ref_counted |
uint64_t pkrsrv_account_t::id |
pkrsrv_string_t* pkrsrv_account_t::id_token |
pkrsrv_string_t* pkrsrv_account_t::name |
pkrsrv_string_t* pkrsrv_account_t::avatar |
pkrsrv_string_t* pkrsrv_account_t::xmr_deposit_address |
uint64_t pkrsrv_account_t::xmr_deposit_address_index |
uint64_t pkrsrv_account_t::balance |
uint64_t pkrsrv_account_t::locked_balance |
uint64_t pkrsrv_account_t::total_deposited |
uint64_t pkrsrv_account_t::xmr_height |
void* pkrsrv_account_t::owner |
void(* pkrsrv_account_t::on_updated) (pkrsrv_account_t *account, void *param) |
void* pkrsrv_account_t::on_updated_param |
struct pkrsrv_account_new_params_t |
struct pkrsrv_account_create_params_t |
struct pkrsrv_account_update_params_t |
struct pkrsrv_account_getby_credentials_params_t |
struct pkrsrv_account_iterator_t |
Account iterator object.
This struct represents an iterator for iterating over a collection of account objects. It provides methods for creating, querying, and iterating over the accounts.
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
pkrsrv_account_t * | current |
int | index |
int | count |
PGresult * | query_result |
![]() | |
int | count |
pkrsrv_ref_free_f_t | free_f |
pthread_mutex_t | mutex |
Additional Inherited Members | |
![]() | |
#define | PKRSRV_REF_COUNTED_INIT(obj, free_f) pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f); |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
#define | PKRSRV_REF_COUNTED_USE(obj) |
Increments the reference count of a reference-counted object. | |
#define | PKRSRV_REF_COUNTED_LEAVE(obj) |
Decrements the reference count of a reference-counted object. | |
![]() | |
void | pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f) |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
void | pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted) |
Increments the reference count of a reference-counted object. | |
void | pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted) |
Decrements the reference count of a reference-counted object. | |
pkrsrv_ref_counted_t pkrsrv_account_iterator_t::ref_counted |
Macro for implementing reference counting
pkrsrv_account_t* pkrsrv_account_iterator_t::current |
Pointer to the current account
int pkrsrv_account_iterator_t::index |
Index of the current account
int pkrsrv_account_iterator_t::count |
Total number of accounts
PGresult* pkrsrv_account_iterator_t::query_result |
Result of the query
#define PKRSRV_ACCOUNT_SELECT_COLUMNS " id, id_token, name, avatar, balance, xmr_deposit_address, locked_balance, total_deposited, xmr_deposit_address_index, xmr_height " |
#define PKRSRV_ACCOUNT_SELECT_COLUMNS_COUNT 11 |
#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 } |
pkrsrv_account_t * pkrsrv_account_new | ( | pkrsrv_account_new_params_t | params | ) |
void pkrsrv_account_free | ( | pkrsrv_account_t * | player | ) |
bool pkrsrv_account_set_balance | ( | pkrsrv_account_t * | account, |
uint64_t | balance ) |
! Safe account balance setter
void pkrsrv_account_get_balance | ( | pkrsrv_account_t * | account, |
uint64_t | balance ) |
! Safe account balance getter
pkrsrv_account_create_result_t pkrsrv_account_create | ( | PGconn * | pg_conn, |
pkrsrv_account_create_params_t | params ) |
pkrsrv_account_update_result_t pkrsrv_account_update | ( | PGconn * | pg_conn, |
pkrsrv_account_update_params_t | params ) |
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 ) |
bool pkrsrv_account_update_locked_balance | ( | PGconn * | pg_conn, |
pkrsrv_account_t * | account, | ||
uint64_t | locked_balance ) |
bool pkrsrv_account_remove_locked_balance | ( | PGconn * | pg_conn, |
pkrsrv_account_t * | account, | ||
uint64_t | amount ) |
bool pkrsrv_account_lock_balance | ( | PGconn * | pg_conn, |
pkrsrv_account_t * | account, | ||
uint64_t | amount ) |
bool pkrsrv_account_unlock_balance | ( | PGconn * | pg_conn, |
pkrsrv_account_t * | account, | ||
uint64_t | amount ) |
bool pkrsrv_account_revert_locked_balanes | ( | PGconn * | pg_conn | ) |
bool pkrsrv_account_update_xmr_height | ( | PGconn * | pg_conn, |
pkrsrv_account_t * | account, | ||
uint64_t | xmr_height ) |
pkrsrv_account_t * pkrsrv_account_getby_credentials | ( | PGconn * | pg_conn, |
pkrsrv_account_getby_credentials_params_t | params ) |
pkrsrv_account_t * pkrsrv_account_getby_id | ( | PGconn * | pg_conn, |
uint64_t | p_id ) |
void pkrsrv_account_fetch | ( | PGconn * | pg_conn, |
pkrsrv_account_t * | p_account ) |
pkrsrv_account_iterator_t * pkrsrv_account_iterator_new | ( | ) |
Creates a new account iterator.
This function creates a new account iterator object.
void pkrsrv_account_iterator_free | ( | pkrsrv_account_iterator_t * | iterator | ) |
Frees the memory occupied by an account iterator.
This function frees the memory occupied by the given account iterator object.
iterator | The account iterator to be freed. |
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.
This function queries the given PostgreSQL connection for account objects using the specified query and parameters. It returns an account iterator object that can be used to iterate over the queried accounts.
pg_conn | The PostgreSQL connection. |
query | The query string. |
params | An array of query parameters. |
params_length | The length of the params array. |
bool pkrsrv_account_iterator_next | ( | pkrsrv_account_iterator_t * | iterator | ) |
Moves the iterator to the next account.
This function moves the iterator to the next account in the collection. It returns true if there is a next account, false otherwise.
iterator | The account iterator. |