IVGCVSW-1806: Refactor Android-NN-Driver ModelToINetworkConverter

* Moved conversion logic into new V1_0 and V1_1 HalPolicy classes
* Extracted common helper functions into ConversionUtils class

Change-Id: I1ab50edc266dd528c0cb22a5cd1aa65e103674d9
diff --git a/ArmnnDriverImpl.hpp b/ArmnnDriverImpl.hpp
index fbfbc43..7f1c9b9 100644
--- a/ArmnnDriverImpl.hpp
+++ b/ArmnnDriverImpl.hpp
@@ -5,41 +5,26 @@
 
 #pragma once
 
-#include <HalInterfaces.h>
-
 #include "DriverOptions.hpp"
 
-#include <armnn/ArmNN.hpp>
+#include <HalInterfaces.h>
 
 namespace armnn_driver
 {
 
-struct HalVersion_1_0
-{
-    using Model = ::android::hardware::neuralnetworks::V1_0::Model;
-    using getSupportedOperations_cb = ::android::hardware::neuralnetworks::V1_0::IDevice::getSupportedOperations_cb;
-};
-
-#if defined(ARMNN_ANDROID_NN_V1_1) // Using ::android::hardware::neuralnetworks::V1_1.
-struct HalVersion_1_1
-{
-    using Model = ::android::hardware::neuralnetworks::V1_1::Model;
-    using getSupportedOperations_cb = ::android::hardware::neuralnetworks::V1_1::IDevice::getSupportedOperations_1_1_cb;
-};
-#endif
-
-template <typename HalVersion>
+template<typename HalPolicy>
 class ArmnnDriverImpl
 {
 public:
-    using HalModel = typename HalVersion::Model;
-    using HalGetSupportedOperations_cb = typename HalVersion::getSupportedOperations_cb;
+    using HalModel                     = typename HalPolicy::Model;
+    using HalGetSupportedOperations_cb = typename HalPolicy::getSupportedOperations_cb;
 
     static Return<void> getSupportedOperations(
             const armnn::IRuntimePtr& runtime,
             const DriverOptions& options,
             const HalModel& model,
             HalGetSupportedOperations_cb);
+
     static Return<ErrorStatus> prepareModel(
             const armnn::IRuntimePtr& runtime,
             const armnn::IGpuAccTunedParametersPtr& clTunedParameters,
@@ -47,6 +32,7 @@
             const HalModel& model,
             const android::sp<IPreparedModelCallback>& cb,
             bool float32ToFloat16 = false);
+
     static Return<DeviceStatus> getStatus();
 };