diff --git a/plugins/mindstudio-insight-plugins/Histogram/server/src/plugin/HistoVisualPlugin.cpp b/plugins/mindstudio-insight-plugins/Histogram/server/src/plugin/HistoVisualPlugin.cpp new file mode 100644 index 0000000000000000000000000000000000000000..cbac8b766ea3d49ba0386f94b3d5aa677fb65843 --- /dev/null +++ b/plugins/mindstudio-insight-plugins/Histogram/server/src/plugin/HistoVisualPlugin.cpp @@ -0,0 +1,53 @@ +/* +* Copyright (c), Huawei Technologies Co., Ltd. 2024-2024.All rights reserved. +*/ + +#include "document.h" +#include "HistoVisualPlugin.h" + +#include "AddImportFileRequestHandler.h" +#include "GetHistoDataRequestHandler.h" +#include "GetNewFilesRequestHandler.h" +#include "PluginsManager.h" +#include "handler/ImportProjectRequestHandler.h" +#include "utils/HistogramProtocolUtil.h" + +using namespace Insight; +namespace Insight::Histogram { + + using namespace Insight::Histogram::Protocol; + using json_t = rapidjson::Value; + using document_t = rapidjson::Document; + + HistoVisualPlugin::HistoVisualPlugin() : Dic::Core::BasePlugin("HistoVisually") { + handlers_.emplace("ImportProject", std::make_shared()); + handlers_.emplace("GetNewFiles", std::make_shared()); + handlers_.emplace("GetHistoData", std::make_shared()); + handlers_.emplace("AddImportFile", std::make_shared()); + } + + std::map> HistoVisualPlugin::GetAllHandlers() { + std::map> res(handlers_.begin(), handlers_.end()); + return res; + } + + std::vector HistoVisualPlugin::GetModuleConfig() { + std::vector res; + document_t moduleConfig; + moduleConfig.SetObject(); + auto &allocator = moduleConfig.GetAllocator(); + AddJsonMember(moduleConfig, "name", "Histogram", allocator); + AddJsonMember(moduleConfig, "requestName", "Histogram", allocator); + json_t attributes(rapidjson::kObjectType); + AddJsonMember(attributes, "src", "./plugins/Histogram/index.html", allocator); + AddJsonMember(moduleConfig, "attributes", attributes, allocator); + AddJsonMember(moduleConfig, "isDefault", true, allocator); + AddJsonMember(moduleConfig, "isCluster", true, allocator); + AddJsonMember(moduleConfig, "isCompute", true, allocator); + AddJsonMember(moduleConfig, "isJupyter", true, allocator); + res.push_back(DumpJsonToStr(moduleConfig)); + return res; + } +} + +Dic::Core::PluginRegister pluginRegister(std::move(std::make_unique())); diff --git a/plugins/mindstudio-insight-plugins/Histogram/server/src/plugin/HistoVisualPlugin.h b/plugins/mindstudio-insight-plugins/Histogram/server/src/plugin/HistoVisualPlugin.h new file mode 100644 index 0000000000000000000000000000000000000000..b77d15c3846682094dee4615ee64505309ef2f8d --- /dev/null +++ b/plugins/mindstudio-insight-plugins/Histogram/server/src/plugin/HistoVisualPlugin.h @@ -0,0 +1,28 @@ +/* +* Copyright (c), Huawei Technologies Co., Ltd. 2024-2024.All rights reserved. +*/ +#ifndef BOARD_SCALARVISUALPLUGIN_H +#define BOARD_SCALARVISUALPLUGIN_H + +#include "BasePlugin.h" + +namespace Insight::Histogram { +using namespace Dic::Core; + +class HistoVisualPlugin : public BasePlugin { +public: + HistoVisualPlugin(); + + ~HistoVisualPlugin() override = default; + + std::map> GetAllHandlers() override; + + std::vector GetModuleConfig() override; + + +private: + std::map> handlers_; +}; +} + +#endif //BOARD_SCALARVISUALPLUGIN_H