Working on plugin library

This commit is contained in:
Brad Davis 2015-05-29 09:03:44 -07:00
parent 1c49dde6f8
commit a94f257381
4 changed files with 44 additions and 1 deletions

View file

@ -3,6 +3,10 @@
#include <QString>
#include <QObject>
class PluginContainer {
virtual void addMenuItem(const QString& path, std::function<void()> onClicked, bool checkable = false, bool checked = false, const QString& groupName = "") = 0;
};
class Plugin : public QObject {
public:
virtual const QString & getName() = 0;
@ -11,7 +15,7 @@ public:
virtual void init() {}
virtual void deinit() {}
virtual void activate() {}
virtual void activate(PluginContainer * container) {}
virtual void deactivate() {}
virtual void idle() {}

View file

@ -0,0 +1,12 @@
set(TARGET_NAME plugins)
# use setup_hifi_library macro to setup our project and link appropriate Qt modules
setup_hifi_library(OpenGL Network Qml Quick Script XmlPatterns)
link_hifi_libraries(shared)
add_dependency_external_projects(glm)
find_package(GLM REQUIRED)
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})

View file

@ -0,0 +1,20 @@
#pragma once
#include <QString>
#include <QObject>
class PluginContainer;
class Plugin : public QObject {
public:
virtual const QString& getName() = 0;
virtual bool isSupported() const { return true; }
virtual void init() {}
virtual void deinit() {}
virtual void activate(PluginContainer * container) {}
virtual void deactivate() {}
virtual void idle() {}
};

View file

@ -0,0 +1,7 @@
#pragma once
#include <QString>
class PluginContainer {
virtual void addMenuItem(const QString& path, std::function<void()> onClicked, bool checkable = false, bool checked = false, const QString& groupName = "") = 0;
};