1 /*
2 * Copyright (c) 2022 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 "metadata/matrix_meta_data.h"
17 #include "utils/constant.h"
18 namespace OHOS::DistributedData {
Marshal(json & node) const19 bool MatrixMetaData::Marshal(json &node) const
20 {
21 SetValue(node[GET_NAME(version)], version);
22 SetValue(node[GET_NAME(mask)], mask);
23 SetValue(node[GET_NAME(deviceId)], deviceId);
24 SetValue(node[GET_NAME(maskInfo)], maskInfo);
25 return true;
26 }
27
Unmarshal(const json & node)28 bool MatrixMetaData::Unmarshal(const json &node)
29 {
30 GetValue(node, GET_NAME(version), version);
31 GetValue(node, GET_NAME(mask), mask);
32 GetValue(node, GET_NAME(deviceId), deviceId);
33 GetValue(node, GET_NAME(maskInfo), maskInfo);
34 return true;
35 }
36
GetKey() const37 std::string MatrixMetaData::GetKey() const
38 {
39 return Constant::Join(KEY_PREFIX, Constant::KEY_SEPARATOR, { deviceId });
40 }
41
GetPrefix(const std::initializer_list<std::string> & fields)42 std::string MatrixMetaData::GetPrefix(const std::initializer_list<std::string> &fields)
43 {
44 return Constant::Join(KEY_PREFIX, Constant::KEY_SEPARATOR, fields);
45 }
46 } // namespace OHOS::DistributedData