Realm C++ SDK Version v2.2.0

async_open_task.hpp

1
2//
3// Copyright 2024 Realm Inc.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
18
19#ifndef CPPREALM_BRIDGE_ASYNC_OPEN_TASK_HPP
20#define CPPREALM_BRIDGE_ASYNC_OPEN_TASK_HPP
21
22#include <functional>
23#include <memory>
24
25namespace realm {
26 class AsyncOpenTask;
27
28 namespace internal::bridge {
29 struct thread_safe_reference;
30
32 async_open_task(std::shared_ptr<AsyncOpenTask>&&); //NOLINT(google-explicit-constructor)
33 void start(std::function<void(thread_safe_reference, std::exception_ptr)> &&fn) const;
34 private:
35 std::shared_ptr<AsyncOpenTask> m_task;
36 };
37 }
38}
39
40#endif //CPPREALM_BRIDGE_ASYNC_OPEN_TASK_HPP
Definition: async_open_task.hpp:31
Definition: thread_safe_reference.hpp:32