199552fe9Sopenharmony_ci/*
299552fe9Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
399552fe9Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
499552fe9Sopenharmony_ci * you may not use this file except in compliance with the License.
599552fe9Sopenharmony_ci * You may obtain a copy of the License at
699552fe9Sopenharmony_ci *
799552fe9Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
899552fe9Sopenharmony_ci *
999552fe9Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1099552fe9Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1199552fe9Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1299552fe9Sopenharmony_ci * See the License for the specific language governing permissions and
1399552fe9Sopenharmony_ci * limitations under the License.
1499552fe9Sopenharmony_ci */
1599552fe9Sopenharmony_ci
1699552fe9Sopenharmony_ci#include "allow_info.h"
1799552fe9Sopenharmony_ci#include "ipc_util.h"
1899552fe9Sopenharmony_ci#include "standby_service_log.h"
1999552fe9Sopenharmony_ci
2099552fe9Sopenharmony_cinamespace OHOS {
2199552fe9Sopenharmony_cinamespace DevStandbyMgr {
2299552fe9Sopenharmony_cibool AllowInfo::Marshalling(Parcel& out) const
2399552fe9Sopenharmony_ci{
2499552fe9Sopenharmony_ci    WRITE_PARCEL_WITH_RET(out, Uint32, allowType_, false);
2599552fe9Sopenharmony_ci    WRITE_PARCEL_WITH_RET(out, String, name_, false);
2699552fe9Sopenharmony_ci    WRITE_PARCEL_WITH_RET(out, Int32, duration_, false);
2799552fe9Sopenharmony_ci    return true;
2899552fe9Sopenharmony_ci}
2999552fe9Sopenharmony_ci
3099552fe9Sopenharmony_cisptr<AllowInfo> AllowInfo::Unmarshalling(Parcel& in)
3199552fe9Sopenharmony_ci{
3299552fe9Sopenharmony_ci    sptr<AllowInfo> info = new (std::nothrow) AllowInfo();
3399552fe9Sopenharmony_ci    if (info != nullptr && !info->ReadFromParcel(in)) {
3499552fe9Sopenharmony_ci        STANDBYSERVICE_LOGE("read from parcel failed");
3599552fe9Sopenharmony_ci        info = nullptr;
3699552fe9Sopenharmony_ci    }
3799552fe9Sopenharmony_ci    return info;
3899552fe9Sopenharmony_ci}
3999552fe9Sopenharmony_ci
4099552fe9Sopenharmony_cibool AllowInfo::ReadFromParcel(Parcel& in)
4199552fe9Sopenharmony_ci{
4299552fe9Sopenharmony_ci    READ_PARCEL_WITH_RET(in, Uint32, allowType_, false);
4399552fe9Sopenharmony_ci    READ_PARCEL_WITH_RET(in, String, name_, false);
4499552fe9Sopenharmony_ci    READ_PARCEL_WITH_RET(in, Int32, duration_, false);
4599552fe9Sopenharmony_ci    return true;
4699552fe9Sopenharmony_ci}
4799552fe9Sopenharmony_ci}  // namespace DevStandbyMgr
4899552fe9Sopenharmony_ci}  // namespace OHOS