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 #include "binder_debug.h"
17 #include "iosfwd"
18 #include "ipc_debug.h"
19 #include "sys_binder.h"
20 
21 namespace OHOS {
ToString(uint32_t value)22 const std::string BinderDebug::ToString(uint32_t value)
23 {
24     static BinderDebug instance;
25     return instance.GetErrorDesc(value);
26 }
27 
GetErrorMap()28 ErrorMap &BinderDebug::GetErrorMap()
29 {
30     static ErrorMap errorMap = { { BR_ERROR, "BR_ERROR" },
31                                  { BR_OK, "BR_OK" },
32                                  { BR_TRANSACTION, "BR_TRANSACTION" },
33                                  { BR_REPLY, "BR_REPLY" },
34                                  { BR_ACQUIRE_RESULT, "BR_ACQUIRE_RESULT" },
35                                  { BR_DEAD_REPLY, "BR_DEAD_REPLY" },
36                                  { BR_TRANSACTION_COMPLETE, "BR_TRANSACTION_COMPLETE" },
37                                  { BR_INCREFS, "BR_INCREFS" },
38                                  { BR_ACQUIRE, "BR_ACQUIRE" },
39                                  { BR_RELEASE, "BR_RELEASE" },
40                                  { BR_DECREFS, "BR_DECREFS" },
41                                  { BR_ATTEMPT_ACQUIRE, "BR_ATTEMPT_ACQUIRE" },
42                                  { BR_NOOP, "BR_NOOP" },
43                                  { BR_SPAWN_LOOPER, "BR_SPAWN_LOOPER" },
44                                  { BR_FINISHED, "BR_FINISHED" },
45                                  { BR_DEAD_BINDER, "BR_DEAD_BINDER" },
46                                  { BR_CLEAR_DEATH_NOTIFICATION_DONE, "BR_CLEAR_DEATH_NOTIFICATION_DONE" },
47                                  { BR_FAILED_REPLY, "BR_FAILED_REPLY" },
48                                  { BC_TRANSACTION, "BC_TRANSACTION" },
49                                  { BC_REPLY, "BC_REPLY" },
50                                  { BC_ACQUIRE_RESULT, "BC_ACQUIRE_RESULT" },
51                                  { BC_FREE_BUFFER, "BC_FREE_BUFFER" },
52                                  { BC_INCREFS, "BC_INCREFS" },
53                                  { BC_ACQUIRE, "BC_ACQUIRE" },
54                                  { BC_RELEASE, "BC_RELEASE" },
55                                  { BC_DECREFS, "BC_DECREFS" },
56                                  { BC_INCREFS_DONE, "BC_INCREFS_DONE" },
57                                  { BC_ACQUIRE_DONE, "BC_ACQUIRE_DONE" },
58                                  { BC_ATTEMPT_ACQUIRE, "BC_ATTEMPT_ACQUIRE" },
59                                  { BC_REGISTER_LOOPER, "BC_REGISTER_LOOPER" },
60                                  { BC_ENTER_LOOPER, "BC_ENTER_LOOPER" },
61                                  { BC_EXIT_LOOPER, "BC_EXIT_LOOPER" },
62                                  { BC_REQUEST_DEATH_NOTIFICATION, "BC_REQUEST_DEATH_NOTIFICATION" },
63                                  { BC_CLEAR_DEATH_NOTIFICATION, "BC_CLEAR_DEATH_NOTIFICATION" },
64                                  { BC_DEAD_BINDER_DONE, "BC_DEAD_BINDER_DONE" } };
65     return errorMap;
66 }
67 } // namespace OHOS