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 #include "accessee.h"
17 #include "macro_utils.h"
18 #include "nlohmann/json.hpp"
19 #include "distributed_device_profile_constants.h"
20 #include "profile_utils.h"
21
22 namespace OHOS {
23 namespace DistributedDeviceProfile {
24 namespace {
25 const std::string TAG = "Accessee";
26 }
Accessee()27 Accessee::Accessee()
28 : accesseeId_(0),
29 accesseeDeviceId_(""),
30 accesseeUserId_(-1),
31 accesseeAccountId_(""),
32 accesseeTokenId_(-1),
33 accesseeBundleName_(""),
34 accesseeHapSignature_(""),
35 accesseeBindLevel_(static_cast<uint32_t>(BindLevel::MIN))
36 {
37 }
38
GetAccesseeId()39 int64_t Accessee::GetAccesseeId()
40 {
41 return accesseeId_;
42 }
43
SetAccesseeId(int64_t accesseeId)44 void Accessee::SetAccesseeId(int64_t accesseeId)
45 {
46 accesseeId_ = accesseeId;
47 }
48
GetAccesseeDeviceId() const49 std::string Accessee::GetAccesseeDeviceId() const
50 {
51 return accesseeDeviceId_;
52 }
53
SetAccesseeDeviceId(const std::string & accesseeDeviceId)54 void Accessee::SetAccesseeDeviceId(const std::string& accesseeDeviceId)
55 {
56 accesseeDeviceId_ = accesseeDeviceId;
57 }
58
GetAccesseeUserId() const59 int32_t Accessee::GetAccesseeUserId() const
60 {
61 return accesseeUserId_;
62 }
63
SetAccesseeUserId(int32_t accesseeUserId)64 void Accessee::SetAccesseeUserId(int32_t accesseeUserId)
65 {
66 accesseeUserId_ = accesseeUserId;
67 }
68
GetAccesseeAccountId() const69 std::string Accessee::GetAccesseeAccountId() const
70 {
71 return accesseeAccountId_;
72 }
73
SetAccesseeAccountId(const std::string & accesseeAccountId)74 void Accessee::SetAccesseeAccountId(const std::string& accesseeAccountId)
75 {
76 accesseeAccountId_ = accesseeAccountId;
77 }
78
GetAccesseeTokenId() const79 int64_t Accessee::GetAccesseeTokenId() const
80 {
81 return accesseeTokenId_;
82 }
83
SetAccesseeTokenId(int64_t accesseeTokenId)84 void Accessee::SetAccesseeTokenId(int64_t accesseeTokenId)
85 {
86 accesseeTokenId_ = accesseeTokenId;
87 }
88
GetAccesseeBundleName() const89 std::string Accessee::GetAccesseeBundleName() const
90 {
91 return accesseeBundleName_;
92 }
93
SetAccesseeBundleName(const std::string & accesseeBundleName)94 void Accessee::SetAccesseeBundleName(const std::string& accesseeBundleName)
95 {
96 accesseeBundleName_ = accesseeBundleName;
97 }
98
GetAccesseeHapSignature() const99 std::string Accessee::GetAccesseeHapSignature() const
100 {
101 return accesseeHapSignature_;
102 }
103
SetAccesseeHapSignature(const std::string & accesseeHapSignature)104 void Accessee::SetAccesseeHapSignature(const std::string& accesseeHapSignature)
105 {
106 accesseeHapSignature_ = accesseeHapSignature;
107 }
108
GetAccesseeBindLevel() const109 uint32_t Accessee::GetAccesseeBindLevel() const
110 {
111 return accesseeBindLevel_;
112 }
113
SetAccesseeBindLevel(uint32_t accesseeBindLevel)114 void Accessee::SetAccesseeBindLevel(uint32_t accesseeBindLevel)
115 {
116 accesseeBindLevel_ = accesseeBindLevel;
117 }
118
Marshalling(MessageParcel & parcel) const119 bool Accessee::Marshalling(MessageParcel& parcel) const
120 {
121 WRITE_HELPER_RET(parcel, Int64, accesseeId_, false);
122 WRITE_HELPER_RET(parcel, String, accesseeDeviceId_, false);
123 WRITE_HELPER_RET(parcel, Int32, accesseeUserId_, false);
124 WRITE_HELPER_RET(parcel, String, accesseeAccountId_, false);
125 WRITE_HELPER_RET(parcel, Int64, accesseeTokenId_, false);
126 WRITE_HELPER_RET(parcel, String, accesseeBundleName_, false);
127 WRITE_HELPER_RET(parcel, String, accesseeHapSignature_, false);
128 WRITE_HELPER_RET(parcel, Uint32, accesseeBindLevel_, false);
129 return true;
130 }
131
UnMarshalling(MessageParcel & parcel)132 bool Accessee::UnMarshalling(MessageParcel& parcel)
133 {
134 READ_HELPER_RET(parcel, Int64, accesseeId_, false);
135 READ_HELPER_RET(parcel, String, accesseeDeviceId_, false);
136 READ_HELPER_RET(parcel, Int32, accesseeUserId_, false);
137 READ_HELPER_RET(parcel, String, accesseeAccountId_, false);
138 READ_HELPER_RET(parcel, Int64, accesseeTokenId_, false);
139 READ_HELPER_RET(parcel, String, accesseeBundleName_, false);
140 READ_HELPER_RET(parcel, String, accesseeHapSignature_, false);
141 READ_HELPER_RET(parcel, Uint32, accesseeBindLevel_, false);
142 return true;
143 }
144
dump() const145 std::string Accessee::dump() const
146 {
147 nlohmann::json json;
148 json[ACCESSEE_ID] = accesseeId_;
149 json[ACCESSEE_DEVICE_ID] = ProfileUtils::GetAnonyString(accesseeDeviceId_);
150 json[ACCESSEE_USER_ID] = accesseeUserId_;
151 json[ACCESSEE_ACCOUNT_ID] = accesseeAccountId_;
152 json[ACCESSEE_TOKEN_ID] = accesseeTokenId_;
153 json[ACCESSEE_BUNDLE_NAME] = accesseeBundleName_;
154 json[ACCESSEE_HAP_SIGNATURE] = accesseeHapSignature_;
155 json[ACCESSEE_BIND_LEVEL] = accesseeBindLevel_;
156 return json.dump();
157 }
158 } // namespace DistributedDeviceProfile
159 } // namespace OHOS