1 | // SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. |
---|---|
2 | // |
3 | // SPDX-License-Identifier: GPL-3.0-or-later |
4 | |
5 | #include "javascriptplugin.h" |
6 | #include "jsgenerator.h" |
7 | #include "project/jsprojectgenerator.h" |
8 | |
9 | #include "services/language/languageservice.h" |
10 | #include "services/project/projectservice.h" |
11 | #include "services/window/windowservice.h" |
12 | #include "services/debugger/debuggerservice.h" |
13 | #include "base/abstractwidget.h" |
14 | #include "base/abstractcentral.h" |
15 | #include "debugger/jsdebugger.h" |
16 | |
17 | #include <QtWidgets/QAction> |
18 | #include <QtScript> |
19 | #ifndef QT_NO_SCRIPTTOOLS |
20 | #include <QtScriptTools> |
21 | #endif |
22 | #include <QMainWindow> |
23 | #include <QApplication> |
24 | |
25 | using namespace dpfservice; |
26 | |
27 | void JavascriptPlugin::initialize() |
28 | { |
29 | qInfo() << __FUNCTION__; |
30 | } |
31 | |
32 | bool JavascriptPlugin::start() |
33 | { |
34 | qInfo() << __FUNCTION__; |
35 | // language register. |
36 | LanguageService *languageService = dpfGetService(LanguageService); |
37 | if (languageService) { |
38 | QString errorString; |
39 | bool ret = languageService->regClass<JSGenerator>(JSGenerator::toolKitName(), &errorString); |
40 | if (!ret) { |
41 | qCritical() << errorString; |
42 | } else { |
43 | ret = languageService->create<JSGenerator>(JSGenerator::toolKitName(), &errorString); |
44 | if (!ret) { |
45 | qCritical() << errorString; |
46 | } |
47 | } |
48 | } |
49 | |
50 | // project register. |
51 | ProjectService *projectService = dpfGetService(ProjectService); |
52 | if (projectService) { |
53 | QString errorString; |
54 | projectService->implGenerator<JSProjectGenerator>(JSProjectGenerator::toolKitName(), &errorString); |
55 | } |
56 | |
57 | // debugger register. |
58 | auto jsDebugger = new JSDebugger(); |
59 | auto debuggerService = dpfGetService(DebuggerService); |
60 | if (debuggerService && debuggerService->registerDebugger) { |
61 | debuggerService->registerDebugger("local", jsDebugger); |
62 | } |
63 | |
64 | return true; |
65 | } |
66 | |
67 | dpf::Plugin::ShutdownFlag JavascriptPlugin::stop() |
68 | { |
69 | qInfo() << __FUNCTION__; |
70 | return Sync; |
71 | } |
72 | |
73 | |
74 |