10a7ce71fSopenharmony_ci/* 20a7ce71fSopenharmony_ci * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED. 30a7ce71fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 40a7ce71fSopenharmony_ci * you may not use this file except in compliance with the License. 50a7ce71fSopenharmony_ci * You may obtain a copy of the License at 60a7ce71fSopenharmony_ci * 70a7ce71fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 80a7ce71fSopenharmony_ci * 90a7ce71fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 100a7ce71fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 110a7ce71fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 120a7ce71fSopenharmony_ci * See the License for the specific language governing permissions and 130a7ce71fSopenharmony_ci * limitations under the License. 140a7ce71fSopenharmony_ci */ 150a7ce71fSopenharmony_ci 160a7ce71fSopenharmony_ci#ifndef IOT_MAIN_H 170a7ce71fSopenharmony_ci#define IOT_MAIN_H 180a7ce71fSopenharmony_ci 190a7ce71fSopenharmony_citypedef void (*fnMsgCallBack)(int qos, const char *topic, const char *payload); 200a7ce71fSopenharmony_ci 210a7ce71fSopenharmony_ci/** 220a7ce71fSopenharmony_ci * This is the iot main function. Please call this function first 230a7ce71fSopenharmony_ci*/ 240a7ce71fSopenharmony_ciint IoTMain(void); 250a7ce71fSopenharmony_ci/** 260a7ce71fSopenharmony_ci * Use this function to set the message call back function, when some messages comes, 270a7ce71fSopenharmony_ci * the callback will be called, if you don't care about the message, set it to NULL 280a7ce71fSopenharmony_ci*/ 290a7ce71fSopenharmony_ciint IoTSetMsgCallback(fnMsgCallBack msgCallback); 300a7ce71fSopenharmony_ci/** 310a7ce71fSopenharmony_ci * When you want to send some messages to the iot server(including the response message), 320a7ce71fSopenharmony_ci * please call this api 330a7ce71fSopenharmony_ci * @param qos: the mqtt qos,:0,1,2 340a7ce71fSopenharmony_ci * @param topic: the iot mqtt topic 350a7ce71fSopenharmony_ci * @param payload: the mqtt payload 360a7ce71fSopenharmony_ci * 370a7ce71fSopenharmony_ci * @return 0 success while others failed 380a7ce71fSopenharmony_ci * 390a7ce71fSopenharmony_ci * @instruction: if success means we write the message to the queue susccess, 400a7ce71fSopenharmony_ci * not means communicate with the server success 410a7ce71fSopenharmony_ci*/ 420a7ce71fSopenharmony_ciint IotSendMsg(int qos, const char *topic, const char *payload); 430a7ce71fSopenharmony_ci 440a7ce71fSopenharmony_ci#endif /* IOT_MAIN_H_ */