forked from blue/squawk
48 lines
1.8 KiB
C++
48 lines
1.8 KiB
C++
|
/*
|
||
|
* Created by victoria on 2021-05-13.
|
||
|
*/
|
||
|
|
||
|
#include "identity_key_store.h"
|
||
|
|
||
|
void Signal::Store::IdentityKeyStore::boundToContext(
|
||
|
signal_protocol_store_context *ctx) {
|
||
|
signal_protocol_identity_key_store store{};
|
||
|
|
||
|
store.user_data = nullptr;
|
||
|
store.destroy_func = nullptr;
|
||
|
|
||
|
store.get_identity_key_pair = [](signal_buffer **public_data, signal_buffer **private_data, void *ptr) {
|
||
|
return static_cast<IdentityKeyStore *>(ptr)->getIdentityKeyPair(public_data, private_data);
|
||
|
};
|
||
|
store.get_local_registration_id = [](void *ptr, uint32_t *registrationId) {
|
||
|
return static_cast<IdentityKeyStore *>(ptr)->getLocalRegistrationId(registrationId);
|
||
|
};
|
||
|
store.is_trusted_identity = [](const signal_protocol_address *address, uint8_t *key_data, size_t key_len,
|
||
|
void *ptr) {
|
||
|
return static_cast<IdentityKeyStore *>(ptr)->isTrustedIdentity(address, key_data, key_len);
|
||
|
};
|
||
|
store.save_identity = [](const signal_protocol_address *address, uint8_t *key_data, size_t key_len, void *ptr) {
|
||
|
return static_cast<IdentityKeyStore *>(ptr)->saveIdentity(address, key_data, key_len);
|
||
|
};
|
||
|
|
||
|
signal_protocol_store_context_set_identity_key_store(ctx, &store);
|
||
|
}
|
||
|
|
||
|
int Signal::Store::IdentityKeyStore::getIdentityKeyPair(signal_buffer **public_data, signal_buffer **private_data) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int Signal::Store::IdentityKeyStore::getLocalRegistrationId(uint32_t *registration_id) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int Signal::Store::IdentityKeyStore::saveIdentity(const signal_protocol_address *address, uint8_t *key_data,
|
||
|
size_t key_len) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int Signal::Store::IdentityKeyStore::isTrustedIdentity(const signal_protocol_address *address, uint8_t *key_data,
|
||
|
size_t key_len) {
|
||
|
return 0;
|
||
|
}
|