1f857971dSopenharmony_ci/*
2f857971dSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
3f857971dSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4f857971dSopenharmony_ci * you may not use this file except in compliance with the License.
5f857971dSopenharmony_ci * You may obtain a copy of the License at
6f857971dSopenharmony_ci *
7f857971dSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8f857971dSopenharmony_ci *
9f857971dSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10f857971dSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11f857971dSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12f857971dSopenharmony_ci * See the License for the specific language governing permissions and
13f857971dSopenharmony_ci * limitations under the License.
14f857971dSopenharmony_ci */
15f857971dSopenharmony_ci
16f857971dSopenharmony_ci#include "cooperate_params.h"
17f857971dSopenharmony_ci
18f857971dSopenharmony_cinamespace OHOS {
19f857971dSopenharmony_cinamespace Msdp {
20f857971dSopenharmony_cinamespace DeviceStatus {
21f857971dSopenharmony_ci
22f857971dSopenharmony_ciStartCooperateParam::StartCooperateParam(int32_t userData, const std::string &remoteNetworkId,
23f857971dSopenharmony_ci                                         int32_t startDeviceId, bool checkPermission)
24f857971dSopenharmony_ci    : remoteNetworkId(remoteNetworkId), userData(userData),
25f857971dSopenharmony_ci      startDeviceId(startDeviceId), checkPermission(checkPermission)
26f857971dSopenharmony_ci{}
27f857971dSopenharmony_ci
28f857971dSopenharmony_cibool StartCooperateParam::Marshalling(MessageParcel &parcel) const
29f857971dSopenharmony_ci{
30f857971dSopenharmony_ci    return (
31f857971dSopenharmony_ci        parcel.WriteString(remoteNetworkId) &&
32f857971dSopenharmony_ci        parcel.WriteInt32(startDeviceId) &&
33f857971dSopenharmony_ci        parcel.WriteInt32(userData) &&
34f857971dSopenharmony_ci        parcel.WriteBool(checkPermission)
35f857971dSopenharmony_ci    );
36f857971dSopenharmony_ci}
37f857971dSopenharmony_ci
38f857971dSopenharmony_cibool StartCooperateParam::Unmarshalling(MessageParcel &parcel)
39f857971dSopenharmony_ci{
40f857971dSopenharmony_ci    return (
41f857971dSopenharmony_ci        parcel.ReadString(remoteNetworkId) &&
42f857971dSopenharmony_ci        parcel.ReadInt32(startDeviceId) &&
43f857971dSopenharmony_ci        parcel.ReadInt32(userData) &&
44f857971dSopenharmony_ci        parcel.ReadBool(checkPermission)
45f857971dSopenharmony_ci    );
46f857971dSopenharmony_ci}
47f857971dSopenharmony_ci
48f857971dSopenharmony_ciStopCooperateParam::StopCooperateParam(int32_t userData, bool isUnchained, bool checkPermission)
49f857971dSopenharmony_ci    : userData(userData), isUnchained(isUnchained), checkPermission(checkPermission)
50f857971dSopenharmony_ci{}
51f857971dSopenharmony_ci
52f857971dSopenharmony_cibool StopCooperateParam::Marshalling(MessageParcel &parcel) const
53f857971dSopenharmony_ci{
54f857971dSopenharmony_ci    return (
55f857971dSopenharmony_ci        parcel.WriteBool(isUnchained) &&
56f857971dSopenharmony_ci        parcel.WriteBool(checkPermission) &&
57f857971dSopenharmony_ci        parcel.WriteInt32(userData)
58f857971dSopenharmony_ci    );
59f857971dSopenharmony_ci}
60f857971dSopenharmony_ci
61f857971dSopenharmony_cibool StopCooperateParam::Unmarshalling(MessageParcel &parcel)
62f857971dSopenharmony_ci{
63f857971dSopenharmony_ci    return (
64f857971dSopenharmony_ci        parcel.ReadBool(isUnchained) &&
65f857971dSopenharmony_ci        parcel.ReadBool(checkPermission) &&
66f857971dSopenharmony_ci        parcel.ReadInt32(userData)
67f857971dSopenharmony_ci    );
68f857971dSopenharmony_ci}
69f857971dSopenharmony_ci
70f857971dSopenharmony_ciGetCooperateStateParam::GetCooperateStateParam(int32_t userData, const std::string &networkId, bool checkPermission)
71f857971dSopenharmony_ci    : networkId(networkId), userData(userData), checkPermission(checkPermission)
72f857971dSopenharmony_ci{}
73f857971dSopenharmony_ci
74f857971dSopenharmony_cibool GetCooperateStateParam::Marshalling(MessageParcel &parcel) const
75f857971dSopenharmony_ci{
76f857971dSopenharmony_ci    return (
77f857971dSopenharmony_ci        parcel.WriteInt32(userData) &&
78f857971dSopenharmony_ci        parcel.WriteString(networkId) &&
79f857971dSopenharmony_ci        parcel.WriteBool(checkPermission)
80f857971dSopenharmony_ci    );
81f857971dSopenharmony_ci}
82f857971dSopenharmony_ci
83f857971dSopenharmony_cibool GetCooperateStateParam::Unmarshalling(MessageParcel &parcel)
84f857971dSopenharmony_ci{
85f857971dSopenharmony_ci    return (
86f857971dSopenharmony_ci        parcel.ReadInt32(userData) &&
87f857971dSopenharmony_ci        parcel.ReadString(networkId) &&
88f857971dSopenharmony_ci        parcel.ReadBool(checkPermission)
89f857971dSopenharmony_ci    );
90f857971dSopenharmony_ci}
91f857971dSopenharmony_ci
92f857971dSopenharmony_ciRegisterEventListenerParam::RegisterEventListenerParam(const std::string &networkId) : networkId(networkId)
93f857971dSopenharmony_ci{}
94f857971dSopenharmony_ci
95f857971dSopenharmony_cibool RegisterEventListenerParam::Marshalling(MessageParcel &parcel) const
96f857971dSopenharmony_ci{
97f857971dSopenharmony_ci    return parcel.WriteString(networkId);
98f857971dSopenharmony_ci}
99f857971dSopenharmony_ci
100f857971dSopenharmony_cibool RegisterEventListenerParam::Unmarshalling(MessageParcel &parcel)
101f857971dSopenharmony_ci{
102f857971dSopenharmony_ci    return parcel.ReadString(networkId);
103f857971dSopenharmony_ci}
104f857971dSopenharmony_ci
105f857971dSopenharmony_ciSetDamplingCoefficientParam::SetDamplingCoefficientParam(uint32_t direction, double coefficient)
106f857971dSopenharmony_ci    : direction(direction), coefficient(coefficient) {}
107f857971dSopenharmony_ci
108f857971dSopenharmony_cibool SetDamplingCoefficientParam::Marshalling(MessageParcel &parcel) const
109f857971dSopenharmony_ci{
110f857971dSopenharmony_ci    return (
111f857971dSopenharmony_ci        parcel.WriteUint32(direction) &&
112f857971dSopenharmony_ci        parcel.WriteDouble(coefficient)
113f857971dSopenharmony_ci    );
114f857971dSopenharmony_ci}
115f857971dSopenharmony_ci
116f857971dSopenharmony_cibool SetDamplingCoefficientParam::Unmarshalling(MessageParcel &parcel)
117f857971dSopenharmony_ci{
118f857971dSopenharmony_ci    return (
119f857971dSopenharmony_ci        parcel.ReadUint32(direction) &&
120f857971dSopenharmony_ci        parcel.ReadDouble(coefficient)
121f857971dSopenharmony_ci    );
122f857971dSopenharmony_ci}
123f857971dSopenharmony_ci
124f857971dSopenharmony_ciGetCooperateStateSyncParam::GetCooperateStateSyncParam(const std::string &udId) : udId(udId)
125f857971dSopenharmony_ci{}
126f857971dSopenharmony_ci
127f857971dSopenharmony_cibool GetCooperateStateSyncParam::Marshalling(MessageParcel &parcel) const
128f857971dSopenharmony_ci{
129f857971dSopenharmony_ci    return parcel.WriteString(udId);
130f857971dSopenharmony_ci}
131f857971dSopenharmony_ci
132f857971dSopenharmony_cibool GetCooperateStateSyncParam::Unmarshalling(MessageParcel &parcel)
133f857971dSopenharmony_ci{
134f857971dSopenharmony_ci    return parcel.ReadString(udId);
135f857971dSopenharmony_ci}
136f857971dSopenharmony_ci
137f857971dSopenharmony_ciRegisterHotAreaListenerParam::RegisterHotAreaListenerParam(int32_t userData, bool checkPermission) : userData(userData),
138f857971dSopenharmony_ci    checkPermission(checkPermission)
139f857971dSopenharmony_ci{}
140f857971dSopenharmony_ci
141f857971dSopenharmony_cibool RegisterHotAreaListenerParam::Marshalling(MessageParcel &parcel) const
142f857971dSopenharmony_ci{
143f857971dSopenharmony_ci    return parcel.WriteInt32(userData) &&
144f857971dSopenharmony_ci        parcel.WriteBool(checkPermission);
145f857971dSopenharmony_ci}
146f857971dSopenharmony_ci
147f857971dSopenharmony_cibool RegisterHotAreaListenerParam::Unmarshalling(MessageParcel &parcel)
148f857971dSopenharmony_ci{
149f857971dSopenharmony_ci    return parcel.ReadInt32(userData) &&
150f857971dSopenharmony_ci        parcel.ReadBool(checkPermission);
151f857971dSopenharmony_ci}
152f857971dSopenharmony_ci
153f857971dSopenharmony_ci} // namespace DeviceStatus
154f857971dSopenharmony_ci} // namespace Msdp
155f857971dSopenharmony_ci} // namespace OHOS
156