|
18 | 18 | import platform |
19 | 19 | from objectbox.version import Version |
20 | 20 |
|
21 | | - |
22 | 21 | # This file contains C-API bindings based on the objectbox.h, linking to the 'objectbox' shared library |
| 22 | +required_version = "0.5.104" |
23 | 23 |
|
24 | 24 |
|
25 | 25 | def shlib_name(library: str) -> str: |
@@ -48,7 +48,6 @@ def shlib_name(library: str) -> str: |
48 | 48 | # C-api (core library) version |
49 | 49 | version_core = Version(__major.value, __minor.value, __patch.value) |
50 | 50 |
|
51 | | -required_version = "0.5.103" |
52 | 51 | assert str(version_core) == required_version, \ |
53 | 52 | "Incorrect ObjectBox version loaded: %s instead of expected %s " % (str(version_core), required_version) |
54 | 53 |
|
@@ -82,15 +81,7 @@ class OBX_store(ctypes.Structure): |
82 | 81 |
|
83 | 82 |
|
84 | 83 | class OBX_store_options(ctypes.Structure): |
85 | | - _fields_ = [ |
86 | | - ('directory', ctypes.c_char_p), |
87 | | - ('maxDbSizeInKByte', ctypes.c_uint64), |
88 | | - ('fileMode', ctypes.c_uint), |
89 | | - ('maxReaders', ctypes.c_uint) |
90 | | - ] |
91 | | - |
92 | | - def p(self) -> 'ctypes.POINTER(OBX_store_options)': |
93 | | - return ctypes.byref(self) |
| 84 | + pass |
94 | 85 |
|
95 | 86 |
|
96 | 87 | OBX_store_options_p = ctypes.POINTER(OBX_store_options) |
@@ -282,12 +273,48 @@ def c_voidp_as_bytes(voidp, size): |
282 | 273 | obx_model_entity_last_property_id = fn('obx_model_entity_last_property_id', obx_err, |
283 | 274 | [OBX_model_p, obx_schema_id, obx_uid]) |
284 | 275 |
|
285 | | -# OBX_store* (OBX_model* model, const OBX_store_options* options); |
286 | | -obx_store_open = fn('obx_store_open', OBX_store_p, [OBX_model_p, OBX_store_options_p]) |
| 276 | +# OBX_store_options* (); |
| 277 | +obx_opt = fn('obx_opt', OBX_store_options_p, []) |
| 278 | + |
| 279 | +# obx_err (OBX_store_options* opt, const char* dir); |
| 280 | +obx_opt_directory = fn('obx_opt_directory', obx_err, [OBX_store_options_p, ctypes.c_char_p]) |
| 281 | + |
| 282 | +# void (OBX_store_options* opt, size_t size_in_kb); |
| 283 | +obx_opt_max_db_size_in_kb = fn('obx_opt_max_db_size_in_kb', None, [OBX_store_options_p, ctypes.c_size_t]) |
| 284 | + |
| 285 | +# void (OBX_store_options* opt, int file_mode); |
| 286 | +obx_opt_file_mode = fn('obx_opt_file_mode', None, [OBX_store_options_p, ctypes.c_int]) |
| 287 | + |
| 288 | +# void (OBX_store_options* opt, int max_readers); |
| 289 | +obx_opt_max_readers = fn('obx_opt_max_readers', None, [OBX_store_options_p, ctypes.c_int]) |
| 290 | + |
| 291 | +# obx_err (OBX_store_options* opt, OBX_model* model); |
| 292 | +obx_opt_model = fn('obx_opt_model', obx_err, [OBX_store_options_p, OBX_model_p]) |
| 293 | + |
| 294 | +# void (OBX_store_options* opt); |
| 295 | +obx_opt_free = fn('obx_opt_free', None, [OBX_store_options_p]) |
| 296 | + |
| 297 | +# OBX_store* (const OBX_store_options* options); |
| 298 | +obx_store_open = fn('obx_store_open', OBX_store_p, [OBX_store_options_p]) |
287 | 299 |
|
288 | 300 | # obx_err (OBX_store* store); |
289 | 301 | obx_store_close = fn('obx_store_close', obx_err, [OBX_store_p]) |
290 | 302 |
|
| 303 | +# OBX_txn* (OBX_store* store); |
| 304 | +obx_txn_begin = fn('obx_txn_begin', OBX_txn_p, [OBX_store_p]) |
| 305 | + |
| 306 | +# OBX_txn* (OBX_store* store); |
| 307 | +obx_txn_begin_read = fn('obx_txn_begin_read', OBX_txn_p, [OBX_store_p]) |
| 308 | + |
| 309 | +# obx_err (OBX_txn* txn) |
| 310 | +obx_txn_close = fn('obx_txn_close', obx_err, [OBX_txn_p]) |
| 311 | + |
| 312 | +# obx_err (OBX_txn* txn); |
| 313 | +obx_txn_abort = fn('obx_txn_abort', obx_err, [OBX_txn_p]) |
| 314 | + |
| 315 | +# obx_err (OBX_txn* txn); |
| 316 | +obx_txn_commit = fn('obx_txn_commit', obx_err, [OBX_txn_p]) |
| 317 | + |
291 | 318 | # OBX_box* (OBX_store* store, obx_schema_id entity_id); |
292 | 319 | obx_box = fn('obx_box', OBX_box_p, [OBX_store_p, obx_schema_id]) |
293 | 320 |
|
|
0 commit comments