1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #ifndef HIVIEW_PLUGIN_EXAMPLES_EVENT_PROCESSOR_EXAMPLE3 16 #define HIVIEW_PLUGIN_EXAMPLES_EVENT_PROCESSOR_EXAMPLE3 17 #include "event_source_example.h" 18 #include "plugin.h" 19 20 namespace OHOS { 21 namespace HiviewDFX { 22 class EventProcessorExample3Event : public EventSourceExampleEvent { 23 public: EventProcessorExample3Event(const std::string & sender,PipelineEventProducer * handler)24 EventProcessorExample3Event(const std::string& sender, PipelineEventProducer* handler) 25 : EventSourceExampleEvent(sender, handler), exampleAddon_("EventProcessorExample3AddOn"){}; EventProcessorExample3Event(const EventSourceExampleEvent & obj)26 explicit EventProcessorExample3Event(const EventSourceExampleEvent& obj) : EventSourceExampleEvent(obj){}; ~EventProcessorExample3Event()27 ~EventProcessorExample3Event(){}; 28 std::string exampleAddon_; 29 }; 30 31 class EventProcessorExample3 : public Plugin { 32 public: 33 EventProcessorExample3(); 34 ~EventProcessorExample3(); 35 bool CanProcessEvent(std::shared_ptr<Event> event) override; 36 bool OnEvent(std::shared_ptr<Event>& event) override; 37 void OnLoad() override; 38 void OnUnload() override; 39 }; 40 } // namespace HiviewDFX 41 } // namespace OHOS 42 #endif // HIVIEW_PLUGIN_EXAMPLES_EVENT_PROCESSOR_EXAMPLE3