158ec469eSopenharmony_ci/* 258ec469eSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 358ec469eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 458ec469eSopenharmony_ci * you may not use this file except in compliance with the License. 558ec469eSopenharmony_ci * You may obtain a copy of the License at 658ec469eSopenharmony_ci * 758ec469eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 858ec469eSopenharmony_ci * 958ec469eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1058ec469eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1158ec469eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1258ec469eSopenharmony_ci * See the License for the specific language governing permissions and 1358ec469eSopenharmony_ci * limitations under the License. 1458ec469eSopenharmony_ci */ 1558ec469eSopenharmony_ci 1658ec469eSopenharmony_ci#include "light_animation_ipc.h" 1758ec469eSopenharmony_ci 1858ec469eSopenharmony_ci#include "sensors_errors.h" 1958ec469eSopenharmony_ci 2058ec469eSopenharmony_ci#undef LOG_TAG 2158ec469eSopenharmony_ci#define LOG_TAG "LightAnimationIPC" 2258ec469eSopenharmony_ci 2358ec469eSopenharmony_cinamespace OHOS { 2458ec469eSopenharmony_cinamespace Sensors { 2558ec469eSopenharmony_ciint32_t LightAnimationIPC::GetMode() const 2658ec469eSopenharmony_ci{ 2758ec469eSopenharmony_ci return mode_; 2858ec469eSopenharmony_ci} 2958ec469eSopenharmony_ci 3058ec469eSopenharmony_civoid LightAnimationIPC::SetMode(int32_t mode) 3158ec469eSopenharmony_ci{ 3258ec469eSopenharmony_ci mode_ = mode; 3358ec469eSopenharmony_ci} 3458ec469eSopenharmony_ci 3558ec469eSopenharmony_ciint32_t LightAnimationIPC::GetOnTime() const 3658ec469eSopenharmony_ci{ 3758ec469eSopenharmony_ci return onTime_; 3858ec469eSopenharmony_ci} 3958ec469eSopenharmony_ci 4058ec469eSopenharmony_civoid LightAnimationIPC::SetOnTime(int32_t onTime) 4158ec469eSopenharmony_ci{ 4258ec469eSopenharmony_ci onTime_ = onTime; 4358ec469eSopenharmony_ci} 4458ec469eSopenharmony_ci 4558ec469eSopenharmony_ciint32_t LightAnimationIPC::GetOffTime() const 4658ec469eSopenharmony_ci{ 4758ec469eSopenharmony_ci return offTime_; 4858ec469eSopenharmony_ci} 4958ec469eSopenharmony_ci 5058ec469eSopenharmony_civoid LightAnimationIPC::SetOffTime(int32_t offTime) 5158ec469eSopenharmony_ci{ 5258ec469eSopenharmony_ci offTime_ = offTime; 5358ec469eSopenharmony_ci} 5458ec469eSopenharmony_ci 5558ec469eSopenharmony_cibool LightAnimationIPC::Marshalling(Parcel &parcel) const 5658ec469eSopenharmony_ci{ 5758ec469eSopenharmony_ci if (!parcel.WriteInt32(mode_)) { 5858ec469eSopenharmony_ci MISC_HILOGE("Failed, write mode failed"); 5958ec469eSopenharmony_ci return false; 6058ec469eSopenharmony_ci } 6158ec469eSopenharmony_ci if (!parcel.WriteInt32(onTime_)) { 6258ec469eSopenharmony_ci MISC_HILOGE("Failed, write onTime failed"); 6358ec469eSopenharmony_ci return false; 6458ec469eSopenharmony_ci } 6558ec469eSopenharmony_ci if (!parcel.WriteInt32(offTime_)) { 6658ec469eSopenharmony_ci MISC_HILOGE("Failed, write offTime failed"); 6758ec469eSopenharmony_ci return false; 6858ec469eSopenharmony_ci } 6958ec469eSopenharmony_ci return true; 7058ec469eSopenharmony_ci} 7158ec469eSopenharmony_ci 7258ec469eSopenharmony_cistd::unique_ptr<LightAnimationIPC> LightAnimationIPC::Unmarshalling(Parcel &parcel) 7358ec469eSopenharmony_ci{ 7458ec469eSopenharmony_ci auto lightAnimation = std::make_unique<LightAnimationIPC>(); 7558ec469eSopenharmony_ci if (!lightAnimation->ReadFromParcel(parcel)) { 7658ec469eSopenharmony_ci MISC_HILOGE("ReadFromParcel is failed"); 7758ec469eSopenharmony_ci return nullptr; 7858ec469eSopenharmony_ci } 7958ec469eSopenharmony_ci return lightAnimation; 8058ec469eSopenharmony_ci} 8158ec469eSopenharmony_ci 8258ec469eSopenharmony_cibool LightAnimationIPC::ReadFromParcel(Parcel &parcel) 8358ec469eSopenharmony_ci{ 8458ec469eSopenharmony_ci return (parcel.ReadInt32(mode_)) && (parcel.ReadInt32(onTime_)) && (parcel.ReadInt32(offTime_)); 8558ec469eSopenharmony_ci} 8658ec469eSopenharmony_ci} // namespace Sensors 8758ec469eSopenharmony_ci} // namespace OHOS