123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #ifndef MANDEL_CALCPLUGIN_H
- #define MANDEL_CALCPLUGIN_H
- #include <string>
- #include <vector>
- #if defined(__GNUC__)
- #define MANDEL_EXPORT __attribute__((visibility("default")))
- #define MANDEL_IMPORT
- #elif defined(_MSC_VER)
- #ifdef MANDEL_PLUGIN
- #define MANDEL_EXPORT __declspec(dllimport)
- #define MANDEL_IMPORT __declspec(dllexport)
- #else
- #define MANDEL_EXPORT __declspec(dllexport)
- #define MANDEL_IMPORT __declspec(dllimport)
- #endif
- #else
- #define MANDEL_EXPORT
- #define MANDEL_IMPORT
- #endif
- namespace mnd
- {
- class CalcPlugin;
- class MandelGenerator;
- }
- class MANDEL_EXPORT mnd::CalcPlugin
- {
- void* handle;
- public:
- CalcPlugin(const std::string& path);
- CalcPlugin(const CalcPlugin&) = delete;
- CalcPlugin(CalcPlugin&&) = default;
- ~CalcPlugin(void);
- CalcPlugin& operator=(const CalcPlugin&) = delete;
- CalcPlugin& operator=(CalcPlugin&&) = default;
-
-
-
-
-
-
-
-
-
- const std::vector<mnd::MandelGenerator*>& getGenerators(void);
- inline bool isValid(void) const { return handle != nullptr; }
- };
- #endif
|