/* * Created by victoria on 2021-05-13. */ #include "store_context.h" Signal::Store::Context::Context(signal_context *global) : identityKeyStore(), preKeyStore(), senderKeyStore(), sessionStore(), signedPreKeyStore() { signal_protocol_store_context_create(&ctx, global); identityKeyStore->fillCallbacks(iks); preKeyStore->fillCallbacks(pks); senderKeyStore->fillCallbacks(sks); sessionStore->fillCallbacks(ss); signedPreKeyStore->fillCallbacks(spks); signal_protocol_store_context_set_identity_key_store(ctx, &iks); signal_protocol_store_context_set_pre_key_store(ctx, &pks); signal_protocol_store_context_set_sender_key_store(ctx, &sks); signal_protocol_store_context_set_session_store(ctx, &ss); signal_protocol_store_context_set_signed_pre_key_store(ctx, &spks); } Signal::Store::Context::~Context() { signal_protocol_store_context_destroy(ctx); }