nlsCsharpSdk/nlsCsharpSdkExtern/nlsCppSdkExtern.h (101 lines of code) (raw):
/*
* Copyright 2021 Alibaba Group Holding Limited
*
* 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 _NLSCPPSDK_EXTERN_H_
#define _NLSCPPSDK_EXTERN_H_
NLSAPI(const char*) NlsGetVersion() {
const char* version = AlibabaNls::NlsClient::getInstance(true)->getVersion();
return version;
}
NLSAPI(int)
NlsSetLogConfig(const char* logFileName, int logLevel, int logFileSize,
int logFileNum) {
return AlibabaNls::NlsClient::getInstance()->setLogConfig(
logFileName, (AlibabaNls::LogLevel)logLevel, logFileSize, logFileNum);
}
NLSAPI(void) NlsSetAddrInFamily(const char* aiFamily) {
return AlibabaNls::NlsClient::getInstance()->setAddrInFamily(aiFamily);
}
NLSAPI(void) NlsSetDirectHost(const char* ip) {
return AlibabaNls::NlsClient::getInstance()->setDirectHost(ip);
}
NLSAPI(int) NlsCalculateUtf8Chars(const char* text) {
return AlibabaNls::NlsClient::getInstance()->calculateUtf8Chars(text);
}
NLSAPI(void) NlsStartWorkThread(int threadsNumber) {
if (stEvent == NULL) {
stEvent = new NLS_EVENT_STRUCT();
} else {
CleanNlsEvent(stEvent);
}
if (srEvent == NULL) {
srEvent = new NLS_EVENT_STRUCT();
} else {
CleanNlsEvent(srEvent);
}
if (syEvent == NULL) {
syEvent = new NLS_EVENT_STRUCT();
} else {
CleanNlsEvent(syEvent);
}
return AlibabaNls::NlsClient::getInstance()->startWorkThread(threadsNumber);
}
NLSAPI(void) NlsReleaseInstance() {
AlibabaNls::NlsClient::getInstance()->releaseInstance();
if (stEvent) {
delete stEvent;
stEvent = NULL;
}
if (srEvent) {
delete srEvent;
srEvent = NULL;
}
if (syEvent) {
delete syEvent;
syEvent = NULL;
}
return;
}
NLSAPI(AlibabaNls::SpeechTranscriberRequest*) NlsCreateTranscriberRequest() {
const char* sdkName = "csharp";
return AlibabaNls::NlsClient::getInstance()->createTranscriberRequest(
sdkName);
}
NLSAPI(void)
NlsReleaseTranscriberRequest(AlibabaNls::SpeechTranscriberRequest* request) {
return AlibabaNls::NlsClient::getInstance()->releaseTranscriberRequest(
request);
}
NLSAPI(AlibabaNls::SpeechRecognizerRequest*) NlsCreateRecognizerRequest() {
const char* sdkName = "csharp";
return AlibabaNls::NlsClient::getInstance()->createRecognizerRequest(sdkName);
}
NLSAPI(void)
NlsReleaseRecognizerRequest(AlibabaNls::SpeechRecognizerRequest* request) {
return AlibabaNls::NlsClient::getInstance()->releaseRecognizerRequest(
request);
}
NLSAPI(AlibabaNls::SpeechSynthesizerRequest*)
NlsCreateSynthesizerRequest(int type) {
const char* sdkName = "csharp";
return AlibabaNls::NlsClient::getInstance()->createSynthesizerRequest(
(AlibabaNls::TtsVersion)type, sdkName);
}
NLSAPI(void)
NlsReleaseSynthesizerRequest(AlibabaNls::SpeechSynthesizerRequest* request) {
return AlibabaNls::NlsClient::getInstance()->releaseSynthesizerRequest(
request);
}
NLSAPI(AlibabaNlsCommon::FileTrans*) NlsCreateFileTransferRequest() {
AlibabaNlsCommon::FileTrans* request = new AlibabaNlsCommon::FileTrans();
return request;
}
NLSAPI(void)
NlsReleaseFileTransferRequest(AlibabaNlsCommon::FileTrans* request) {
delete request;
return;
}
NLSAPI(AlibabaNlsCommon::NlsToken*) NlsCreateNlsToken() {
return new AlibabaNlsCommon::NlsToken();
}
NLSAPI(void) NlsReleaseNlsToken(AlibabaNlsCommon::NlsToken* token) {
return delete token;
}
#endif // _NLSCPPSDK_EXTERN_H_