/* * Created by victoria on 2021-05-13. */ #pragma once #include #include "identity_key_store.h" #include "pre_key_store.h" #include "sender_key_store.h" #include "session_store.h" #include "signed_pre_key_store.h" namespace Signal::Store { class Context { public: explicit Context(signal_context *global); ~Context(); Context(const Context &) = delete; Context(Context &&) = delete; Context &operator=(const Context &) = delete; private: signal_protocol_store_context *ctx{nullptr}; signal_protocol_identity_key_store iks{}; signal_protocol_pre_key_store pks{}; signal_protocol_sender_key_store sks{}; signal_protocol_session_store ss{}; signal_protocol_signed_pre_key_store spks{}; std::unique_ptr identityKeyStore; std::unique_ptr preKeyStore; std::unique_ptr senderKeyStore; std::unique_ptr sessionStore; std::unique_ptr signedPreKeyStore; }; } // namespace Signal::Store