158ec469eSopenharmony_ci/*
258ec469eSopenharmony_ci * Copyright (c) 2022 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/**
1758ec469eSopenharmony_ci * @file light_agent.h
1858ec469eSopenharmony_ci *
1958ec469eSopenharmony_ci * @brief Declares the functions for starting or stopping a light.
2058ec469eSopenharmony_ci * @since 10
2158ec469eSopenharmony_ci */
2258ec469eSopenharmony_ci
2358ec469eSopenharmony_ci#ifndef LIGHT_AGENT_H
2458ec469eSopenharmony_ci#define LIGHT_AGENT_H
2558ec469eSopenharmony_ci
2658ec469eSopenharmony_ci#include "light_agent_type.h"
2758ec469eSopenharmony_ci
2858ec469eSopenharmony_ci#ifdef __cplusplus
2958ec469eSopenharmony_ciextern "C" {
3058ec469eSopenharmony_ci#endif
3158ec469eSopenharmony_ci
3258ec469eSopenharmony_cinamespace OHOS {
3358ec469eSopenharmony_cinamespace Sensors {
3458ec469eSopenharmony_ci/**
3558ec469eSopenharmony_ci * @brief Obtains information about all the lights in the system.
3658ec469eSopenharmony_ci *
3758ec469eSopenharmony_ci * @param lightInfo Indicates the list of the light information.
3858ec469eSopenharmony_ci * @param count Indicates the count of all the lights in the system.
3958ec469eSopenharmony_ci * @return Returns <b>0</b> if the operation is successful.
4058ec469eSopenharmony_ci * @return Returns a negative value if the operation fails.
4158ec469eSopenharmony_ci * @since 10
4258ec469eSopenharmony_ci */
4358ec469eSopenharmony_ciint32_t GetLightList(LightInfo **lightInfo, int32_t &count);
4458ec469eSopenharmony_ci
4558ec469eSopenharmony_ci/**
4658ec469eSopenharmony_ci * @brief Turns on available lights in the list based on the specified light id.
4758ec469eSopenharmony_ci *
4858ec469eSopenharmony_ci * @param lightId Indicates the light id.
4958ec469eSopenharmony_ci * @param color:Color corresponding to the light.
5058ec469eSopenharmony_ci * @param animation Indicates the blinking parameters.
5158ec469eSopenharmony_ci * @return Returns <b>0</b> if the operation is successful.
5258ec469eSopenharmony_ci * @return Returns a negative value if the operation fails.
5358ec469eSopenharmony_ci * @since 10
5458ec469eSopenharmony_ci */
5558ec469eSopenharmony_ciint32_t TurnOn(int32_t lightId, const LightColor &color, const LightAnimation &animation);
5658ec469eSopenharmony_ci
5758ec469eSopenharmony_ci/**
5858ec469eSopenharmony_ci * @brief Turns off available lights in the list based on the specified light id.
5958ec469eSopenharmony_ci *
6058ec469eSopenharmony_ci * @param lightId Indicates the light id.
6158ec469eSopenharmony_ci * @return Returns <b>0</b> if the operation is successful.
6258ec469eSopenharmony_ci * @return Returns a negative value if the operation fails.
6358ec469eSopenharmony_ci * @since 10
6458ec469eSopenharmony_ci */
6558ec469eSopenharmony_ciint32_t TurnOff(int32_t lightId);
6658ec469eSopenharmony_ci} // namespace Sensors
6758ec469eSopenharmony_ci} // namespace OHOS
6858ec469eSopenharmony_ci#ifdef __cplusplus
6958ec469eSopenharmony_ci};
7058ec469eSopenharmony_ci#endif
7158ec469eSopenharmony_ci/** @} */
7258ec469eSopenharmony_ci#endif // endif LIGHT_AGENT_H
73