preferences: add per account options to AutoAnswer and WaterMark
GitLab: #21
Change-Id: I5261fec7ee29aa4a422dce880b5da3bc22b3a5ba
diff --git a/WaterMark/main.cpp b/WaterMark/main.cpp
index 7971c3e..b8113e3 100644
--- a/WaterMark/main.cpp
+++ b/WaterMark/main.cpp
@@ -25,6 +25,7 @@
#include <plugin/jamiplugin.h>
#include "WatermarkMediaHandler.h"
+#include "PluginPreferenceHandler.h"
#ifdef WIN32
#define EXPORT_PLUGIN __declspec(dllexport)
@@ -32,7 +33,7 @@
#define EXPORT_PLUGIN
#endif
-#define WaterMark_VERSION_MAJOR 1
+#define WaterMark_VERSION_MAJOR 2
#define WaterMark_VERSION_MINOR 0
#define WaterMark_VERSION_PATCH 0
@@ -51,21 +52,31 @@
std::cout << "Version " << WaterMark_VERSION_MAJOR << "." << WaterMark_VERSION_MINOR << "."
<< WaterMark_VERSION_PATCH << std::endl;
- // If invokeService doesn't return an error
if (api) {
- std::map<std::string, std::string> preferences;
- api->invokeService(api, "getPluginPreferences", &preferences);
+ if (api->version.api < JAMI_PLUGIN_API_VERSION)
+ return nullptr;
+
+ std::map<std::string, std::map<std::string, std::string>> preferences;
+ api->invokeService(api, "getPluginAccPreferences", &preferences);
std::string dataPath;
api->invokeService(api, "getPluginDataPath", &dataPath);
+ auto fmpPluginPreferenceHandler
+ = std::make_unique<jami::PluginPreferenceHandler>(api, std::move(preferences), dataPath);
auto fmpWatermarkMediaHandler
- = std::make_unique<jami::WatermarkMediaHandler>(std::move(preferences),
- std::move(dataPath));
+ = std::make_unique<jami::WatermarkMediaHandler>(std::move(dataPath),
+ fmpPluginPreferenceHandler.get());
+ fmpPluginPreferenceHandler->setWaterMarkHandler(fmpWatermarkMediaHandler.get());
if (api->manageComponent(api,
"CallMediaHandlerManager",
fmpWatermarkMediaHandler.release())) {
return nullptr;
}
+ if (api->manageComponent(api,
+ "PreferenceHandlerManager",
+ fmpPluginPreferenceHandler.release())) {
+ return nullptr;
+ }
}
return pluginExit;
}