/* * Created by victoria on 2021-05-13. */ #include "session_store.h" void Signal::Store::SessionStore::boundToContext( signal_protocol_store_context *ctx) { signal_protocol_session_store store{}; store.user_data = nullptr; store.destroy_func = nullptr; store.load_session_func = [](signal_buffer **record, signal_buffer **user_record, const signal_protocol_address *address, void *ptr) { return static_cast(ptr)->loadSession(record, user_record, address); }; store.get_sub_device_sessions_func = [](signal_int_list **sessions, const char *name, size_t name_len, void *ptr) { return static_cast(ptr)->getSubDeviceSessions(sessions, name, name_len); }; store.store_session_func = [](const signal_protocol_address *address, uint8_t *record, size_t record_len, uint8_t *user_record, size_t user_record_len, void *ptr) { return static_cast(ptr)->storeSession(address, record, record_len, user_record, user_record_len); }; store.contains_session_func = [](const signal_protocol_address *address, void *ptr) { return static_cast(ptr)->containsSession(address); }; store.delete_session_func = [](const signal_protocol_address *address, void *ptr) { return static_cast(ptr)->deleteSession(address); }; store.delete_all_sessions_func = [](const char *name, size_t name_len, void *ptr) { return static_cast(ptr)->deleteAllSessions(name, name_len); }; signal_protocol_store_context_set_session_store(ctx, &store); } int Signal::Store::SessionStore::loadSession(signal_buffer **record, signal_buffer **user_record, const signal_protocol_address *address) { return 0; } int Signal::Store::SessionStore::getSubDeviceSessions(signal_int_list **sessions, const char *name, size_t name_len) { return 0; } int Signal::Store::SessionStore::storeSession(const signal_protocol_address *address, uint8_t *record, size_t record_len, uint8_t *user_record, size_t user_record_len) { return 0; } int Signal::Store::SessionStore::containsSession(const signal_protocol_address *address) { return 0; } int Signal::Store::SessionStore::deleteSession(const signal_protocol_address *address) { return 0; } int Signal::Store::SessionStore::deleteAllSessions(const char *name, size_t name_len) { return 0; }