MLECO-3183: Refactoring application sources

Platform agnostic application sources are moved into application
api module with their own independent CMake projects.

Changes for MLECO-3080 also included - they create CMake projects
individial API's (again, platform agnostic) that dependent on the
common logic. The API for KWS_API "joint" API has been removed and
now the use case relies on individual KWS, and ASR API libraries.

Change-Id: I1f7748dc767abb3904634a04e0991b74ac7b756d
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
diff --git a/tests/use_case/kws_asr/Wav2LetterPostprocessingTest.cc b/tests/use_case/kws_asr/Wav2LetterPostprocessingTest.cc
index e343b66..d2071ea 100644
--- a/tests/use_case/kws_asr/Wav2LetterPostprocessingTest.cc
+++ b/tests/use_case/kws_asr/Wav2LetterPostprocessingTest.cc
@@ -17,11 +17,27 @@
 #include "Wav2LetterPostprocess.hpp"
 #include "Wav2LetterModel.hpp"
 #include "ClassificationResult.hpp"
+#include "BufAttributes.hpp"
 
 #include <algorithm>
 #include <catch.hpp>
 #include <limits>
 
+namespace arm {
+    namespace app {
+        static uint8_t  tensorArena[ACTIVATION_BUF_SZ] ACTIVATION_BUF_ATTRIBUTE;
+
+        namespace asr {
+            extern uint8_t* GetModelPointer();
+            extern size_t GetModelLen();
+        }
+        namespace kws {
+            extern uint8_t* GetModelPointer();
+            extern size_t GetModelLen();
+        }
+    } /* namespace app */
+} /* namespace arm */
+
 template <typename T>
 static TfLiteTensor GetTestTensor(
         std::vector<int>&      shape,
@@ -51,7 +67,10 @@
         const uint32_t outputCtxLen = 5;
         arm::app::AsrClassifier classifier;
         arm::app::Wav2LetterModel model;
-        model.Init();
+        model.Init(arm::app::tensorArena,
+                   sizeof(arm::app::tensorArena),
+                   arm::app::asr::GetModelPointer(),
+                   arm::app::asr::GetModelLen());
         std::vector<std::string> dummyLabels = {"a", "b", "$"};
         const uint32_t blankTokenIdx = 2;
         std::vector<arm::app::ClassificationResult> dummyResult;
@@ -71,7 +90,10 @@
         const uint32_t outputCtxLen = 5;
         arm::app::AsrClassifier classifier;
         arm::app::Wav2LetterModel model;
-        model.Init();
+        model.Init(arm::app::tensorArena,
+                    sizeof(arm::app::tensorArena),
+                   arm::app::asr::GetModelPointer(),
+                   arm::app::asr::GetModelLen());
         std::vector<std::string> dummyLabels = {"a", "b", "$"};
         const uint32_t blankTokenIdx = 2;
         std::vector<arm::app::ClassificationResult> dummyResult;
@@ -102,7 +124,10 @@
     std::vector<int> tensorShape = {1, 1, nRows, nCols};
     arm::app::AsrClassifier classifier;
     arm::app::Wav2LetterModel model;
-    model.Init();
+    model.Init(arm::app::tensorArena,
+                    sizeof(arm::app::tensorArena),
+                    arm::app::asr::GetModelPointer(),
+                    arm::app::asr::GetModelLen());
     std::vector<std::string> dummyLabels = {"a", "b", "$"};
     std::vector<arm::app::ClassificationResult> dummyResult;