Realm C++ SDK 버전 v2.2.0

sync_session.hpp

1
2//
3//저작권 2024 Realm Inc.
4//
5// Apache 라이선스, 버전 2.0("라이선스")에 따라 라이선스가 부여됩니다.
6// 라이선스를 준수하는 경우를 제외하고는 이 파일을 사용할 수 없습니다.
7// 다음에서 라이선스 사본을 얻을 수 있습니다.
8//
9// http://www.apache.org/licences/LICENSE-2.0
10//
11// 관련 법률에서 요구하거나 문서로 동의하지 않는 한, 소프트웨어
12// 라이선스에 따라 배포되는 것은 '있는 그대로' 배포됩니다,
13// Express 묵시적이든 어떤 종류의 보증이나 조건도 제공하지 않습니다.
14// 권한을 관리하는 특정 언어에 대한 내용은 라이선스를 참조하세요.
15// 라이선스에 따른 제한 사항.
16//
18
19#ifndef CPPREALM_BRIDGE_SYNC_SESSION_HPP
20#define CPPREALM_BRIDGE_SYNC_SESSION_HPP
21
22#include <memory>
23#include <functional>
24#include <future>
25#include <system_error>
26
27네임스페이스 영역 {
28 클래스 SyncSession;
29 네임스페이스 내부::브릿지 {
30 구조체 상태;
31 구조체 영역;
32
33 구조체 sync_session {
34
35 열거형 클래스 상태 {
36 활성,
37 죽어가는 중,
38 비활성,
39 Waiting_for_access_token,
40 일시 중지됨
41 };
42
43 열거형 클래스 connection_state {
44 연결이 끊어졌습니다.
45 연결 중,
46 연결됨
47 };
48
49 // 세션의 현재 상태 입니다.
50 열거형 상태 상태() const;
51
52 // 세션의 현재 연결 상태 입니다.
53 열거형 connection_state connection_state() const;
54
55 // 보류 중인 모든 업로드가 완료되면 호출될 콜백 을 등록합니다.
56 // 콜백은 비동기적으로 실행되며, 기본 동기화 클라이언트가 어떤 스레드에서
57 // 실행 하도록 선택합니다.
58 oid wait_for_upload_completion(std::function<oid(status)>&& 콜백);
59
60 // 보류 중인 모든 다운로드가 완료되면 호출될 콜백을 등록합니다.
61 // `wait_for_upload_completion()`과 동일한 방식으로 작동합니다.
62 oid wait_for_download_completion(std::function<oid(status)>&& 콜백);
63
64 // 보류 중인 모든 업로드가 완료되면 호출될 콜백 을 등록합니다.
65 // 콜백은 비동기적으로 실행되며, 기본 동기화 클라이언트가 어떤 스레드에서
66 // 실행 하도록 선택합니다.
67 std::future<void> wait_for_upload_completion();
68
69 // 보류 중인 모든 다운로드가 완료되면 호출될 콜백을 등록합니다.
70 std::future<void> wait_for_download_completion();
71
78 void 일시 중지();
79
86 void resume();
87
103 void 다시 연결();
104
109 uint64_t 관찰_연결_변경(std::function< oid( 열거형connection_state old_state , 열거형 connection_state new_state)>&& 콜백);
110
115 void unregister_connection_change_observer(uint64_t 토큰);
116
117 연산자 std::weak_ptr<SyncSession>();
118 private:
119 std::weak_ptr<SyncSession> m_session;
120 sync_session(const std::shared_ptr<SyncSession> &);
121 친구 구조체 internal::bridge:: 영역;
122 };
123 }
124}
125
126#endif //CPPREALM_BRIDGE_SYNC_SESSION_HPP
정의: realm.hpp:67
정의: status.hpp:63
정의: sync_session.hpp:33
void resume()
Definition: sync_session.cpp:108
uint64_t 관찰_연결_변경(std::function< oid(열거형 connection_state old_state, 열거형 connection_state new_state)> & 콜백)
Definition: sync_session.cpp:124
void unregister_connection_change_observer(uint64_t token)
Definition: sync_session.cpp:134
pause() 무효화
Definition: sync_session.cpp:100
oid reconnect()
Definition: sync_session.cpp:116