Chrysalis - CLO3D Extensions
Loading...
Searching...
No Matches
ExtensionsManager.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_EXTENSIONSMANAGER_H
2#define CHRYSALIS_EXTENSIONSMANAGER_H
3
4#include <QDir>
5#include <QLabel>
6#include <QTimer>
7#include <QToolButton>
8
9#ifdef _WIN32
10#include <Windows.h>
11BOOL WINAPI DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved);
12#endif
13
14#include "LocalServer.h"
15#include "TaskExecutor.h"
16#include "BaseExtension.h"
17#include "CommandRunner.h"
18#include "ExtensionsSettings.h"
20
21namespace CLO3D {
22 constexpr auto ROOT_EXTENSIONS_DIR = CLO_HOME "/.extensions";
23
25 friend BaseExtension;
26#ifdef _WIN32
27 friend BOOL WINAPI ::DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved);
28#endif
29
30 static void setMessage(const QString& message);
31 static void install();
32
33 inline static QLabel* backgroundMessage_;
34 inline static QTimer* backgroundMessageTimer_;
35 public:
36
37 static void addExtension(std::unique_ptr<BaseExtension> extension);
38
39 static void setMessage(const char* extensionName, const QString& message, bool logMessage = false);
40 static void clearMessage();
41
42 inline static std::forward_list<std::unique_ptr<BaseExtension>> extensions;
44
45 inline static QFrame* mainWindow;
46
47 inline static QToolButton* action;
49 inline static TaskExecutor* executor_;
50 inline static LocalServer* localServer_;
51 };
52}
53
54#define UI_MESSAGE(message) ExtensionsManager::setMessage(LOGGER_NAME, message, false);
55#define LOG_UI_MESSAGE(message) ExtensionsManager::setMessage(LOGGER_NAME, message, true);
56
57#endif //CHRYSALIS_EXTENSIONSMANAGER_H
#define CLO3D_EXTENSION
Definition CLO3DExtensionExport.h:12
Definition CommandRunner.h:11
Definition ExtensionsManager.h:24
static std::forward_list< std::unique_ptr< BaseExtension > > extensions
Definition ExtensionsManager.h:42
static CommandRunner * commandRunner_
Definition ExtensionsManager.h:48
static QToolButton * action
Definition ExtensionsManager.h:47
static LocalServer * localServer_
Definition ExtensionsManager.h:50
static void addExtension(std::unique_ptr< BaseExtension > extension)
Definition ExtensionsManager.cpp:63
static TaskExecutor * executor_
Definition ExtensionsManager.h:49
static QFrame * mainWindow
Definition ExtensionsManager.h:45
static ExtensionsSettings * extensionsSettings
Definition ExtensionsManager.h:43
static void clearMessage()
Definition ExtensionsManager.cpp:436
Definition ExtensionsSettings.h:11
Definition LocalServer.h:10
Definition TaskExecutor.h:13
Definition BaseCommand.h:8
constexpr auto ROOT_EXTENSIONS_DIR
Definition ExtensionsManager.h:22