lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Classes | Namespaces | Typedefs | Enumerations | Functions
lime.hpp File Reference

Go to the source code of this file.

Classes

struct  lime::RecipientData
 The encrypt function input/output data structure. More...
 
class  lime::DeviceId
 
struct  lime::EncryptionContext
 
class  lime::LimeManager
 Manage several Lime objects(one is needed for each local user). More...
 

Namespaces

 lime
 

Typedefs

using lime::limeCallback = std::function< void(const lime::CallbackReturn status, const std::string message)>
 Callback use to give a status on asynchronous operation. More...
 
using lime::limeX3DHServerResponseProcess = std::function< void(int responseCode, const std::vector< uint8_t > &responseBody)>
 Get the response from server. The external service providing secure communication to the X3DH server shall forward to lime library the server's response. More...
 
using lime::limeX3DHServerPostData = std::function< void(const std::string &url, const std::string &from, std::vector< uint8_t > &&message, const limeX3DHServerResponseProcess &reponseProcess)>
 Post a message to the X3DH server. More...
 

Enumerations

enum  lime::CurveId : uint8_t {
  lime::CurveId::unset =0, lime::CurveId::c25519 =1, lime::CurveId::c448 =2, lime::CurveId::c25519k512 =3,
  lime::CurveId::c25519mlk512 =4, lime::CurveId::c448mlk1024 =5
}
 
enum  lime::EncryptionPolicy { lime::EncryptionPolicy::DRMessage, lime::EncryptionPolicy::cipherMessage, lime::EncryptionPolicy::optimizeUploadSize, lime::EncryptionPolicy::optimizeGlobalBandwidth }
 
enum  lime::PeerDeviceStatus : uint8_t {
  lime::PeerDeviceStatus::untrusted =0, lime::PeerDeviceStatus::trusted =1, lime::PeerDeviceStatus::unsafe =2, lime::PeerDeviceStatus::fail,
  lime::PeerDeviceStatus::unknown
}
 
enum  lime::CallbackReturn : uint8_t { lime::CallbackReturn::success, lime::CallbackReturn::fail }
 

Functions

lime::CurveId lime::string2CurveId (const std::string &algo)
 
std::string lime::CurveId2String (const lime::CurveId algo)
 
std::string lime::CurveId2String (const std::vector< lime::CurveId > algos, const std::string separator)
 
std::string lime::PeerDeviceStatus2String (const lime::PeerDeviceStatus status)
 
bool lime::lime_is_PQ_available (void)