summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/bookmark_sync/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/places/bookmark_sync/src/lib.rs')
-rw-r--r--toolkit/components/places/bookmark_sync/src/lib.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/toolkit/components/places/bookmark_sync/src/lib.rs b/toolkit/components/places/bookmark_sync/src/lib.rs
new file mode 100644
index 0000000000..a0dadd51c2
--- /dev/null
+++ b/toolkit/components/places/bookmark_sync/src/lib.rs
@@ -0,0 +1,27 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#![allow(non_snake_case)]
+
+#[macro_use]
+extern crate cstr;
+#[macro_use]
+extern crate xpcom;
+
+mod driver;
+mod error;
+mod merger;
+mod store;
+
+use xpcom::{interfaces::mozISyncedBookmarksMerger, RefPtr};
+
+use crate::merger::SyncedBookmarksMerger;
+
+#[no_mangle]
+pub unsafe extern "C" fn NS_NewSyncedBookmarksMerger(
+ result: *mut *const mozISyncedBookmarksMerger,
+) {
+ let merger = SyncedBookmarksMerger::new();
+ RefPtr::new(merger.coerce::<mozISyncedBookmarksMerger>()).forget(&mut *result);
+}