forked from blue/squawk
64 lines
2.6 KiB
C++
64 lines
2.6 KiB
C++
/*
|
|
* 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<SessionStore *>(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<SessionStore *>(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<SessionStore *>(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<SessionStore *>(ptr)->containsSession(address);
|
|
};
|
|
store.delete_session_func = [](const signal_protocol_address *address, void *ptr) {
|
|
return static_cast<SessionStore *>(ptr)->deleteSession(address);
|
|
};
|
|
store.delete_all_sessions_func = [](const char *name, size_t name_len, void *ptr) {
|
|
return static_cast<SessionStore *>(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;
|
|
}
|