1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 #ifndef mozilla_places_SyncedBookmarksMirror_h_
6 #define mozilla_places_SyncedBookmarksMirror_h_
7 
8 #include "mozISyncedBookmarksMirror.h"
9 #include "nsCOMPtr.h"
10 
11 extern "C" {
12 
13 // Implemented in Rust, in the `bookmark_sync` crate.
14 void NS_NewSyncedBookmarksMerger(mozISyncedBookmarksMerger** aResult);
15 
16 }  // extern "C"
17 
18 namespace mozilla {
19 namespace places {
20 
NewSyncedBookmarksMerger()21 already_AddRefed<mozISyncedBookmarksMerger> NewSyncedBookmarksMerger() {
22   nsCOMPtr<mozISyncedBookmarksMerger> merger;
23   NS_NewSyncedBookmarksMerger(getter_AddRefs(merger));
24   return merger.forget();
25 }
26 
27 }  // namespace places
28 }  // namespace mozilla
29 
30 #endif  // mozilla_places_SyncedBookmarksMirror_h_
31