linphone-desktop/plugins/example/src/DataAPI.hpp
Julien Wadel 5eba9a5ece Create a plugin system
- Add feedback on errors
- More generic import requests
- Replace storing password by a native popup that ask passwork when needed
- Store passwords in settings file
- Import Feedback in advanced settings tab
- Use English as default translator if no translations are found
- Add OpenSSL packaging for Windows to deal with Qt connections
- Add option to overwrite plugin if exists
- Plugin load/unload managment. Hot-Dynamic load of plugins. Safely test the loaded plugin
- Set plugin data with default value when all GUI items are loaded
- Rewrite folder priority
- Add filename info from pluginloader
- Add plugin versionning
- Specify inputs for saving
- Copy desktop headers in OUTPUT to be used by external projects
- Add a plugins folder auto-managed by cmake
- Remove obsolete contact api submodule
- Clean plugin example
- Add specific behaviour for plugin type : inputs have been splitted by Capability.
- Update save/load to be more generic and add clean function for configurations
- Instantiate Importer List model
- Add IDE integration for plugins
- Set input fields to be dependent of capability
- Change signals interface to take account capability
2021-01-13 21:04:23 +01:00

43 lines
1.1 KiB
C++

#ifndef DATAAPI_HPP
#define DATAAPI_HPP
#include <QObject>
#include <QtNetwork>
#include <QVariantMap>
#include <LinphoneApp/PluginDataAPI.hpp>
#include <linphone++/core.hh>
class Plugin;
class QPluginLoader;
// Example of address book importer
class DataAPI : public PluginDataAPI
{
Q_OBJECT
public:
DataAPI(Plugin *plugin, void *core, QPluginLoader * pluginLoader);
virtual ~DataAPI(){}
QString getUrl()const;
QString getDomain()const;
QString getUsername()const;
QString getPassword()const;
QString getKey()const;
bool isEnabled()const;
void setPassword(const QString &password);
virtual bool isValid(const bool &requestData, QString * pError= nullptr);// Test data and send signal. Used to get feedback
virtual QMap<PluginDataAPI::PluginCapability, QVariantMap> getInputFieldsToSave(const PluginCapability& capability);
virtual void run(const PluginCapability& actionType);
public slots:
virtual void parse(const QByteArray& p_data);
signals:
void inputFieldsChanged(const PluginCapability& capability, const QVariantMap &inputs); // The plugin made updates on input
};
#endif // DATAAPI_HPP