27#include <opendht/crypto.h>
35using PreferencesMap = std::map<std::string, std::map<std::string, std::string>>;
165 const std::string&
rootPath,
const std::string& accountId);
173 const std::string& accountId);
191 const std::string& accountId,
192 const std::string& key,
193 const std::string&
value);
221 void registerServices();
225 dht::crypto::TrustList trust_;
227 std::map<std::string, std::map<std::string, std::string>> pluginDetailsMap_;
This class provides the interface between loaded MediaHandlers and call's audio/video streams.
This class provides the interface between loaded ChatHandlers and conversation messages.
This class provides an interface to functions exposed to the Plugin System interface for lrc and clie...
bool loadPlugins()
Returns True if success.
ChatServicesManager & getChatServicesManager()
std::vector< std::map< std::string, std::string > > getPluginPreferences(const std::string &rootPath, const std::string &accountId)
Returns contents of plugin's preferences.json file.
std::string getPluginAuthor(const std::string &rootPath, const std::string &pluginId)
get the plugin's author
bool checkPluginSignature(const std::string &jplPath, dht::crypto::Certificate *cert)
Checks if the plugin signature mechanism is valid by signature of files and each files is signed.
bool resetPluginPreferencesValuesMap(const std::string &rootPath, const std::string &accountId)
Reset plugin's preferences values to their defaultValues.
std::vector< std::string > getLoadedPlugins() const
Returns vector with rootpaths of the loaded plugins.
CallServicesManager & getCallServicesManager()
bool loadPlugin(const std::string &rootPath)
Returns True if success.
int installPlugin(const std::string &jplPath, bool force)
Checks if the plugin has a valid manifest, installs the plugin if not previously installed or if inst...
std::unique_ptr< dht::crypto::Certificate > checkPluginCertificate(const std::string &jplPath, bool force)
Checks if the certificate mechanism is valid by checking certificate of the plugin.
bool checkPluginSignatureValidity(const std::string &jplPath, dht::crypto::Certificate *cert)
Check the validity of a plugin signature.
std::map< std::string, std::string > getPluginDetails(const std::string &rootPath, bool reset=false)
Parses a manifest file and return its content along with other internally added values.
bool checkPluginSignatureFile(const std::string &jplPath)
check if all file are present in the signature file
bool unloadPlugin(const std::string &rootPath)
Returns True if success.
std::map< std::string, std::string > getPluginPreferencesValuesMap(const std::string &rootPath, const std::string &accountId)
Returns a Map with preferences keys and values.
std::vector< std::string > getInstalledPlugins()
Returns a vector with installed plugins.
PreferenceServicesManager & getPreferenceServicesManager()
bool checkPluginCertificatePublicKey(const std::string &oldJplPath, const std::string &newJplPath)
check if the if the public key of the certificate is the same as the public key in the new plugin
bool setPluginPreference(const std::filesystem::path &rootPath, const std::string &accountId, const std::string &key, const std::string &value)
Modifies a preference value by saving it to a preferences.msgpack.
bool checkPluginCertificateValidity(dht::crypto::Certificate *cert)
Check the validity of a plugin certificate.
int uninstallPlugin(const std::string &rootPath)
Checks if the plugin has a valid manifest and if the plugin is loaded, tries to unload it and then re...
WebViewServicesManager & getWebViewServicesManager()
std::map< std::string, std::string > getPlatformInfo()
Returns a Map of platform system.
This class manages plugin (un)loading.
This class provides the interface between PreferenceHandlers and per account preferences.
This class provides the interface between loaded WebViewHandlers and client webviews.
void emitSignal(Args... args)
std::map< std::string, std::map< std::string, std::string > > PreferencesMap
Simple macro to hide class' copy constructor and assignment operator.
#define NON_COPYABLE(ClassName)