2024-02-16 09:45:59 +00:00
|
|
|
|
2024-02-16 14:25:39 +00:00
|
|
|
#ifndef _NEGENTROPY_WRAPPER_H
|
|
|
|
#define _NEGENTROPY_WRAPPER_H
|
2024-02-16 09:45:59 +00:00
|
|
|
|
2024-02-16 12:04:49 +00:00
|
|
|
|
2024-02-16 09:45:59 +00:00
|
|
|
//This is a C-wrapper for the C++ library that helps in integrating negentropy with nim code.
|
|
|
|
//TODO: Do error handling by catching exceptions
|
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" void* storage_new(const char* db_path, const char* name);
|
2024-02-16 09:45:59 +00:00
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" void* negentropy_new(void* storage, uint64_t frameSizeLimit);
|
2024-02-16 09:45:59 +00:00
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" const char* negentropy_initiate(void* negentropy);
|
2024-02-16 09:45:59 +00:00
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" void negentropy_setinitiator(void* negentropy);
|
2024-02-16 09:45:59 +00:00
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" bool storage_insert(void* storage, uint64_t createdAt, const char* id);
|
2024-02-16 09:45:59 +00:00
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" bool storage_erase(void* storage, uint64_t createdAt, const char* id);
|
2024-02-16 12:04:49 +00:00
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" const char* reconcile(void* negentropy, const char* query);
|
2024-02-16 12:04:49 +00:00
|
|
|
|
2024-02-17 01:48:22 +00:00
|
|
|
extern "C" const char* reconcile_with_ids(void* negentropy, const char* query, const char* have_ids[],
|
2024-02-16 14:25:39 +00:00
|
|
|
uint64_t have_ids_len, const char* need_ids[], uint64_t need_ids_len);
|
2024-02-16 12:04:49 +00:00
|
|
|
|
2024-02-16 14:25:39 +00:00
|
|
|
#endif
|
2024-02-16 12:04:49 +00:00
|
|
|
|