/** * Copyright 2019 Huawei Technologies Co., Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef MINDSPORE_CCSRC_DEVICE_ASCEND_PROFILING_PLUGIN_IMPL_H_ #define MINDSPORE_CCSRC_DEVICE_ASCEND_PROFILING_PLUGIN_IMPL_H_ #include #include "./prof_engine.h" using Msprof::Engine::PluginIntf; using Msprof::Engine::Reporter; using std::string; namespace mindspore { namespace device { namespace ascend { class PluginImpl : public PluginIntf { public: explicit PluginImpl(const std::string &module); ~PluginImpl() override = default; int Init(const Reporter *reporter) override; int UnInit() override; static Reporter *GetPluginReporter() { return reporter_; } private: static Reporter *reporter_; std::string module_; }; } // namespace ascend } // namespace device } // namespace mindspore #endif // MINDSPORE_CCSRC_DEVICE_ASCEND_PROFILING_PLUGIN_IMPL_H_