19#ifndef CPPREALM_APP_HPP
20#define CPPREALM_APP_HPP
22#include <cpprealm/bson.hpp>
23#include <cpprealm/db.hpp>
25#include <cpprealm/internal/bridge/realm.hpp>
26#include <cpprealm/internal/bridge/sync_error.hpp>
27#include <cpprealm/internal/bridge/sync_manager.hpp>
28#include <cpprealm/internal/bridge/sync_session.hpp>
29#include <cpprealm/internal/bridge/utils.hpp>
30#include <cpprealm/networking/http.hpp>
31#include <cpprealm/networking/websocket.hpp>
38 using proxy_config = sync_config::proxy_config;
39 using sync_session =Internal::bridge::sync_session;
62 [[nodiscard]] std::string_view message()
const ;
64 [[nodiscard]] std::string_view link_to_server_logs()
const ;
66 [[nodiscard]]
bool is_json_error()
const ;
68 [[nodiscard]]
bool is_service_error()
const ;
70 [[nodiscard]]
bool is_http_error()
const ;
72 [[nodiscard]]
bool is_custom_error()
const ;
74 [[nodiscard]]
bool is_client_error()
const ;
76#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
77 internal::bridge:: 存储::AppError m_error[ 1 ];
79std::shared_ptr<realm::app::AppError> m_error;
98 显式 user (std::shared_ptr<app::User>
user );
99 bool is_logged_in()
const ;
139 [[nodiscard]]
db_config Flexible_sync_configuration()
const ;
148 void log_out(std::function<
void (std::Optional<app_error>)>&& callback)
const ;
150 [[nodiscard]] std::future<void> log_out()
const ;
153 [[deprecated(
"Replaced by `get_custom_data()`。此方法将在未来版本中删除。" )]]
154 [[nodiscard]] std::Optional<std::string> custom_data()
const ;
160 [[nodiscard]] std::Optional<bsoncxx::document>
get_custom_data ()
const ;
170 [[deprecated(
"This function 已弃用,将替换为基于BSON的 call_function API." )]]
171 void call_function (
const std::string& name,
const std::string& args_ejson,
172 std::function<
void (std::Optional<std::string>, std::Optional<app_error>)> 回调)
const ;
182 [[deprecated(
"This function 已弃用,将替换为基于BSON的 call_function API." )]]
183 [[nodiscard]] std::future<std::Optional<std::string>>
call_function (
const std::string& name,
184 const std::string& args_ejson)
const ;
194 void call_function (
const std::string& name,
const std::vector<bsoncxx>& args_bson,
195std::function< class ="keywordtype}" class="keyword}"
<bsoncxx><app_error>class="{5}}"
href="{7}}">
204 [[nodiscard]] std::future<std::Optional<bsoncxx>>
call_function (
const std::string& name,
const std::vector<bsoncxx>& args_bson)
const ;
216std::shared_ptr<app::User> m_user;
219bool Operator==(
const user& lhs,
const user& rhs);
220bool操作符!=(
const user& lhs,
const user& rhs);
223 struct AppCredentials;
242 std::Optional<std::string>
路径;
243 [[已弃用(
"网络选项必须通过自定义网络实现提供。" )]]
244 std::Optional<std::map<std::string, std::string>> custom_http_headers;
249 [[已弃用(
"网络选项必须通过自定义网络实现提供。" )]]
250 std::Optional<sync_config::proxy_config> proxy_configuration;
270 静态 凭证api_key(
const std::string& key);
271 静态 凭证facebook(
const std::string& access_token);
272 静态 凭证苹果(
const std::string& id_token);
273 静态 凭证google_auth_code(
const std::string& auth_code);
274 静态 凭证google_id_token(
const std::string& id_token);
275 静态 凭证custom(
const std::string& token);
276 静态 用户名 (
const std::string& username,
const std::string& password);
277 静态 凭证函数(
const std::string& payload);
279 凭证(
const凭证& other) ;
280 凭证& 操作符= (
const凭证& other) ;
282 凭证& 操作符= (
凭证&& other);
286 Operator app::AppCredentials()
const ;
289#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
290 Internal::bridge::storage::AppCredentials m_credentials[ 1 ];
292std::shared_ptr<app::AppCredentials> m_credentials;
296 std::future<void>register_user(
const std::string& 用户名,
const std::string& password);
297std::future<user> login(
constcredentials &credentials )
;
298 void login(
const凭证&
凭证, std::function<
void (
user , std::Optional<app_error>)>&& callback);
300 [[nodiscard]] std::Optional<user> get_current_user()
const ;
301 void clear_cached_apps();
302 std::Optional<App> get_cached_app(
const std::string& app_id,
const std::Optional<std::string>& base_url);
303 std::string get_base_url()
const ;
305#ifdef REALM_ENABLE_EXPERIMENTAL
314 [[nodiscard]] std::future<void> update_base_url(std::string base_url)
const ;
319std::shared_ptr<app::App> m_app;
320 App (std::shared_ptr<app::App>&& a) : m_app(std::move(a)) { }
bool enable_caching
缓存给定 App ID的应用程序及其配置。 默认。
定义: app.hpp: 248
std::option< std::string > base_url
要请求的自定义基本URL 。 如果未设立或设立为 nil,则应用 Services 的默认基本 URL...
定义: app.hpp: 240
std::option< std::string > 路径
Realm文件的自定义位置。
定义: app.hpp: 242
std::option< std:: 大量< char, 64 >> metadata_encryption_key
元数据Realm的自定义加密密钥。
定义: app.hpp: 246
std::shared_ptr< networking::sync_socket_provider >sync_socket_provider
定义: app.hpp: 261
std::shared_ptr< networking::http_transport_client > http_transport_client
定义: app.hpp: 257
std::string app_id
Atlas Device Sync应用程序的 App ID 。
定义: app.hpp: 238
std::string refresh_token() const
定义: app.cpp: 181
void call_function(const std::string &name, const std::string &args_ejson, std::function< void(std::Optional< std::string >, std::Optional< app_error >)> 回调) const
定义: app.cpp: 245
std::Optional< bsoncxx::document > get_custom_data() const
定义: app.cpp: 236
std::string access_token() const
定义: app.cpp: 170
std::future< void > refresh_custom_user_data() const
定义: app.cpp: 311
std::stringidentifier() const
定义: app.cpp: 151