1 /*
2  * Copyright (c) 2023 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 
16 #ifndef HISYSEVENT_ADAPTER_H
17 #define HISYSEVENT_ADAPTER_H
18 
19 #include <string>
20 #include <vector>
21 
22 namespace OHOS::NWeb {
23 
24 class HiSysEventAdapter {
25 public:
26     enum EventType {
27         FAULT = 0,
28         STATISTIC,
29         SECURITY,
30         BEHAVIOR,
31     };
32 
33     virtual int Write(
34         const std::string& eventName, EventType type, const std::tuple<const std::string, const std::string>& data);
35 
36     virtual int Write(const std::string& eventName, EventType type,
37         const std::tuple<const std::string, const std::string, const std::string, const std::string>& data);
38 
39     virtual int Write(const std::string& eventName, EventType type,
40         const std::tuple<const std::string, const std::string, const std::string, const std::string, const std::string,
41             const std::string>& data);
42 
43     virtual int Write(const std::string& eventName, EventType type,
44         const std::tuple<const std::string, const std::string, const std::string, const std::string, const std::string,
45             const std::string, const std::string, const std::string>& data);
46 
47     virtual int Write(const std::string& eventName, EventType type,
48         const std::tuple<const std::string, const std::string, const std::string, const std::string, const std::string,
49             const std::string, const std::string, const std::string, const std::string, const std::string>& data);
50 
51     virtual int Write(const std::string& eventName, EventType type,
52         const std::tuple<const std::string, const std::string, const std::string, const std::string, const std::string,
53             const std::string, const std::string, const std::string, const std::string, const std::string,
54             const std::string, const std::string>& data);
55 
56     virtual int Write(const std::string& eventName, EventType type,
57         const std::tuple<const std::string, const int64_t, const std::string, const int, const std::string,
58             const std::vector<uint16_t>, const std::string, const int>& data);
59 
60     virtual int Write(const std::string& eventName, EventType type,
61         const std::tuple<const std::string, const int64_t, const std::string, const int64_t, const std::string,
62             const int, const std::string, const int, const std::string, const int64_t, const std::string, const int>&
63             data);
64 
65     virtual int Write(const std::string& eventName, EventType type,
66         const std::tuple<const std::string, const int64_t, const std::string, const int64_t, const std::string,
67             const uint32_t, const std::string, const int64_t, const std::string, const int64_t, const std::string,
68             const int64_t, const std::string, const int64_t, const std::string, const int64_t, const std::string,
69             const int64_t, const std::string, const int64_t, const std::string, const int64_t, const std::string,
70             const int64_t, const std::string, const int64_t, const std::string, const int64_t, const std::string,
71             const int64_t, const std::string, const int64_t, const std::string, const int64_t, const std::string,
72             const int64_t, const std::string, const int64_t, const std::string, const int64_t, const std::string,
73             const int64_t, const std::string, const int64_t, const std::string, const int64_t>& data);
74 
75     virtual int Write(const std::string& eventName, EventType type,
76         const std::tuple<const std::string, const std::string, const std::string, const std::string, const std::string,
77             const std::string, const std::string, const std::string, const std::string, const std::string,
78             const std::string, const std::string, const std::string, const std::string>& data);
79 
80     virtual int Write(const std::string& eventName, EventType type,
81         const std::tuple<const std::string, const std::string, const std::string, const std::string, const std::string,
82             const std::string, const std::string, const std::string, const std::string, const std::string,
83             const std::string, const std::string, const std::string, const std::string, const std::string,
84             const std::string>& data);
85 
86     virtual int Write(const std::string& eventName, EventType type,
87         const std::tuple<const std::string, const uint32_t, const std::string, const uint64_t>& data) = 0;
88 
89 protected:
90     HiSysEventAdapter() = default;
91 
92     virtual ~HiSysEventAdapter() = default;
93 };
94 
95 } // namespace OHOS::NWeb
96 
97 #endif // HISYSEVENT_ADAPTER_H
98