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_info_ipc.h" 1758ec469eSopenharmony_ci 1858ec469eSopenharmony_ci#include "sensors_errors.h" 1958ec469eSopenharmony_ci 2058ec469eSopenharmony_ci#undef LOG_TAG 2158ec469eSopenharmony_ci#define LOG_TAG "LightInfoIPC" 2258ec469eSopenharmony_ci 2358ec469eSopenharmony_cinamespace OHOS { 2458ec469eSopenharmony_cinamespace Sensors { 2558ec469eSopenharmony_cistd::string LightInfoIPC::GetLightName() const 2658ec469eSopenharmony_ci{ 2758ec469eSopenharmony_ci return lightName_; 2858ec469eSopenharmony_ci} 2958ec469eSopenharmony_ci 3058ec469eSopenharmony_civoid LightInfoIPC::SetLightName(const std::string &lightName) 3158ec469eSopenharmony_ci{ 3258ec469eSopenharmony_ci lightName_ = lightName; 3358ec469eSopenharmony_ci} 3458ec469eSopenharmony_ci 3558ec469eSopenharmony_ciint32_t LightInfoIPC::GetLightId() const 3658ec469eSopenharmony_ci{ 3758ec469eSopenharmony_ci return lightId_; 3858ec469eSopenharmony_ci} 3958ec469eSopenharmony_ci 4058ec469eSopenharmony_civoid LightInfoIPC::SetLightId(int32_t lightId) 4158ec469eSopenharmony_ci{ 4258ec469eSopenharmony_ci lightId_ = lightId; 4358ec469eSopenharmony_ci} 4458ec469eSopenharmony_ci 4558ec469eSopenharmony_ciint32_t LightInfoIPC::GetLightNumber() const 4658ec469eSopenharmony_ci{ 4758ec469eSopenharmony_ci return lightNumber_; 4858ec469eSopenharmony_ci} 4958ec469eSopenharmony_ci 5058ec469eSopenharmony_civoid LightInfoIPC::SetLightNumber(int32_t lightNumber) 5158ec469eSopenharmony_ci{ 5258ec469eSopenharmony_ci lightNumber_ = lightNumber; 5358ec469eSopenharmony_ci} 5458ec469eSopenharmony_ci 5558ec469eSopenharmony_ciint32_t LightInfoIPC::GetLightType() const 5658ec469eSopenharmony_ci{ 5758ec469eSopenharmony_ci return lightType_; 5858ec469eSopenharmony_ci} 5958ec469eSopenharmony_ci 6058ec469eSopenharmony_civoid LightInfoIPC::SetLightType(int32_t lightType) 6158ec469eSopenharmony_ci{ 6258ec469eSopenharmony_ci lightType_ = lightType; 6358ec469eSopenharmony_ci} 6458ec469eSopenharmony_ci 6558ec469eSopenharmony_cibool LightInfoIPC::Marshalling(Parcel &parcel) const 6658ec469eSopenharmony_ci{ 6758ec469eSopenharmony_ci if (!parcel.WriteString(lightName_)) { 6858ec469eSopenharmony_ci MISC_HILOGE("Failed, write lightName failed"); 6958ec469eSopenharmony_ci return false; 7058ec469eSopenharmony_ci } 7158ec469eSopenharmony_ci if (!parcel.WriteInt32(lightId_)) { 7258ec469eSopenharmony_ci MISC_HILOGE("Failed, write lightId failed"); 7358ec469eSopenharmony_ci return false; 7458ec469eSopenharmony_ci } 7558ec469eSopenharmony_ci if (!parcel.WriteInt32(lightNumber_)) { 7658ec469eSopenharmony_ci MISC_HILOGE("Failed, write lightNumber failed"); 7758ec469eSopenharmony_ci return false; 7858ec469eSopenharmony_ci } 7958ec469eSopenharmony_ci if (!parcel.WriteInt32(lightType_)) { 8058ec469eSopenharmony_ci MISC_HILOGE("Failed, write lightType failed"); 8158ec469eSopenharmony_ci return false; 8258ec469eSopenharmony_ci } 8358ec469eSopenharmony_ci return true; 8458ec469eSopenharmony_ci} 8558ec469eSopenharmony_ci 8658ec469eSopenharmony_cistd::unique_ptr<LightInfoIPC> LightInfoIPC::Unmarshalling(Parcel &parcel) 8758ec469eSopenharmony_ci{ 8858ec469eSopenharmony_ci auto lightInfo = std::make_unique<LightInfoIPC>(); 8958ec469eSopenharmony_ci if (!lightInfo->ReadFromParcel(parcel)) { 9058ec469eSopenharmony_ci MISC_HILOGE("ReadFromParcel is failed"); 9158ec469eSopenharmony_ci return nullptr; 9258ec469eSopenharmony_ci } 9358ec469eSopenharmony_ci return lightInfo; 9458ec469eSopenharmony_ci} 9558ec469eSopenharmony_ci 9658ec469eSopenharmony_cibool LightInfoIPC::ReadFromParcel(Parcel &parcel) 9758ec469eSopenharmony_ci{ 9858ec469eSopenharmony_ci return (parcel.ReadString(lightName_)) && (parcel.ReadInt32(lightId_)) && 9958ec469eSopenharmony_ci (parcel.ReadInt32(lightNumber_)) && (parcel.ReadInt32(lightType_)); 10058ec469eSopenharmony_ci} 10158ec469eSopenharmony_ci} // namespace Sensors 10258ec469eSopenharmony_ci} // namespace OHOS