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 
16 #ifndef OHOS_COMMON_EVENT_TEST_H
17 #define OHOS_COMMON_EVENT_TEST_H
18 
19 #include "common_event_manager.h"
20 #include "common_event_support.h"
21 #include "sim_constant.h"
22 
23 namespace OHOS {
24 namespace Telephony {
25 using CommonEventSupport = OHOS::EventFwk::CommonEventSupport;
26 const int32_t DEFAULT_PARAM = -1;
27 const std::string PARAM_SLOTID = "slotId";
28 const std::string PARAM_STATE = "state";
29 const std::string PARAM_REASON = "reason";
30 const std::string PARAM_STK_SLOTID = "slotId";
31 const std::string PARAM_STK_MSG_CMD = "msgCmd";
32 const std::string PARAM_STK_CARD_STATUS = "cardStatus";
33 const std::string PARAM_STK_REFRESH_RESULT = "refreshResult";
34 const std::string PARAM_STK_ALPHA_STRING = "alphaString";
35 
36 enum CommentEventTestIntValue {
37     COMMON_EVENT_SIM_STATE_CHANGED,
38     COMMON_EVENT_SIM_CARD_DEFAULT_VOICE_SUBSCRIPTION_CHANGED,
39     COMMON_EVENT_SIM_CARD_DEFAULT_SMS_SUBSCRIPTION_CHANGED,
40     COMMON_EVENT_SIM_CARD_DEFAULT_DATA_SUBSCRIPTION_CHANGED,
41     COMMON_EVENT_SIM_CARD_DEFAULT_MAIN_SUBSCRIPTION_CHANGED,
42     COMMON_EVENT_STK_SESSION_END,
43     COMMON_EVENT_STK_COMMAND,
44     COMMON_EVENT_STK_ALPHA_IDENTIFIER,
45     COMMON_EVENT_STK_CARD_STATE_CHANGED,
46     COMMON_EVENT_TEST_UNKNOWN,
47 };
48 
49 class CommonEventTest : public EventFwk::CommonEventSubscriber {
50 public:
CommonEventTest(const EventFwk::CommonEventSubscribeInfo & sp)51     explicit CommonEventTest(const EventFwk::CommonEventSubscribeInfo &sp)
52         : EventFwk::CommonEventSubscriber(sp) {}
~CommonEventTest()53     ~CommonEventTest() {}
54 
GetCommentEventTestIntValue(std::string & event)55     int32_t GetCommentEventTestIntValue(std::string &event) const
56     {
57         auto iter = commentEventTestIntValues_.find(event);
58         if (iter == commentEventTestIntValues_.end()) {
59             return COMMON_EVENT_TEST_UNKNOWN;
60         }
61         return iter->second;
62     }
63 
OnReceiveEvent(const EventFwk::CommonEventData & data)64     void OnReceiveEvent(const EventFwk::CommonEventData &data)
65     {
66         OHOS::EventFwk::Want want = data.GetWant();
67         std::string action = want.GetAction();
68         switch (GetCommentEventTestIntValue(action)) {
69             case COMMON_EVENT_SIM_STATE_CHANGED:
70                 std::cout << "receive a CommonEvent action = " << action
71                           << ", slotId = " << want.GetIntParam(PARAM_SLOTID, DEFAULT_PARAM)
72                           << ", state = " << want.GetIntParam(PARAM_STATE, DEFAULT_PARAM)
73                           << ", reason = " << want.GetStringParam(PARAM_REASON) << ", code = " << data.GetCode()
74                           << ", event = " << data.GetData() << std::endl;
75                 break;
76             case COMMON_EVENT_SIM_CARD_DEFAULT_VOICE_SUBSCRIPTION_CHANGED:
77             case COMMON_EVENT_SIM_CARD_DEFAULT_SMS_SUBSCRIPTION_CHANGED:
78             case COMMON_EVENT_SIM_CARD_DEFAULT_DATA_SUBSCRIPTION_CHANGED:
79             case COMMON_EVENT_SIM_CARD_DEFAULT_MAIN_SUBSCRIPTION_CHANGED:
80                 std::cout << "receive a CommonEvent action = " << action << ", code = " << data.GetCode()
81                           << ", event = " << data.GetData()
82                           << ", slotId = " << want.GetIntParam(PARAM_SLOTID, DEFAULT_PARAM) << std::endl;
83                 break;
84             case COMMON_EVENT_STK_SESSION_END:
85                 std::cout << "receive a CommonEvent action = " << action
86                           << ", slotId = " << want.GetIntParam(PARAM_STK_SLOTID, DEFAULT_PARAM) << std::endl;
87                 break;
88             case COMMON_EVENT_STK_COMMAND:
89                 std::cout << "receive a CommonEvent action = " << action
90                           << ", slotId = " << want.GetIntParam(PARAM_SLOTID, DEFAULT_PARAM)
91                           << ", stkData = " << want.GetStringParam(PARAM_STK_MSG_CMD) << std::endl;
92                 break;
93             case COMMON_EVENT_STK_ALPHA_IDENTIFIER:
94                 std::cout << "receive a CommonEvent action = " << action
95                           << ", slotId = " << want.GetIntParam(PARAM_SLOTID, DEFAULT_PARAM)
96                           << ", alphaData = " << want.GetStringParam(PARAM_STK_ALPHA_STRING) << std::endl;
97                 break;
98             case COMMON_EVENT_STK_CARD_STATE_CHANGED:
99                 std::cout << "receive a CommonEvent action = " << action
100                           << ", slotId = " << want.GetIntParam(PARAM_SLOTID, DEFAULT_PARAM)
101                           << ", newSimState = " << want.GetStringParam(PARAM_STK_CARD_STATUS)
102                           << ", refreshResult = " << want.GetStringParam(PARAM_STK_REFRESH_RESULT) << std::endl;
103                 break;
104             default:
105                 std::cout << "receive a CommonEvent action = " << action << std::endl;
106                 break;
107         }
108     };
109 
110 private:
111     const std::map<std::string, CommentEventTestIntValue> commentEventTestIntValues_ = {
112         {CommonEventSupport::COMMON_EVENT_SIM_STATE_CHANGED, COMMON_EVENT_SIM_STATE_CHANGED},
113         {CommonEventSupport::COMMON_EVENT_SIM_CARD_DEFAULT_VOICE_SUBSCRIPTION_CHANGED,
114             COMMON_EVENT_SIM_CARD_DEFAULT_VOICE_SUBSCRIPTION_CHANGED},
115         {CommonEventSupport::COMMON_EVENT_SIM_CARD_DEFAULT_SMS_SUBSCRIPTION_CHANGED,
116             COMMON_EVENT_SIM_CARD_DEFAULT_SMS_SUBSCRIPTION_CHANGED},
117         {CommonEventSupport::COMMON_EVENT_SIM_CARD_DEFAULT_DATA_SUBSCRIPTION_CHANGED,
118             COMMON_EVENT_SIM_CARD_DEFAULT_DATA_SUBSCRIPTION_CHANGED},
119         {CommonEventSupport::COMMON_EVENT_SIM_CARD_DEFAULT_MAIN_SUBSCRIPTION_CHANGED,
120             COMMON_EVENT_SIM_CARD_DEFAULT_MAIN_SUBSCRIPTION_CHANGED},
121         {CommonEventSupport::COMMON_EVENT_STK_SESSION_END, COMMON_EVENT_STK_SESSION_END},
122         {CommonEventSupport::COMMON_EVENT_STK_COMMAND, COMMON_EVENT_STK_COMMAND},
123         {CommonEventSupport::COMMON_EVENT_STK_ALPHA_IDENTIFIER, COMMON_EVENT_STK_ALPHA_IDENTIFIER},
124         {CommonEventSupport::COMMON_EVENT_STK_CARD_STATE_CHANGED, COMMON_EVENT_STK_CARD_STATE_CHANGED},
125     };
126 };
127 } // namespace Telephony
128 } // namespace OHOS
129 #endif // OHOS_COMMON_EVENT_TEST_H
130