Realm C++ SDK Version v2.2.0

default_scheduler.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_DEFAULT_SCHEDULERS_HPP
20#define CPPREALM_DEFAULT_SCHEDULERS_HPP
21
22#include <cpprealm/scheduler.hpp>
23
24#if __has_include(<cpprealm/util/config.h>)
25#include <cpprealm/util/config.h>
26#endif
27
28#if defined(REALM_HAVE_UV) && REALM_HAVE_UV
29typedef struct uv_loop_s uv_loop_t;
30#endif
31
32namespace realm::default_scheduler {
41 std::shared_ptr<scheduler> make_platform_default();
42
48 void set_default_factory(std::function<std::shared_ptr<scheduler>()>&& factory_fn);
49
55 std::shared_ptr<scheduler> make_default();
56} // namespace realm
57
58#endif//CPPREALM_DEFAULT_SCHEDULERS_HPP