* Copyright (c) 2025 Huawei Technologies Co., Ltd.
* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
* CANN Open Software License Agreement Version 2.0 (the "License").
* Please refer to the License for details. You may not use this file except in compliance with the License.
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
* See LICENSE in the root of the software repository for the full text of the License.
*/
#ifndef INC_TDT_TDT_SERVER_H
#define INC_TDT_TDT_SERVER_H
#include <list>
#include "tdt/status.h"
namespace tdt {
* @ingroup TDTServerInit
* @brief Initialization functions, establish TDT Server,
* provide services such as access services, initialization and tuning channels
*
* @par Function
* Initialization functions, establish TDT Server,
* provide services such as access services, initialization and tuning channels
*
* @param deviceID [IN] type #unsigned int. Physical device ID
* @param bindCoreList [IN] type #List<unsigned int> bindCoreList.
* device CPU core sequence, the maximum value of the core sequence should not
* exceed the total number of CPU cores
* @retval 0 Success
* @retval OtherValues 0 Fail
*
* @par Dependency
* @li libtdtserver.so: Library to which the interface belongs.
* @li tdt_server.h: Header file where the interface declaration is located.
*/
TDT_LIB_EXPORT int32_t TDTServerInit(const uint32_t deviceID, const std::list<uint32_t> &bindCoreList);
* @ingroup TDTServerInit
* @brief End TDT Server
*
* @par Function
* End TDT Server
*
* @param NA
* @retval 0 Success
* @retval OtherValues 0 Fail
*
* @par Dependency
* @li libtdtserver.so: Library to which the interface belongs.
* @li tdt_server.h: Header file where the interface declaration is located.
*/
TDT_LIB_EXPORT int32_t TDTServerStop();
class TdtServer {
public:
private:
* @ingroup TdtServer
* @brief TdtServer is a static class, all delete constructs and destructors
*/
TdtServer() = delete;
* @ingroup TdtServer
* @brief TdtServer destructor
*/
virtual ~TdtServer() = delete;
TdtServer(const TdtServer &) = delete;
TdtServer(TdtServer &&) = delete;
TdtServer &operator=(const TdtServer &) = delete;
TdtServer &operator=(TdtServer &&) = delete;
};
};
#endif