diff options
author | siddharth jain <sija@microsoft.com> | 2020-11-09 21:51:14 +0300 |
---|---|---|
committer | siddharth jain <sija@microsoft.com> | 2020-11-09 21:51:14 +0300 |
commit | bfc0bc57a34f64ae9a83a2ba181def04deb56ff4 (patch) | |
tree | bf515466d112cd25c0cb337d43e4287d9b57845b | |
parent | 26fcdca23b9fea72ec42dbe5abf818e6701d4019 (diff) |
remaining clean up changes
-rw-r--r-- | moses2/DLLEntryApi.cpp | 24 | ||||
-rw-r--r-- | moses2/Moses2Wrapper.cpp | 3 | ||||
-rw-r--r-- | moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp | 2 |
3 files changed, 15 insertions, 14 deletions
diff --git a/moses2/DLLEntryApi.cpp b/moses2/DLLEntryApi.cpp index e6c785bb4..b559b62e5 100644 --- a/moses2/DLLEntryApi.cpp +++ b/moses2/DLLEntryApi.cpp @@ -1,27 +1,29 @@ #include "Moses2Wrapper.h" #include <iostream> +#include <windows.h> using namespace std; using namespace Moses2; -extern "C" __declspec(dllexport) Moses2::Moses2Wrapper * __stdcall CreateMosesSystem(const char* filePath) { - return new Moses2::Moses2Wrapper(filePath); -} - -extern "C" __declspec(dllexport) int __stdcall GetMosesSystem(const char* filePath, Moses2::Moses2Wrapper ** pObject) { +extern "C" __declspec(dllexport) HRESULT __stdcall GetMosesSystem(const char* filePath, Moses2::Moses2Wrapper ** pObject) { + if (*pObject == NULL) { *pObject = new Moses2::Moses2Wrapper(filePath); - return 1; + return S_OK; + } + else { + return E_FAIL; + } } -extern "C" __declspec(dllexport) int __stdcall MosesTranslate(Moses2::Moses2Wrapper * pObject, long id, const char* input, char* output, int strlen) { +extern "C" __declspec(dllexport) HRESULT __stdcall MosesTranslate(Moses2::Moses2Wrapper * pObject, long id, const char* input, char* output, int strlen) { if (pObject != NULL) { std::string tr = pObject->Translate(input, id); std::copy(tr.begin(), tr.end(), output); output[std::min(strlen - 1, (int)tr.size())] = 0; - return 1; + return S_OK; } else { - return 0; + return E_FAIL; } } extern "C" __declspec(dllexport) int __stdcall ReleaseSystem(Moses2::Moses2Wrapper ** pObject) { @@ -29,10 +31,10 @@ extern "C" __declspec(dllexport) int __stdcall ReleaseSystem(Moses2::Moses2Wrapp { delete *pObject; *pObject = NULL; - return 1; + return S_OK; } else { - return 0; + return E_FAIL; } } extern "C" __declspec(dllexport) string __stdcall GetEngineVersion() { diff --git a/moses2/Moses2Wrapper.cpp b/moses2/Moses2Wrapper.cpp index a6897037e..343ddfa3b 100644 --- a/moses2/Moses2Wrapper.cpp +++ b/moses2/Moses2Wrapper.cpp @@ -11,8 +11,7 @@ namespace Moses2 { } std::string Moses2Wrapper::Translate(const std::string &input , long id) { TranslationTask task(*m_system, input, id); - std::string translation = task.ReturnTranslation(); - return translation; + return task.ReturnTranslation(); } Moses2Wrapper::~Moses2Wrapper() { delete m_param; diff --git a/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp b/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp index a37f5b778..a7edd3f84 100644 --- a/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp +++ b/moses2/TranslationModel/Dynamic/DynamicPhraseTable.cpp @@ -48,7 +48,7 @@ DynamicPhraseTable::DynamicPhraseTable(size_t startInd, const std::string &line) DynamicPhraseTable::~DynamicPhraseTable() { - //delete m_rootPb; + m_rootPb.CleanNode(); } void DynamicPhraseTable::CreatePTForInput(const ManagerBase &mgr, string phraseTableString) |