fix: protect extern C under ifdef cplusplus

This commit is contained in:
Prem Chaitanya Prathi 2024-02-19 15:10:31 +05:30
parent 89eb17227d
commit 6a317a29f6
No known key found for this signature in database

View File

@ -2,25 +2,30 @@
#ifndef _NEGENTROPY_WRAPPER_H
#define _NEGENTROPY_WRAPPER_H
#ifdef __cplusplus
#define EXTERNC extern "C"
#else
#define EXTERNC
#endif
//This is a C-wrapper for the C++ library that helps in integrating negentropy with nim code.
//TODO: Do error handling by catching exceptions
extern "C" void* storage_new(const char* db_path, const char* name);
EXTERNC void* storage_new(const char* db_path, const char* name);
extern "C" void* negentropy_new(void* storage, uint64_t frameSizeLimit);
EXTERNC void* negentropy_new(void* storage, uint64_t frameSizeLimit);
extern "C" const char* negentropy_initiate(void* negentropy);
EXTERNC const char* negentropy_initiate(void* negentropy);
extern "C" void negentropy_setinitiator(void* negentropy);
EXTERNC void negentropy_setinitiator(void* negentropy);
extern "C" bool storage_insert(void* storage, uint64_t createdAt, const char* id);
EXTERNC bool storage_insert(void* storage, uint64_t createdAt, const char* id);
extern "C" bool storage_erase(void* storage, uint64_t createdAt, const char* id);
EXTERNC bool storage_erase(void* storage, uint64_t createdAt, const char* id);
extern "C" const char* reconcile(void* negentropy, const char* query);
EXTERNC const char* reconcile(void* negentropy, const char* query);
extern "C" const char* reconcile_with_ids(void* negentropy, const char* query, const char* have_ids[],
EXTERNC const char* reconcile_with_ids(void* negentropy, const char* query, const char* have_ids[],
uint64_t have_ids_len, const char* need_ids[], uint64_t need_ids_len);
#endif