forked from blue/squawk
33 lines
651 B
C++
33 lines
651 B
C++
/*
|
|
* Created by victoria on 2021-05-13.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "crypto/ec.h"
|
|
|
|
#include <memory>
|
|
|
|
#include <signal/signal_protocol.h>
|
|
|
|
namespace Signal {
|
|
|
|
class Context {
|
|
public:
|
|
Context();
|
|
~Context();
|
|
Context(const Context &) = delete;
|
|
Context(Context &&) = delete;
|
|
Context &operator=(const Context &) = delete;
|
|
|
|
std::unique_ptr<Crypto::ECKeyPair> generateCurveKeyPair();
|
|
|
|
signal_context *temporaryGetContextUnsafeForRawAccessThatNeedsToBeWrapped();
|
|
|
|
private:
|
|
signal_crypto_provider cryptoProvider{};
|
|
signal_context *ctx{nullptr};
|
|
};
|
|
|
|
} // namespace Signal
|