blob: e97416ad76d1603dfc3b8cb107971d0cc12dd56f [file] [log] [blame]
agsantos1e7736c2020-10-28 14:39:13 -04001HEADER
2#include <iostream>
3#include <string.h>
4#include <thread>
5#include <memory>
6#include <plugin/jamiplugin.h>
7----------------
8#include "INCLUDESAPI.h"----------------
9
10#ifdef WIN32
11#define EXPORT_PLUGIN __declspec(dllexport)
12#else
13#define EXPORT_PLUGIN
14#endif
15#define PLUGINNAME_VERSION_MAJOR PLUGINVERSIONMAJOR
16#define PLUGINNAME_VERSION_MINOR PLUGINVERSIONMINOR
17#define PLUGINNAME_VERSION_PATCH PLUGINVERSIONPATCH
18extern "C" {
19
20void
21pluginExit(void)
22{}
23
24EXPORT_PLUGIN JAMI_PluginExitFunc
25JAMI_dynPluginInit(const JAMI_PluginAPI* api)
26{
27 std::cout << "**************************" << std::endl << std::endl;
28 std::cout << "** PLUGINNAME **" << std::endl;
29 std::cout << "**************************" << std::endl << std::endl;
30 std::cout << " Version " << PLUGINNAME_VERSION_MAJOR << "." << PLUGINNAME_VERSION_MINOR << "."
31 << PLUGINNAME_VERSION_PATCH << std::endl;
32
33 // If invokeService doesn't return an error
34 if (api) {
35 std::map<std::string, std::string> ppm;
36 api->invokeService(api, "getPluginPreferences", &ppm);
37 std::string dataPath;
38 api->invokeService(api, "getPluginDataPath", &dataPath);
39----------------
40 auto fmpPLUGINAPI = std::make_unique<jami::PLUGINAPI>(std::move(ppm), std::move(dataPath));
41 if (api->manageComponent(api, "APIMANAGER", fmpPLUGINAPI.release())) {
42 return nullptr;
43 }
44----------------
45 }
46 return pluginExit;
47}
48}