Realm C++ SDK Versão C++ v2.2.0

sync_session.hpp

1
2//
3// Autores 2024 Realm Inc.
4//
5// Licenciado sob a Licença Apache, Versão 2.0 (a "Licença");
6// você não pode usar este arquivo, exceto em conformidade com a Licença.
7// Você pode obter uma cópia da Licença em
8//
9// http://www.apache.org/license/LICENSE-2.0
10//
11// A menos que exigido pela lei aplicável ou acordado por escrito, o software
12// distribuído sob a Licença é distribuído "Como está",
13// sem garantias ou condições de qualquer tipo, Express ou implícitas.
14// Consulte a Licença para obter as permissões específicas de domínio do idioma e
15// limitações da Licença.
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
27namespace Realm {
28 classe SyncSession;
29 namespace interno::bridge {
30 status da estrutura ;
31 domínio estruturado ;
32
33 estrutura, estrutura sync_session {
34
35 estado da classe enumeração {
36 ativo,
37 morto,
38 inativo,
39 wait_for_access_token,
40 pausado
41 };
42
43 classe enum connection_state {
44 desconectado,
45 conectando,
46 conectado
47 };
48
49 // O estado atual da sessão.
50 enumeração state state() const;
51
52 // O estado atual da conexão da sessão.
53 enumeração connection_state connection_state() const;
54
55 // Registre um chamada de resposta de chamada que será chamado quando todos os carregamentos pendentes forem concluídos.
56 // O retorno de chamada é executado de forma assíncrona e em qualquer thread que o cliente de sincronização subjacente
57 // escolhe para executá-lo.
58 vazio wait_for_upload_completion(std::function <vazio(status)>&& chamada de resposta de resposta );
59
60 // Registre um retorno de chamada que será chamado quando todos os downloads pendentes tiverem sido concluídos.
61 // Funciona da mesma forma que `wait_for_upload_completion()`.
62 vazio wait_for_download_completion(std::function <vazio(status)>&& chamada de resposta de resposta );
63
64 // Registre um chamada de resposta de chamada que será chamado quando todos os carregamentos pendentes forem concluídos.
65 // O retorno de chamada é executado de forma assíncrona e em qualquer thread que o cliente de sincronização subjacente
66 // escolhe para executá-lo.
67 std::future<void> wait_for_upload_completion();
68
69 // Registre um retorno de chamada que será chamado quando todos os downloads pendentes tiverem sido concluídos.
70 std::future<void> wait_for_download_completion();
71
78 vazio pausa();
79
86 vazio resume();
87
103 vazio reconectar();
104
109 uint64_t observe_connection_change(std::function <null(enumeração connection_state old_state , enumeração connection_state new_state)>&& chamada de resposta de resposta );
110
115 vazio uneregister_connection_change_observer(uint64_t token);
116
117 operador std::weag_ptr<SyncSession>();
118 privado:
119 std::weag_ptr<SyncSession> m_session;
120 sync_session(const std::shared_ptr<SyncSession> &);
121 amigo estrutura, estrutura internal::bridge:: Realm;
122 };
123 }
124}
125
126#endif //CPPrealm_BRIDGE_SYNC_SESSION_HPP
Definição: realm.hpp:67
Definição: status.hpp:63
Definição: sync_session.hpp:33
void resume()
Definition: sync_session.cpp:108
uint64_t observe_connection_change(std::function < null(enumeração connection_state old_state, enumeração connection_state new_state)> &&callback)
Definition: sync_session.cpp:124
void unregister_connection_change_observer(uint64_t token)
Definition: sync_session.cpp:134
pausa vazia()
Definition: sync_session.cpp:100
null reconectar()
Definition: sync_session.cpp:116