19#ifndef CPPRALM_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/net워킹/http.hpp>
31#include <cpprealm/net워킹/websocket.hpp>
38 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 CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
77 internal::bridge:: 저장::AppError m_error[1];
79 std::shared_ptr<realm::app::AppError> m_error;
98 명시적 user(std::shared_ptr<app::User>
user);
99 bool is_logged_in()
const;
114 [[nodiscard]] std::string
식별자()
const;
119 [[nodiscard]]
상태 상태()
const;
139 [[nodiscard]]
db_config flexible_sync_configuration()
const;
148 oid log_out (std::function< oid
(std::optional<<app_error> app_error >)>&& 콜백)
const;
150 [[nodiscard]] std::future<void> log_out()
const;
153 [[deprecated(
"`get_custom_data()`(으)로 대체되었습니다. 이 메서드는 향후 릴리스에서 제거될 예정입니다.")]]
154 [[nodiscard]] std::optional<std::string> custom_data()
const;
160 [[nodiscard]] std::optional<bsoncxx::document>
get_custom_data()
const;
170 [[deprecated(
"이 함수는 더 이상 사용되지 않으며 BSON 기반 호출 함수 API 로 대체될 예정입니다.")]]
171 void 호출 함수(
const std::string& name,
const std::string& args_ejson,
172 std::function<
<std::string>oid<app_error>
(std::optional, std::optional< app_error >)> 콜백) const ;
182 [[deprecated(
"이 함수는 더 이상 사용되지 않으며 BSON 기반 호출 함수 API 로 대체될 예정입니다.")]]
183 [[nodiscard]] std::future<std::optional<std::string>>
call_function(
const std::string& name,
184 const std::string& args_ejson)
const;
194 void 호출 함수(
const std::string& name,
const std::vector<bsoncxx>& args_bson,
195 std::function<
<bsoncxx>oid<app_error>
(std::optional< bsoncxx >, std::optional)> 콜백) const ;
204 [[nodiscard]] std::future<std::optional<bsoncxx>>
호출 함수(
const std::string& name,
const std::vector<bsoncxx>& args_bson)
const;
216 std::shared_ptr<app::User> m_user;
219bool 연산자==(
const user& lhs,
const user& rhs);
220bool operator!=(
const user& lhs,
const user& rhs);
223 struct AppCredentials;
242 std::optional<std::string>
경로;
243 [[deprecated(
"네트워크 옵션은 사용자 지정 네트워크 구현을 통해 제공해야 합니다.")]]
244 std::optional<std::map<std::string, std::string>> custom_http_headers;
249 [[deprecated(
"네트워크 옵션은 사용자 지정 네트워크 구현을 통해 제공해야 합니다.")]]
250 std::optional<sync_config::proxy_config> proxy_configuration;
269 static 자격 증명 anonymous();
270 static 자격 증명 api_key(
const std::string& key);
271 static facebook (
const std::string& access_token);
272 static 자격 증명 Apple(
const std::string& id_token);
273 static 자격 증명 google_auth_code(
const std::string& auth_code);
274 static 자격 증명 google_id_token(
const std::string& id_token);
275 static 자격 증명 custom(
const std::string& token);
276 static 자격 증명 username_password(
const std::string& 사용자 이름,
const std::string& 비밀번호);
277 static 자격 증명 function(
const std::string& 페이로드);
286 연산자 app::AppCredentials()
const;
289#ifdef CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
290 internal::bridge::storage::AppCredentials m_credentials[1];
292 std::shared_ptr<app::AppCredentials> m_credentials;
296 std::future<void> Register_user(
const std::string& 사용자
이름, const std::string& password);
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;
319 std::shared_ptr<app::App> m_app;
320 앱(std::shared_PTr<app::App>&& a) : m_app(std::move(a)) { }
bool enable_cashing
지정된 앱 ID 에 대한 앱과 해당 구성을 캐시합니다. 기본값 켜져 있습니다.
정의: app.hpp:248
std::optional< std::string > base_url
요청 사용자 지정 기본 URL 입니다. 설정하다 하지 않거나 nil로 설정하다 하면 앱 서비스의 기본값 기본 URL입니다...
정의: app.hpp:240
std::optional< std::string > 경로
Realm 파일의 사용자 지정 위치 입니다.
정의: app.hpp:242
std::optional< 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 애플리케이션의 앱 ID 입니다.
정의: app.hpp:238
std::string refresh_token() const
정의: app.cpp:181
void 호출 함수(&name, const std::문자열 &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::string 식별자() const
정의: app.cpp:151