File tree Expand file tree Collapse file tree 4 files changed +21
-1
lines changed
Expand file tree Collapse file tree 4 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -498,6 +498,13 @@ class Store implements Finalizable {
498498 detach: this , externalSize: 200 * 1024 );
499499 }
500500
501+ /// Returns the version and features of the platform-specific ObjectBox
502+ /// database library.
503+ ///
504+ /// The format may change in any future release, only use this for
505+ /// informational purposes.
506+ static String databaseVersion () => dartStringFromC (C .version_core_string ());
507+
501508 /// Returns if an open store (i.e. opened before and not yet closed) was found
502509 /// for the given [directoryPath] .
503510 ///
Original file line number Diff line number Diff line change @@ -238,6 +238,13 @@ class SyncClient {
238238 /// Returns if this sync client is closed and can no longer be used.
239239 bool isClosed () => _cSync.address == 0 ;
240240
241+ /// Returns the protocol version this client uses.
242+ static int protocolVersion () => C .sync_protocol_version ();
243+
244+ /// Returns the protocol version of the server after a connection is
245+ /// established (or attempted), zero otherwise.
246+ int protocolVersionServer () => C .sync_protocol_version_server (_ptr);
247+
241248 /// Gets the current sync client state.
242249 SyncState state () {
243250 final state = C .sync_state (_ptr);
Original file line number Diff line number Diff line change 11import 'dart:ffi' as ffi;
22
33import 'package:objectbox/internal.dart' ;
4+ import 'package:objectbox/objectbox.dart' ;
45import 'package:objectbox/src/native/bindings/bindings.dart' ;
56import 'package:objectbox/src/native/bindings/helpers.dart' ;
67import 'package:objectbox/src/native/version.dart' ;
@@ -14,7 +15,8 @@ void main() {
1415 expect (atLeastDart ("999.0.0" ), false );
1516 });
1617
17- print ("Testing basics of ObjectBox using C lib V${libraryVersion ()}" );
18+ print ("Testing basics of ObjectBox using C lib V${libraryVersion ()} "
19+ "with database version ${Store .databaseVersion ()}" );
1820
1921 // Prior to Dart 2.6, the exception wasn't accessible and may have crashed.
2022 // Similarly, this occured in Fluter for Linux (desktop).
Original file line number Diff line number Diff line change @@ -99,6 +99,7 @@ void main() {
9999
100100 if (Sync .isAvailable ()) {
101101 // TESTS to run when SYNC is available
102+ print ("Testing Sync with protocol version ${SyncClient .protocolVersion ()}" );
102103
103104 test ('SyncClient lifecycle' , () {
104105 expect (store.syncClient (), isNull);
@@ -210,6 +211,9 @@ void main() {
210211 SyncClient c = createClient (store);
211212 expect (c.isClosed (), isFalse);
212213
214+ expect (SyncClient .protocolVersion (), greaterThanOrEqualTo (7 ));
215+ expect (c.protocolVersionServer (), 0 );
216+
213217 c.setCredentials (SyncCredentials .none ());
214218 c.setCredentials (SyncCredentials .googleAuthString ('secret' ));
215219 c.setCredentials (SyncCredentials .sharedSecretString ('secret' ));
You can’t perform that action at this time.
0 commit comments