• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-2025 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 "accesser.h"
17 #include "cJSON.h"
18 #include "distributed_device_profile_constants.h"
19 #include "macro_utils.h"
20 #include "profile_utils.h"
21 
22 namespace OHOS {
23 namespace DistributedDeviceProfile {
24 namespace {
25     const std::string TAG = "Accesser";
26 }
Accesser()27 Accesser::Accesser()
28     : accesserId_(0),
29     accesserDeviceId_(""),
30     accesserUserId_(-1),
31     accesserAccountId_(""),
32     accesserTokenId_(-1),
33     accesserBundleName_(""),
34     accesserHapSignature_(""),
35     accesserBindLevel_(static_cast<uint32_t>(BindLevel::MIN)),
36     accesserDeviceName_(""),
37     accesserServiceName_(""),
38     accesserCredentialId_(-1),
39     accesserCredentialIdStr_(""),
40     accesserStatus_(static_cast<int32_t>(Status::MIN)),
41     accesserSessionKeyId_(-1),
42     accesserSKTimeStamp_(-1)
43 {}
44 
GetAccesserId()45 int64_t Accesser::GetAccesserId()
46 {
47     return accesserId_;
48 }
49 
SetAccesserId(int64_t accesserId)50 void Accesser::SetAccesserId(int64_t accesserId)
51 {
52     accesserId_ = accesserId;
53 }
54 
GetAccesserDeviceId() const55 std::string Accesser::GetAccesserDeviceId() const
56 {
57     return accesserDeviceId_;
58 }
59 
SetAccesserDeviceId(const std::string & accesserDeviceId)60 void Accesser::SetAccesserDeviceId(const std::string& accesserDeviceId)
61 {
62     accesserDeviceId_ = accesserDeviceId;
63 }
64 
GetAccesserUserId() const65 int32_t Accesser::GetAccesserUserId() const
66 {
67     return accesserUserId_;
68 }
69 
SetAccesserUserId(int32_t accesserUserId)70 void Accesser::SetAccesserUserId(int32_t accesserUserId)
71 {
72     accesserUserId_ = accesserUserId;
73 }
74 
GetAccesserAccountId() const75 std::string Accesser::GetAccesserAccountId() const
76 {
77     return accesserAccountId_;
78 }
79 
SetAccesserAccountId(const std::string & accesserAccountId)80 void Accesser::SetAccesserAccountId(const std::string& accesserAccountId)
81 {
82     accesserAccountId_ = accesserAccountId;
83 }
84 
GetAccesserTokenId() const85 int64_t Accesser::GetAccesserTokenId() const
86 {
87     return accesserTokenId_;
88 }
89 
SetAccesserTokenId(int64_t accesserTokenId)90 void Accesser::SetAccesserTokenId(int64_t accesserTokenId)
91 {
92     accesserTokenId_ = accesserTokenId;
93 }
94 
GetAccesserBundleName() const95 std::string Accesser::GetAccesserBundleName() const
96 {
97     return accesserBundleName_;
98 }
99 
SetAccesserBundleName(const std::string & accesserBundleName)100 void Accesser::SetAccesserBundleName(const std::string& accesserBundleName)
101 {
102     accesserBundleName_ = accesserBundleName;
103 }
104 
GetAccesserHapSignature() const105 std::string Accesser::GetAccesserHapSignature() const
106 {
107     return accesserHapSignature_;
108 }
109 
SetAccesserHapSignature(const std::string & accesserHapSignature)110 void Accesser::SetAccesserHapSignature(const std::string& accesserHapSignature)
111 {
112     accesserHapSignature_ = accesserHapSignature;
113 }
114 
GetAccesserBindLevel() const115 uint32_t Accesser::GetAccesserBindLevel() const
116 {
117     return accesserBindLevel_;
118 }
119 
SetAccesserBindLevel(uint32_t accesserBindLevel)120 void Accesser::SetAccesserBindLevel(uint32_t accesserBindLevel)
121 {
122     accesserBindLevel_ = accesserBindLevel;
123 }
124 
GetAccesserDeviceName() const125 std::string Accesser::GetAccesserDeviceName() const
126 {
127     return accesserDeviceName_;
128 }
129 
SetAccesserDeviceName(const std::string & accesserDeviceName)130 void Accesser::SetAccesserDeviceName(const std::string& accesserDeviceName)
131 {
132     accesserDeviceName_ = accesserDeviceName;
133 }
134 
GetAccesserServiceName() const135 std::string Accesser::GetAccesserServiceName() const
136 {
137     return accesserServiceName_;
138 }
139 
SetAccesserServiceName(const std::string & accesserServiceName)140 void Accesser::SetAccesserServiceName(const std::string& accesserServiceName)
141 {
142     accesserServiceName_ = accesserServiceName;
143 }
144 
GetAccesserCredentialId() const145 int32_t Accesser::GetAccesserCredentialId() const
146 {
147     return accesserCredentialId_;
148 }
149 
SetAccesserCredentialId(int32_t accesserCredentialId)150 void Accesser::SetAccesserCredentialId(int32_t accesserCredentialId)
151 {
152     accesserCredentialId_ = accesserCredentialId;
153 }
154 
GetAccesserCredentialIdStr() const155 std::string Accesser::GetAccesserCredentialIdStr() const
156 {
157     return accesserCredentialIdStr_;
158 }
159 
SetAccesserCredentialIdStr(const std::string & accesserCredentialIdStr)160 void Accesser::SetAccesserCredentialIdStr(const std::string& accesserCredentialIdStr)
161 {
162     accesserCredentialIdStr_ = accesserCredentialIdStr;
163 }
GetAccesserStatus() const164 int32_t Accesser::GetAccesserStatus() const
165 {
166     return accesserStatus_;
167 }
168 
SetAccesserStatus(int32_t accesserStatus)169 void Accesser::SetAccesserStatus(int32_t accesserStatus)
170 {
171     accesserStatus_ = accesserStatus;
172 }
173 
GetAccesserSessionKeyId() const174 int32_t Accesser::GetAccesserSessionKeyId() const
175 {
176     return accesserSessionKeyId_;
177 }
178 
SetAccesserSessionKeyId(int32_t accesserSessionKeyId)179 void Accesser::SetAccesserSessionKeyId(int32_t accesserSessionKeyId)
180 {
181     accesserSessionKeyId_ = accesserSessionKeyId;
182 }
183 
GetAccesserSKTimeStamp() const184 int64_t Accesser::GetAccesserSKTimeStamp() const
185 {
186     return accesserSKTimeStamp_;
187 }
188 
SetAccesserSKTimeStamp(int64_t accesserSKTimeStamp)189 void Accesser::SetAccesserSKTimeStamp(int64_t accesserSKTimeStamp)
190 {
191     accesserSKTimeStamp_ = accesserSKTimeStamp;
192 }
193 
GetAccesserExtraData() const194 std::string Accesser::GetAccesserExtraData() const
195 {
196     return accesserExtraData_;
197 }
198 
SetAccesserExtraData(const std::string & accesserExtraData)199 void Accesser::SetAccesserExtraData(const std::string& accesserExtraData)
200 {
201     accesserExtraData_ = accesserExtraData;
202 }
203 
Marshalling(MessageParcel & parcel) const204 bool Accesser::Marshalling(MessageParcel& parcel) const
205 {
206     WRITE_HELPER_RET(parcel, Int64, accesserId_, false);
207     WRITE_HELPER_RET(parcel, String, accesserDeviceId_, false);
208     WRITE_HELPER_RET(parcel, Int32, accesserUserId_, false);
209     WRITE_HELPER_RET(parcel, String, accesserAccountId_, false);
210     WRITE_HELPER_RET(parcel, Int64, accesserTokenId_, false);
211     WRITE_HELPER_RET(parcel, String, accesserBundleName_, false);
212     WRITE_HELPER_RET(parcel, String, accesserHapSignature_, false);
213     WRITE_HELPER_RET(parcel, Uint32, accesserBindLevel_, false);
214     WRITE_HELPER_RET(parcel, String, accesserDeviceName_, false);
215     WRITE_HELPER_RET(parcel, String, accesserServiceName_, false);
216     WRITE_HELPER_RET(parcel, Int32, accesserCredentialId_, false);
217     WRITE_HELPER_RET(parcel, String, accesserCredentialIdStr_, false);
218     WRITE_HELPER_RET(parcel, Int32, accesserStatus_, false);
219     WRITE_HELPER_RET(parcel, Int32, accesserSessionKeyId_, false);
220     WRITE_HELPER_RET(parcel, Int64, accesserSKTimeStamp_, false);
221     WRITE_HELPER_RET(parcel, String, accesserExtraData_, false);
222     return true;
223 }
224 
UnMarshalling(MessageParcel & parcel)225 bool Accesser::UnMarshalling(MessageParcel& parcel)
226 {
227     READ_HELPER_RET(parcel, Int64, accesserId_, false);
228     READ_HELPER_RET(parcel, String, accesserDeviceId_, false);
229     READ_HELPER_RET(parcel, Int32, accesserUserId_, false);
230     READ_HELPER_RET(parcel, String, accesserAccountId_, false);
231     READ_HELPER_RET(parcel, Int64, accesserTokenId_, false);
232     READ_HELPER_RET(parcel, String, accesserBundleName_, false);
233     READ_HELPER_RET(parcel, String, accesserHapSignature_, false);
234     READ_HELPER_RET(parcel, Uint32, accesserBindLevel_, false);
235     READ_HELPER_RET(parcel, String, accesserDeviceName_, false);
236     READ_HELPER_RET(parcel, String, accesserServiceName_, false);
237     READ_HELPER_RET(parcel, Int32, accesserCredentialId_, false);
238     READ_HELPER_RET(parcel, String, accesserCredentialIdStr_, false);
239     READ_HELPER_RET(parcel, Int32, accesserStatus_, false);
240     READ_HELPER_RET(parcel, Int32, accesserSessionKeyId_, false);
241     READ_HELPER_RET(parcel, Int64, accesserSKTimeStamp_, false);
242     READ_HELPER_RET(parcel, String, accesserExtraData_, false);
243     return true;
244 }
245 
dump() const246 std::string Accesser::dump() const
247 {
248     cJSON* json = cJSON_CreateObject();
249     if (!cJSON_IsObject(json)) {
250         cJSON_Delete(json);
251         return EMPTY_STRING;
252     }
253     cJSON_AddNumberToObject(json, ACCESSER_ID.c_str(), accesserId_);
254     cJSON_AddStringToObject(json, ACCESSER_DEVICE_ID.c_str(),
255         ProfileUtils::GetAnonyString(accesserDeviceId_).c_str());
256     cJSON_AddStringToObject(json, ACCESSER_USER_ID.c_str(),
257         ProfileUtils::GetAnonyString(std::to_string(accesserUserId_)).c_str());
258     cJSON_AddStringToObject(json, ACCESSER_ACCOUNT_ID.c_str(),
259         ProfileUtils::GetAnonyString(accesserAccountId_).c_str());
260     cJSON_AddNumberToObject(json, ACCESSER_TOKEN_ID.c_str(), accesserTokenId_);
261     cJSON_AddStringToObject(json, ACCESSER_BUNDLE_NAME.c_str(),
262         ProfileUtils::GetAnonyString(accesserBundleName_).c_str());
263     cJSON_AddStringToObject(json, ACCESSER_HAP_SIGNATURE.c_str(), accesserHapSignature_.c_str());
264     cJSON_AddNumberToObject(json, ACCESSER_BIND_LEVEL.c_str(), accesserBindLevel_);
265     cJSON_AddStringToObject(json, ACCESSER_DEVICE_NAME.c_str(),
266         ProfileUtils::GetAnonyString(accesserDeviceName_).c_str());
267     cJSON_AddStringToObject(json, ACCESSER_SERVICE_NAME.c_str(), accesserServiceName_.c_str());
268     cJSON_AddStringToObject(json, ACCESSER_CREDENTIAL_ID_STR.c_str(), accesserCredentialIdStr_.c_str());
269     cJSON_AddNumberToObject(json, ACCESSER_STATUS.c_str(), accesserStatus_);
270     cJSON_AddNumberToObject(json, ACCESSER_SESSION_KEY_ID.c_str(), accesserSessionKeyId_);
271     cJSON_AddNumberToObject(json, ACCESSER_SESSION_KEY_TIMESTAMP.c_str(), accesserSKTimeStamp_);
272     cJSON_AddStringToObject(json, ACCESSER_EXTRA_DATA.c_str(), accesserExtraData_.c_str());
273     char* jsonChars = cJSON_PrintUnformatted(json);
274     if (jsonChars == NULL) {
275         cJSON_Delete(json);
276         HILOGE("cJSON formatted to string failed!");
277         return EMPTY_STRING;
278     }
279     std::string jsonStr = jsonChars;
280     cJSON_Delete(json);
281     cJSON_free(jsonChars);
282     return jsonStr;
283 }
284 } // namespace DistributedDeviceProfile
285 } // namespace OHOS
286