You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
graphengine/third_party/fwkacllib/inc/tdt/tdt_host_interface.h

230 lines
7.0 KiB

5 years ago
/**
* Copyright 2019-2020 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef HOST_INNER_INC_TDT_HOST_INTERFACE_H_
#define HOST_INNER_INC_TDT_HOST_INTERFACE_H_
#include <string.h>
#include <memory>
#include <vector>
#include "tdt/data_common.h"
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
namespace tdt {
/**
* @ingroup TdtHostInit
* @brief Initialize the interface, start and initialize various general thread, log and other services
*
* @par Function
* Initialize the interface, start and initialize various general thread, log and other services
*
* @param deviceId [IN] type #unsigned int. Physical device ID
* @retval #0 Success
* @retval #Not 0 Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
*/
5 years ago
int32_t TdtHostInit(uint32_t deviceId);
/**
* @ingroup TdtHostPushData
* @brief Blocking queue. When the queue is full, the Push interface will block.
*
* @par Function
* Blocking queue. When the queue is full, the Push interface will block.
*
* @param channelName [IN] type #String. queue channel name
* @param items [IN] type #vector<DataItem> DataItem is defined in data_common.h. input data
* @retval 0 Success
* @retval OtherValues 0 Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'DataItem' defined
*/
5 years ago
int32_t TdtHostPushData(const std::string &channelName, const std::vector<DataItem> &item);
/**
* @ingroup TdtHostDestroy
* @brief Notify TDT component to close related resources
*
* @par Function
* Notify TDT component to close related resources
*
* @param NA
* @retval 0 Success
* @retval OtherValues Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
*/
5 years ago
int32_t TdtHostDestroy();
/**
* @ingroup TdtHostPreparePopData
* @brief Prepare pop data from Tdt data storage queue
*
* @par Function
* Prepare pop data from Tdt data storage queue
*
* @param NA
* @retval 0 Success
* @retval OtherValues 0 Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'DataItem' defined
*/
int32_t TdtHostPreparePopData();
/**
* @ingroup TdtHostPopData
* @brief POP data from Tdt data storage queue
*
* @par Function
* POP data from Tdt data storage queue
*
* @param channelName [IN] type #String. queue channel name
* @param items [IN] type #vector<DataItem> DataItem is defined in data_common.h. input data
* @retval 0 Success
* @retval OtherValues 0 Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'DataItem' defined
*/
5 years ago
int32_t TdtHostPopData(const std::string &channelName, std::vector<DataItem> &item);
/**
* @ingroup TdtHostStop
* @brief Activate the thread that reads data externally from Tdt and
* send end of sequence data so that the external thread can exit
*
* @par Function
* Activate the thread that reads data externally from Tdt and send
* end of sequence data so that the external thread can exit
*
* @param channelName [IN] type #String. queue channel name
* @retval 0 Success
* @retval OtherValues Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
*/
5 years ago
int32_t TdtHostStop(const std::string &channelName);
/**
* @ingroup TdtInFeedInit
* @brief Initialize the interface, start and initialize various general thread, log and other services
*
* @par Function
* Initialize the interface, start and initialize various general thread, log and other services
*
* @param deviceId [IN] type #unsigned int. logic device ID
* @retval #0 Success
* @retval #Not 0 Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
*/
int32_t TdtInFeedInit(uint32_t deviceId);
/**
* @ingroup TdtOutFeedInit
* @brief Initialize the interface, start and initialize various general thread, log and other services
*
* @par Function
* Initialize the interface, start and initialize various general thread, log and other services
*
* @param deviceId [IN] type #unsigned int. logic device ID
* @retval #0 Success
* @retval #Not 0 Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
*/
int32_t TdtOutFeedInit(uint32_t deviceId);
/**
* @ingroup TdtInFeedDestroy
* @brief Notify TDT component to close related resources
*
* @par Function
* Notify TDT component to close related resources
*
* @param NA
* @retval 0 Success
* @retval OtherValues Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
*/
int32_t TdtInFeedDestroy(uint32_t deviceId);
/**
* @ingroup TdtOutFeedDestroy
* @brief Notify TDT component to close related resources
*
* @par Function
* Notify TDT component to close related resources
*
* @param NA
* @retval 0 Success
* @retval OtherValues Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
*/
int32_t TdtOutFeedDestroy();
/**
* @ingroup TdtInFeedData
* @brief Blocking queue. When the queue is full, the Push interface will block.
*
* @par Function
* Blocking queue. When the queue is full, the Push interface will block.
*
* @param channelName [IN] type #String. queue channel name
* @param items [IN] type #vector<DataItem> DataItem is defined in data_common.h. input data
* @retval 0 Success
* @retval OtherValues 0 Fail
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tdt_host_interface.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'DataItem' defined
*/
int32_t TdtInFeedData(const std::string &channelName, const std::vector<DataItem> &item, uint32_t deviceId);
5 years ago
} // namespace tdt
#ifdef __cplusplus
}
#endif // __cplusplus
#endif // HOST_INNER_INC_TDT_HOST_INTERFACE_H_