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#ifndef LIGHT_INFO_IPC_H
1758ec469eSopenharmony_ci#define LIGHT_INFO_IPC_H
1858ec469eSopenharmony_ci
1958ec469eSopenharmony_ci#include <string>
2058ec469eSopenharmony_ci
2158ec469eSopenharmony_ci#include "parcel.h"
2258ec469eSopenharmony_ci
2358ec469eSopenharmony_cinamespace OHOS {
2458ec469eSopenharmony_cinamespace Sensors {
2558ec469eSopenharmony_ciclass LightInfoIPC : public Parcelable {
2658ec469eSopenharmony_cipublic:
2758ec469eSopenharmony_ci    LightInfoIPC() = default;
2858ec469eSopenharmony_ci    virtual ~LightInfoIPC() = default;
2958ec469eSopenharmony_ci    std::string GetLightName() const;
3058ec469eSopenharmony_ci    void SetLightName(const std::string &lightName);
3158ec469eSopenharmony_ci    int32_t GetLightId() const;
3258ec469eSopenharmony_ci    void SetLightId(int32_t lightId);
3358ec469eSopenharmony_ci    int32_t GetLightNumber() const;
3458ec469eSopenharmony_ci    void SetLightNumber(int32_t lightNumber);
3558ec469eSopenharmony_ci    int32_t GetLightType() const;
3658ec469eSopenharmony_ci    void SetLightType(int32_t lightType);
3758ec469eSopenharmony_ci    bool ReadFromParcel(Parcel &parcel);
3858ec469eSopenharmony_ci    static std::unique_ptr<LightInfoIPC> Unmarshalling(Parcel &parcel);
3958ec469eSopenharmony_ci    virtual bool Marshalling(Parcel &parcel) const override;
4058ec469eSopenharmony_ci
4158ec469eSopenharmony_ciprivate:
4258ec469eSopenharmony_ci    std::string lightName_ = "";
4358ec469eSopenharmony_ci    int32_t lightId_ = 0;
4458ec469eSopenharmony_ci    int32_t lightNumber_ = 0;
4558ec469eSopenharmony_ci    int32_t lightType_ = 0;
4658ec469eSopenharmony_ci};
4758ec469eSopenharmony_ci} // namespace Sensors
4858ec469eSopenharmony_ci} // namespace OHOS
4958ec469eSopenharmony_ci#endif // LIGHT_INFO_IPC_H
50