libkazv
Kazv::CryptoPrivate Struct Reference

#include <crypto-p.hpp>

Public Member Functions

 CryptoPrivate ()
 
 CryptoPrivate (RandomTag, RandomData data)
 
 CryptoPrivate (const CryptoPrivate &that)
 
 ~CryptoPrivate ()
 
std::string pickle () const
 
bool unpickle (std::string data)
 
bool unpickleFromLibolm (std::string data)
 
std::string ed25519IdentityKey () const
 
std::string curve25519IdentityKey () const
 
MaybeString decryptOlm (nlohmann::json content)
 
MaybeString decryptMegOlm (nlohmann::json eventJson)
 
bool createInboundSession (std::string theirCurve25519IdentityKey, std::string message)
 returns whether the session is successfully established More...
 
bool createInboundGroupSession (KeyOfGroupSession k, std::string sessionKey, std::string ed25519Key)
 
bool reuseOrCreateOutboundGroupSession (RandomData random, Timestamp timeMs, std::string roomId, std::optional< MegOlmSessionRotateDesc > desc)
 

Public Attributes

std::optional< rust::Box< vodozemac::olm::Account > > account
 
immer::map< std::string, int > uploadedOneTimeKeysCount
 
int numUnpublishedKeys {0}
 
std::unordered_map< std::string, SessionknownSessions
 
std::unordered_map< KeyOfGroupSession, InboundGroupSessioninboundGroupSessions
 
std::unordered_map< std::string, OutboundGroupSessionoutboundGroupSessions
 
bool valid {true}
 

Constructor & Destructor Documentation

◆ CryptoPrivate() [1/3]

Kazv::CryptoPrivate::CryptoPrivate ( )

◆ CryptoPrivate() [2/3]

Kazv::CryptoPrivate::CryptoPrivate ( RandomTag  ,
RandomData  data 
)

◆ CryptoPrivate() [3/3]

Kazv::CryptoPrivate::CryptoPrivate ( const CryptoPrivate that)

◆ ~CryptoPrivate()

Kazv::CryptoPrivate::~CryptoPrivate ( )

Member Function Documentation

◆ createInboundGroupSession()

bool Kazv::CryptoPrivate::createInboundGroupSession ( KeyOfGroupSession  k,
std::string  sessionKey,
std::string  ed25519Key 
)

◆ createInboundSession()

bool Kazv::CryptoPrivate::createInboundSession ( std::string  theirCurve25519IdentityKey,
std::string  message 
)

returns whether the session is successfully established

◆ curve25519IdentityKey()

std::string Kazv::CryptoPrivate::curve25519IdentityKey ( ) const

◆ decryptMegOlm()

MaybeString Kazv::CryptoPrivate::decryptMegOlm ( nlohmann::json  eventJson)

◆ decryptOlm()

MaybeString Kazv::CryptoPrivate::decryptOlm ( nlohmann::json  content)

◆ ed25519IdentityKey()

std::string Kazv::CryptoPrivate::ed25519IdentityKey ( ) const

◆ pickle()

std::string Kazv::CryptoPrivate::pickle ( ) const

◆ reuseOrCreateOutboundGroupSession()

bool Kazv::CryptoPrivate::reuseOrCreateOutboundGroupSession ( RandomData  random,
Timestamp  timeMs,
std::string  roomId,
std::optional< MegOlmSessionRotateDesc desc 
)

◆ unpickle()

bool Kazv::CryptoPrivate::unpickle ( std::string  data)

◆ unpickleFromLibolm()

bool Kazv::CryptoPrivate::unpickleFromLibolm ( std::string  data)

Member Data Documentation

◆ account

std::optional<rust::Box<vodozemac::olm::Account> > Kazv::CryptoPrivate::account

◆ inboundGroupSessions

std::unordered_map<KeyOfGroupSession, InboundGroupSession> Kazv::CryptoPrivate::inboundGroupSessions

◆ knownSessions

std::unordered_map<std::string , Session> Kazv::CryptoPrivate::knownSessions

◆ numUnpublishedKeys

int Kazv::CryptoPrivate::numUnpublishedKeys {0}

◆ outboundGroupSessions

std::unordered_map<std::string , OutboundGroupSession> Kazv::CryptoPrivate::outboundGroupSessions

◆ uploadedOneTimeKeysCount

immer::map<std::string , int> Kazv::CryptoPrivate::uploadedOneTimeKeysCount

◆ valid

bool Kazv::CryptoPrivate::valid {true}

The documentation for this struct was generated from the following files: