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(dynamic)], dynamic);
23 SetValue(node[GET_NAME(statics)], statics);
24 SetValue(node[GET_NAME(deviceId)], deviceId);
25 SetValue(node[GET_NAME(dynamicInfo)], dynamicInfo);
26 SetValue(node[GET_NAME(staticsInfo)], staticsInfo);
27 SetValue(node[GET_NAME(origin)], origin);
28 return true;
29 }
30
Unmarshal(const json & node)31 bool MatrixMetaData::Unmarshal(const json &node)
32 {
33 GetValue(node, GET_NAME(version), version);
34 GetValue(node, GET_NAME(dynamic), dynamic);
35 GetValue(node, GET_NAME(statics), statics);
36 GetValue(node, GET_NAME(deviceId), deviceId);
37 GetValue(node, GET_NAME(dynamicInfo), dynamicInfo);
38 GetValue(node, GET_NAME(staticsInfo), staticsInfo);
39 GetValue(node, GET_NAME(origin), origin);
40 return true;
41 }
42
GetKey() const43 std::string MatrixMetaData::GetKey() const
44 {
45 return Constant::Join(KEY_PREFIX, Constant::KEY_SEPARATOR, { deviceId });
46 }
47
GetConsistentKey() const48 std::string MatrixMetaData::GetConsistentKey() const
49 {
50 return Constant::Join(KEY_PREFIX, Constant::KEY_SEPARATOR, { deviceId, RMOTE_CONSISTENT });
51 }
52
GetPrefix(const std::initializer_list<std::string> & fields)53 std::string MatrixMetaData::GetPrefix(const std::initializer_list<std::string> &fields)
54 {
55 return Constant::Join(KEY_PREFIX, Constant::KEY_SEPARATOR, fields);
56 }
57
operator ==(const MatrixMetaData & meta) const58 bool MatrixMetaData::operator==(const MatrixMetaData &meta) const
59 {
60 return (dynamic == meta.dynamic) && (statics == meta.statics) &&
61 (deviceId == meta.deviceId) && (origin == meta.origin);
62 }
63
operator !=(const MatrixMetaData & meta) const64 bool MatrixMetaData::operator!=(const MatrixMetaData &meta) const
65 {
66 return !(*this == meta);
67 }
68 } // namespace OHOS::DistributedData