From 31bb69bfebeb86668a174b6b6ad75296b389d027 Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> Date: Thu, 16 Apr 2015 12:22:31 -0400 Subject: [PATCH] certificate: Begin to implement the daemon certificate store Refs #70829 --- src/daemoncertificatecollection.cpp | 7 +- src/qtwrapper/configurationmanager_wrap.h | 967 +++++++++++----------- xml/configurationmanager-introspec.xml | 97 ++- 3 files changed, 603 insertions(+), 468 deletions(-) diff --git a/src/daemoncertificatecollection.cpp b/src/daemoncertificatecollection.cpp index d9febb46..7b8ab240 100644 --- a/src/daemoncertificatecollection.cpp +++ b/src/daemoncertificatecollection.cpp @@ -20,6 +20,9 @@ //Ring #include "certificate.h" +//Dring +#include "dbus/configurationmanager.h" + class DaemonCertificateEditor : public CollectionEditor<Certificate> { public: @@ -31,7 +34,7 @@ public: virtual bool addExisting( const Certificate* item ) override; QVector<Certificate*> m_lItems; - QString m_Path ; + QString m_Path ; QHash<const Certificate*,QString> m_hPaths; private: @@ -56,6 +59,8 @@ DaemonCertificateCollection::~DaemonCertificateCollection() bool DaemonCertificateCollection::load() { + ConfigurationManagerInterface& configurationManager = DBus::ConfigurationManager::instance(); + qDebug() << QStringList(configurationManager.getCertificateList()); return false; } diff --git a/src/qtwrapper/configurationmanager_wrap.h b/src/qtwrapper/configurationmanager_wrap.h index 5bec4a73..8cf416f9 100644 --- a/src/qtwrapper/configurationmanager_wrap.h +++ b/src/qtwrapper/configurationmanager_wrap.h @@ -48,480 +48,515 @@ class ConfigurationManagerInterface: public QObject public: - std::map<std::string, std::shared_ptr<DRing::CallbackWrapperBase>> confHandlers; - - ConfigurationManagerInterface() - { - setObjectName("ConfigurationManagerInterface"); - using DRing::exportable_callback; - using DRing::ConfigurationSignal; - - setObjectName("ConfigurationManagerInterface"); - confHandlers = { - exportable_callback<ConfigurationSignal::VolumeChanged>( - [this] (const std::string &device, double value) { - QTimer::singleShot(0, [this,device,value] { - Q_EMIT this->volumeChanged(QString(device.c_str()), value); - }); + std::map<std::string, std::shared_ptr<DRing::CallbackWrapperBase>> confHandlers; + + ConfigurationManagerInterface() + { + setObjectName("ConfigurationManagerInterface"); + using DRing::exportable_callback; + using DRing::ConfigurationSignal; + + setObjectName("ConfigurationManagerInterface"); + confHandlers = { + exportable_callback<ConfigurationSignal::VolumeChanged>( + [this] (const std::string &device, double value) { + QTimer::singleShot(0, [this,device,value] { + Q_EMIT this->volumeChanged(QString(device.c_str()), value); + }); + }), + exportable_callback<ConfigurationSignal::AccountsChanged>( + [this] () { + QTimer::singleShot(0, [this] { + Q_EMIT this->accountsChanged(); + }); }), - exportable_callback<ConfigurationSignal::AccountsChanged>( - [this] () { - QTimer::singleShot(0, [this] { - Q_EMIT this->accountsChanged(); - }); - }), - exportable_callback<ConfigurationSignal::StunStatusFailed>( - [this] (const std::string &reason) { - QTimer::singleShot(0, [this, reason] { - Q_EMIT this->stunStatusFailure(QString(reason.c_str())); - }); - }), - exportable_callback<ConfigurationSignal::RegistrationStateChanged>( - [this] (const std::string &accountID, const std::string& registration_state, unsigned detail_code, const std::string& detail_str) { - QTimer::singleShot(0, [this, accountID, registration_state, detail_code, detail_str] { - Q_EMIT this->registrationStateChanged(QString(accountID.c_str()), - QString(registration_state.c_str()), - detail_code, - QString(detail_str.c_str())); - }); - }), - exportable_callback<ConfigurationSignal::VolatileDetailsChanged>( - [this] (const std::string &accountID, const std::map<std::string, std::string>& details) { - QTimer::singleShot(0, [this, accountID, details] { - Q_EMIT this->volatileAccountDetailsChanged(QString(accountID.c_str()), convertMap(details)); - }); - }), - exportable_callback<ConfigurationSignal::Error>( - [this] (int code) { - QTimer::singleShot(0, [this,code] { - Q_EMIT this->errorAlert(code); - }); - }) - }; - } - - ~ConfigurationManagerInterface() {} + exportable_callback<ConfigurationSignal::StunStatusFailed>( + [this] (const std::string &reason) { + QTimer::singleShot(0, [this, reason] { + Q_EMIT this->stunStatusFailure(QString(reason.c_str())); + }); + }), + exportable_callback<ConfigurationSignal::RegistrationStateChanged>( + [this] (const std::string &accountID, const std::string& registration_state, unsigned detail_code, const std::string& detail_str) { + QTimer::singleShot(0, [this, accountID, registration_state, detail_code, detail_str] { + Q_EMIT this->registrationStateChanged(QString(accountID.c_str()), + QString(registration_state.c_str()), + detail_code, + QString(detail_str.c_str())); + }); + }), + exportable_callback<ConfigurationSignal::VolatileDetailsChanged>( + [this] (const std::string &accountID, const std::map<std::string, std::string>& details) { + QTimer::singleShot(0, [this, accountID, details] { + Q_EMIT this->volatileAccountDetailsChanged(QString(accountID.c_str()), convertMap(details)); + }); + }), + exportable_callback<ConfigurationSignal::Error>( + [this] (int code) { + QTimer::singleShot(0, [this,code] { + Q_EMIT this->errorAlert(code); + }); + }), + exportable_callback<ConfigurationSignal::CertificateAdded>( + [this] (const std::string &certId) { + QTimer::singleShot(0, [this, certId] { + Q_EMIT this->certificateAdded(QString(certId.c_str())); + }); + }), + exportable_callback<ConfigurationSignal::CertificateExpired>( + [this] (const std::string &certId) { + QTimer::singleShot(0, [this, certId] { + Q_EMIT this->certificateExpired(QString(certId.c_str())); + }); + }) + }; + } + + ~ConfigurationManagerInterface() {} public Q_SLOTS: // METHODS - QString addAccount(MapStringString details) - { - QString temp( - DRing::addAccount(convertMap(details)).c_str()); - return temp; - } - - MapStringString getAccountDetails(const QString &accountID) - { - MapStringString temp = - convertMap(DRing::getAccountDetails(accountID.toStdString())); - return temp; - } - - QStringList getAccountList() - { - QStringList temp = - convertStringList(DRing::getAccountList()); - return temp; - } - - MapStringString getAccountTemplate(const QString& accountType) - { - MapStringString temp = - convertMap(DRing::getAccountTemplate(accountType.toStdString())); - return temp; - } - - // TODO: works? - VectorUInt getActiveCodecList(const QString &accountID) - { - return QVector<unsigned int>::fromStdVector( - DRing::getActiveCodecList(accountID.toStdString())); - } - - QString getAddrFromInterfaceName(const QString &interface) - { - QString temp( - DRing::getAddrFromInterfaceName(interface.toStdString()).c_str()); - return temp; - } - - QStringList getAllIpInterface() - { - QStringList temp = - convertStringList(DRing::getAllIpInterface()); - return temp; - } - - QStringList getAllIpInterfaceByName() - { - QStringList temp = - convertStringList(DRing::getAllIpInterfaceByName()); - return temp; - } - - MapStringString getCodecDetails(const QString accountID, int payload) - { - MapStringString temp = - convertMap(DRing::getCodecDetails( - accountID.toStdString().c_str(), payload)); - return temp; - } - - VectorUInt getCodecList() - { - return QVector<unsigned int>::fromStdVector(DRing::getCodecList()); - } - - int getAudioInputDeviceIndex(const QString &devname) - { - return DRing::getAudioInputDeviceIndex(devname.toStdString()); - } - - QStringList getAudioInputDeviceList() - { - QStringList temp = - convertStringList(DRing::getAudioInputDeviceList()); - return temp; - } - - QString getAudioManager() - { - QString temp( - DRing::getAudioManager().c_str()); - return temp; - } - - int getAudioOutputDeviceIndex(const QString &devname) - { - return DRing::getAudioOutputDeviceIndex(devname.toStdString()); - } - - QStringList getAudioOutputDeviceList() - { - QStringList temp = - convertStringList(DRing::getAudioOutputDeviceList()); - return temp; - } - - QStringList getAudioPluginList() - { - QStringList temp = - convertStringList(DRing::getAudioPluginList()); - return temp; - } - - VectorMapStringString getCredentials(const QString &accountID) - { - VectorMapStringString temp; - for(auto x : DRing::getCredentials(accountID.toStdString())) { - temp.push_back(convertMap(x)); - } - return temp; - } - - QStringList getCurrentAudioDevicesIndex() - { - QStringList temp = - convertStringList(DRing::getCurrentAudioDevicesIndex()); - return temp; - } - - QString getCurrentAudioOutputPlugin() - { - QString temp( - DRing::getCurrentAudioOutputPlugin().c_str()); - return temp; - } - - int getHistoryLimit() - { - return DRing::getHistoryLimit(); - } - - MapStringString getHookSettings() - { - MapStringString temp = - convertMap(DRing::getHookSettings()); - return temp; - } - - MapStringString getIp2IpDetails() - { - MapStringString temp = - convertMap(DRing::getIp2IpDetails()); - return temp; - } - - bool getIsAlwaysRecording() - { - return DRing::getIsAlwaysRecording(); - } - - bool getNoiseSuppressState() - { - return DRing::getNoiseSuppressState(); - } - - QString getRecordPath() - { - QString temp( - DRing::getRecordPath().c_str()); - return temp; - } - - QStringList getSupportedAudioManagers() - { - QStringList temp; - return temp; - } - - MapStringString getShortcuts() - { - MapStringString temp = - convertMap(DRing::getShortcuts()); - return temp; - } - - QStringList getSupportedTlsMethod() - { - QStringList temp = - convertStringList(DRing::getSupportedTlsMethod()); - return temp; - } - - MapStringString getTlsSettings() - { - MapStringString temp = - convertMap(DRing::getTlsSettings()); - return temp; - } - - MapStringString validateCertificate(const QString& unused, const QString certificate, const QString& privateKey) - { - MapStringString temp = - convertMap(DRing::validateCertificate(unused.toStdString(), - certificate.toStdString(), - privateKey.toStdString())); - return temp; - } - - MapStringString validateCertificateRaw(const QString& unused, const QByteArray& content) - { - std::vector<unsigned char> raw(content.begin(), content.end()); - MapStringString temp = - convertMap(DRing::validateCertificateRaw(unused.toStdString(), raw)); - return temp; - } - - MapStringString getCertificateDetails(const QString &certificate) - { - MapStringString temp = - convertMap(DRing::getCertificateDetails(certificate.toStdString())); - return temp; - } - - MapStringString getCertificateDetailsRaw(const QByteArray &content) - { - std::vector<unsigned char> raw(content.begin(), content.end()); - MapStringString temp = - convertMap(DRing::getCertificateDetailsRaw(raw)); - return temp; - } - - QStringList getSupportedCiphers(const QString &accountID) - { - QStringList temp = - convertStringList(DRing::getSupportedCiphers(accountID.toStdString())); - return temp; - } - - MapStringString getTlsDefaultSettings() - { - MapStringString temp = - convertMap(DRing::getTlsDefaultSettings()); - return temp; - } - - double getVolume(const QString &device) - { - return DRing::getVolume(device.toStdString()); - } - - bool isAgcEnabled() - { - return DRing::isAgcEnabled(); - } - - bool isCaptureMuted() - { - return DRing::isCaptureMuted(); - } - - bool isDtmfMuted() - { - return DRing::isDtmfMuted(); - } - - int isIax2Enabled() - { - return DRing::isIax2Enabled(); - } - - bool isPlaybackMuted() - { - return DRing::isPlaybackMuted(); - } - - void muteCapture(bool mute) - { - DRing::muteCapture(mute); - } - - void muteDtmf(bool mute) - { - DRing::muteDtmf(mute); - } - - void mutePlayback(bool mute) - { - DRing::mutePlayback(mute); - } - - void registerAllAccounts() - { - DRing::registerAllAccounts(); - } - - void removeAccount(const QString &accountID) - { - DRing::removeAccount(accountID.toStdString()); - } - - void sendRegister(const QString &accountID, bool enable) - { - DRing::sendRegister(accountID.toStdString(), enable); - } - - void setAccountDetails(const QString &accountID, MapStringString details) - { - DRing::setAccountDetails(accountID.toStdString(), - convertMap(details)); - } - - void setAccountsOrder(const QString &order) - { - DRing::setAccountsOrder(order.toStdString()); - } - - void setActiveCodecList(const QString &accountID, VectorUInt &list) - { - //const std::vector<unsigned int> converted = convertStringList(list); - DRing::setActiveCodecList(accountID.toStdString(), - list.toStdVector()); - } - - void setAgcState(bool enabled) - { - DRing::setAgcState(enabled); - } - - void setAudioInputDevice(int index) - { - DRing::setAudioInputDevice(index); - } - - bool setAudioManager(const QString &api) - { - return DRing::setAudioManager(api.toStdString()); - } - - void setAudioOutputDevice(int index) - { - DRing::setAudioOutputDevice(index); - } - - void setAudioPlugin(const QString &audioPlugin) - { - DRing::setAudioPlugin(audioPlugin.toStdString()); - } - - void setAudioRingtoneDevice(int index) - { - DRing::setAudioRingtoneDevice(index); - } - - void setCredentials(const QString &accountID, VectorMapStringString credentialInformation) - { - std::vector<std::map<std::string, std::string> > temp; - for (auto x : credentialInformation) { - temp.push_back(convertMap(x)); - } - DRing::setCredentials(accountID.toStdString(), temp); - } - - void setHistoryLimit(int days) - { - DRing::setHistoryLimit(days); - } - - void setHookSettings(MapStringString settings) - { - DRing::setHookSettings(convertMap(settings)); - } - - void setIsAlwaysRecording(bool enabled) - { - DRing::setIsAlwaysRecording(enabled); - } - - void setNoiseSuppressState(bool state) - { - DRing::setNoiseSuppressState(state); - } - - void setRecordPath(const QString &rec) - { - DRing::setRecordPath(rec.toStdString()); - } - - void setShortcuts(MapStringString shortcutsMap) - { - DRing::setShortcuts(convertMap(shortcutsMap)); - } - - void setTlsSettings(MapStringString details) - { - DRing::setTlsSettings(convertMap(details)); - } - - void setVolume(const QString &device, double value) - { - DRing::setVolume(device.toStdString(), value); - } - - MapStringString getVolatileAccountDetails(const QString &accountID) - { - MapStringString temp = convertMap(DRing::getVolatileAccountDetails(accountID.toStdString())); - return temp; - } + QString addAccount(MapStringString details) + { + QString temp( + DRing::addAccount(convertMap(details)).c_str()); + return temp; + } + + MapStringString getAccountDetails(const QString &accountID) + { + MapStringString temp = + convertMap(DRing::getAccountDetails(accountID.toStdString())); + return temp; + } + + QStringList getAccountList() + { + QStringList temp = + convertStringList(DRing::getAccountList()); + return temp; + } + + MapStringString getAccountTemplate(const QString& accountType) + { + MapStringString temp = + convertMap(DRing::getAccountTemplate(accountType.toStdString())); + return temp; + } + + // TODO: works? + VectorUInt getActiveCodecList(const QString &accountID) + { + return QVector<unsigned int>::fromStdVector( + DRing::getActiveCodecList(accountID.toStdString())); + } + + QString getAddrFromInterfaceName(const QString &interface) + { + QString temp( + DRing::getAddrFromInterfaceName(interface.toStdString()).c_str()); + return temp; + } + + QStringList getAllIpInterface() + { + QStringList temp = + convertStringList(DRing::getAllIpInterface()); + return temp; + } + + QStringList getAllIpInterfaceByName() + { + QStringList temp = + convertStringList(DRing::getAllIpInterfaceByName()); + return temp; + } + + MapStringString getCodecDetails(const QString accountID, int payload) + { + MapStringString temp = + convertMap(DRing::getCodecDetails( + accountID.toStdString().c_str(), payload)); + return temp; + } + + VectorUInt getCodecList() + { + return QVector<unsigned int>::fromStdVector(DRing::getCodecList()); + } + + int getAudioInputDeviceIndex(const QString &devname) + { + return DRing::getAudioInputDeviceIndex(devname.toStdString()); + } + + QStringList getAudioInputDeviceList() + { + QStringList temp = + convertStringList(DRing::getAudioInputDeviceList()); + return temp; + } + + QString getAudioManager() + { + QString temp( + DRing::getAudioManager().c_str()); + return temp; + } + + int getAudioOutputDeviceIndex(const QString &devname) + { + return DRing::getAudioOutputDeviceIndex(devname.toStdString()); + } + + QStringList getAudioOutputDeviceList() + { + QStringList temp = + convertStringList(DRing::getAudioOutputDeviceList()); + return temp; + } + + QStringList getAudioPluginList() + { + QStringList temp = + convertStringList(DRing::getAudioPluginList()); + return temp; + } + + VectorMapStringString getCredentials(const QString &accountID) + { + VectorMapStringString temp; + for(auto x : DRing::getCredentials(accountID.toStdString())) { + temp.push_back(convertMap(x)); + } + return temp; + } + + QStringList getCurrentAudioDevicesIndex() + { + QStringList temp = + convertStringList(DRing::getCurrentAudioDevicesIndex()); + return temp; + } + + QString getCurrentAudioOutputPlugin() + { + QString temp( + DRing::getCurrentAudioOutputPlugin().c_str()); + return temp; + } + + int getHistoryLimit() + { + return DRing::getHistoryLimit(); + } + + MapStringString getHookSettings() + { + MapStringString temp = + convertMap(DRing::getHookSettings()); + return temp; + } + + MapStringString getIp2IpDetails() + { + MapStringString temp = + convertMap(DRing::getIp2IpDetails()); + return temp; + } + + bool getIsAlwaysRecording() + { + return DRing::getIsAlwaysRecording(); + } + + bool getNoiseSuppressState() + { + return DRing::getNoiseSuppressState(); + } + + QString getRecordPath() + { + QString temp( + DRing::getRecordPath().c_str()); + return temp; + } + + QStringList getSupportedAudioManagers() + { + QStringList temp; + return temp; + } + + MapStringString getShortcuts() + { + MapStringString temp = + convertMap(DRing::getShortcuts()); + return temp; + } + + QStringList getSupportedTlsMethod() + { + QStringList temp = + convertStringList(DRing::getSupportedTlsMethod()); + return temp; + } + + MapStringString getTlsSettings() + { + MapStringString temp = + convertMap(DRing::getTlsSettings()); + return temp; + } + + MapStringString validateCertificate(const QString& unused, const QString certificate, const QString& privateKey) + { + MapStringString temp = + convertMap(DRing::validateCertificate(unused.toStdString(), + certificate.toStdString(), + privateKey.toStdString())); + return temp; + } + + MapStringString validateCertificateRaw(const QString& unused, const QByteArray& content) + { + std::vector<unsigned char> raw(content.begin(), content.end()); + MapStringString temp = + convertMap(DRing::validateCertificateRaw(unused.toStdString(), raw)); + return temp; + } + + MapStringString getCertificateDetails(const QString& certificate) + { + MapStringString temp = + convertMap(DRing::getCertificateDetails(certificate.toStdString())); + return temp; + } + + MapStringString getCertificateDetailsRaw(const QByteArray& content) + { + std::vector<unsigned char> raw(content.begin(), content.end()); + MapStringString temp = + convertMap(DRing::getCertificateDetailsRaw(raw)); + return temp; + } + + QStringList getSupportedCiphers(const QString& accountID) + { + QStringList temp = + convertStringList(DRing::getSupportedCiphers(accountID.toStdString())); + return temp; + } + + MapStringString getTlsDefaultSettings() + { + MapStringString temp = + convertMap(DRing::getTlsDefaultSettings()); + return temp; + } + + double getVolume(const QString& device) + { + return DRing::getVolume(device.toStdString()); + } + + bool isAgcEnabled() + { + return DRing::isAgcEnabled(); + } + + bool isCaptureMuted() + { + return DRing::isCaptureMuted(); + } + + bool isDtmfMuted() + { + return DRing::isDtmfMuted(); + } + + int isIax2Enabled() + { + return DRing::isIax2Enabled(); + } + + bool isPlaybackMuted() + { + return DRing::isPlaybackMuted(); + } + + void muteCapture(bool mute) + { + DRing::muteCapture(mute); + } + + void muteDtmf(bool mute) + { + DRing::muteDtmf(mute); + } + + void mutePlayback(bool mute) + { + DRing::mutePlayback(mute); + } + + void registerAllAccounts() + { + DRing::registerAllAccounts(); + } + + void removeAccount(const QString &accountID) + { + DRing::removeAccount(accountID.toStdString()); + } + + void sendRegister(const QString &accountID, bool enable) + { + DRing::sendRegister(accountID.toStdString(), enable); + } + + void setAccountDetails(const QString &accountID, MapStringString details) + { + DRing::setAccountDetails(accountID.toStdString(), + convertMap(details)); + } + + void setAccountsOrder(const QString &order) + { + DRing::setAccountsOrder(order.toStdString()); + } + + void setActiveCodecList(const QString &accountID, VectorUInt &list) + { + //const std::vector<unsigned int> converted = convertStringList(list); + DRing::setActiveCodecList(accountID.toStdString(), + list.toStdVector()); + } + + void setAgcState(bool enabled) + { + DRing::setAgcState(enabled); + } + + void setAudioInputDevice(int index) + { + DRing::setAudioInputDevice(index); + } + + bool setAudioManager(const QString &api) + { + return DRing::setAudioManager(api.toStdString()); + } + + void setAudioOutputDevice(int index) + { + DRing::setAudioOutputDevice(index); + } + + void setAudioPlugin(const QString &audioPlugin) + { + DRing::setAudioPlugin(audioPlugin.toStdString()); + } + + void setAudioRingtoneDevice(int index) + { + DRing::setAudioRingtoneDevice(index); + } + + void setCredentials(const QString &accountID, VectorMapStringString credentialInformation) + { + std::vector<std::map<std::string, std::string> > temp; + for (auto x : credentialInformation) { + temp.push_back(convertMap(x)); + } + DRing::setCredentials(accountID.toStdString(), temp); + } + + void setHistoryLimit(int days) + { + DRing::setHistoryLimit(days); + } + + void setHookSettings(MapStringString settings) + { + DRing::setHookSettings(convertMap(settings)); + } + + void setIsAlwaysRecording(bool enabled) + { + DRing::setIsAlwaysRecording(enabled); + } + + void setNoiseSuppressState(bool state) + { + DRing::setNoiseSuppressState(state); + } + + void setRecordPath(const QString &rec) + { + DRing::setRecordPath(rec.toStdString()); + } + + void setShortcuts(MapStringString shortcutsMap) + { + DRing::setShortcuts(convertMap(shortcutsMap)); + } + + void setTlsSettings(MapStringString details) + { + DRing::setTlsSettings(convertMap(details)); + } + + void setVolume(const QString &device, double value) + { + DRing::setVolume(device.toStdString(), value); + } + + MapStringString getVolatileAccountDetails(const QString &accountID) + { + MapStringString temp = convertMap(DRing::getVolatileAccountDetails(accountID.toStdString())); + return temp; + } + + QStringList getCertificateList() + { + return convertStringList(DRing::getCertificateList()); + } + + QString addCertificate(const QByteArray& raw) + { + const std::vector<unsigned char> r(raw.begin(), raw.end()); + return DRing::addCertificate(r).c_str(); + } + + bool addCertificateRemote(const QString& accountId, const QString& certificateId) + { + return DRing::addCertificateRemote(accountId.toStdString(), certificateId.toStdString()); + } + + bool banCertificate(const QString& id) + { + return DRing::banCertificate(id.toStdString()); + } Q_SIGNALS: // SIGNALS - void volumeChanged(const QString &device, double value); - void accountsChanged(); - void historyChanged(); - void stunStatusFailure(const QString &reason); - void registrationStateChanged(const QString& accountID, const QString& registration_state, unsigned detail_code, const QString& detail_str); - void stunStatusSuccess(const QString &message); - void errorAlert(int code); - void volatileAccountDetailsChanged(const QString &accountID, MapStringString details); + void volumeChanged(const QString &device, double value); + void accountsChanged(); + void historyChanged(); + void stunStatusFailure(const QString &reason); + void registrationStateChanged(const QString& accountID, const QString& registration_state, unsigned detail_code, const QString& detail_str); + void stunStatusSuccess(const QString &message); + void errorAlert(int code); + void volatileAccountDetailsChanged(const QString &accountID, MapStringString details); + void certificateAdded(const QString& cert); + void certificateExpired(const QString& cert); }; namespace org { - namespace ring { - namespace Ring { - typedef ::ConfigurationManagerInterface ConfigurationManager; - } - } + namespace ring { + namespace Ring { + typedef ::ConfigurationManagerInterface ConfigurationManager; + } + } } #endif diff --git a/xml/configurationmanager-introspec.xml b/xml/configurationmanager-introspec.xml index 80384a45..dfd10eeb 100644 --- a/xml/configurationmanager-introspec.xml +++ b/xml/configurationmanager-introspec.xml @@ -3,7 +3,8 @@ <interface name="cx.ring.Ring.ConfigurationManager"> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - Used to handle the configuration stuff: accounts settings, account registration, user preferences, ... + Used to handle the configuration stuff: accounts settings, user preferences, ... + TODO: move runtime account stuff in accountmanager </tp:docstring> <method name="getAccountTemplate" tp:name-for-bindings="getAccountTemplate"> @@ -235,6 +236,28 @@ </arg> </method> + <method name="sendTextMessage" tp:name-for-bindings="sendTextMessage"> + <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + </arg> + <arg type="s" name="to" direction="in"> + </arg> + <arg type="s" name="message" direction="in"> + </arg> + </method> + + <signal name="incomingMessage" tp:name-for-bindings="incomingMessage"> + <tp:docstring> + Notify clients that a new text message has been received at the account level. + </tp:docstring> + <arg type="s" name="accountID"> + </arg> + <arg type="s" name="from"> + </arg> + <arg type="s" name="message"> + </arg> + </signal> + <method name="setVolume" tp:name-for-bindings="setVolume"> <tp:docstring> <p>Sets the volume using a linear scale [0,100].</p> @@ -691,6 +714,78 @@ </arg> </method> + <method name="getCertificateList" tp:name-for-bindings="getCertificateList"> + <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="details" direction="out"> + <tp:docstring> + <p>A list of all certificate IDs</p> + </tp:docstring> + </arg> + </method> + + <method name="addCertificate" tp:name-for-bindings="addCertificate"> + <arg type="ay" name="certificateRaw" direction="in"> + <tp:docstring> + <p>A raw certificate</p> + </tp:docstring> + </arg> + <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="String"/> + <arg type="s" name="details" direction="out"> + <tp:docstring> + <p>ID of the inserted certificate</p> + </tp:docstring> + </arg> + </method> + + <method name="addCertificateRemote" tp:name-for-bindings="addCertificateRemote"> + <arg type="s" name="accountId" direction="in"> + <tp:docstring> + <p>An account ID</p> + </tp:docstring> + </arg> + <arg type="s" name="certificateId" direction="in"> + <tp:docstring> + <p>A certificate ID</p> + </tp:docstring> + </arg> + <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="Boolean"/> + <arg type="b" name="details" direction="out"> + <tp:docstring> + <p>True if the search started</p> + </tp:docstring> + </arg> + </method> + + <method name="banCertificate" tp:name-for-bindings="banCertificate"> + <arg type="s" name="certificateId" direction="in"> + <tp:docstring> + <p>A certificate ID</p> + </tp:docstring> + </arg> + <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="Boolean"/> + <arg type="b" name="details" direction="out"> + <tp:docstring> + <p>True if the certificate was actually banned.</p> + </tp:docstring> + </arg> + </method> + + <signal name="certificateAdded" tp:name-for-bindings="certificateAdded"> + <tp:docstring> + Notify clients that a certificate have been added to the store. + </tp:docstring> + <arg type="s" name="certId"> + </arg> + </signal> + + <signal name="certificateExpired" tp:name-for-bindings="certificateExpired"> + <tp:docstring> + Notify clients that a certificate expired. + </tp:docstring> + <arg type="s" name="certId"> + </arg> + </signal> + <method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName"> <arg type="s" name="interface" direction="in"> </arg> -- GitLab