33 lines
948 B
C++
33 lines
948 B
C++
/*
|
|
* Created by victoria on 2021-05-13.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <signal/signal_protocol.h>
|
|
|
|
#include "qomemo/device_service.h"
|
|
|
|
namespace Signal::Store {
|
|
|
|
class IdentityKeyStore {
|
|
public:
|
|
IdentityKeyStore(QXmpp::Omemo::DeviceService &deviceService, QString jid, int deviceId);
|
|
|
|
int getIdentityKeyPair(signal_buffer **public_data, signal_buffer **private_data);
|
|
int getLocalRegistrationId(uint32_t *registration_id);
|
|
int saveIdentity(const signal_protocol_address *address, uint8_t *key_data, size_t key_len);
|
|
int isTrustedIdentity(const signal_protocol_address *address, uint8_t *key_data, size_t key_len);
|
|
|
|
void fillCallbacks(signal_protocol_identity_key_store &store);
|
|
|
|
const QString jid;
|
|
const int deviceId;
|
|
|
|
private:
|
|
QXmpp::Omemo::DeviceService &deviceService;
|
|
QSharedPointer<QXmpp::Omemo::Database> database;
|
|
};
|
|
|
|
} // namespace Signal::Store
|