1*3e777be0SXin Li // 2*3e777be0SXin Li // Copyright © 2017 Arm Ltd. All rights reserved. 3*3e777be0SXin Li // SPDX-License-Identifier: MIT 4*3e777be0SXin Li // 5*3e777be0SXin Li 6*3e777be0SXin Li #pragma once 7*3e777be0SXin Li 8*3e777be0SXin Li #include <HalInterfaces.h> 9*3e777be0SXin Li 10*3e777be0SXin Li #include <log/log.h> 11*3e777be0SXin Li 12*3e777be0SXin Li #ifdef ARMNN_ANDROID_NN_V1_3 // Using ::android::hardware::neuralnetworks::V1_3 13*3e777be0SXin Li 14*3e777be0SXin Li #include "1.1/ArmnnDriver.hpp" 15*3e777be0SXin Li #include "1.2/ArmnnDriver.hpp" 16*3e777be0SXin Li #include "1.3/ArmnnDriver.hpp" 17*3e777be0SXin Li 18*3e777be0SXin Li namespace armnn_driver 19*3e777be0SXin Li { 20*3e777be0SXin Li 21*3e777be0SXin Li class ArmnnDriver : public hal_1_3::ArmnnDriver 22*3e777be0SXin Li { 23*3e777be0SXin Li public: ArmnnDriver(DriverOptions options)24*3e777be0SXin Li ArmnnDriver(DriverOptions options) 25*3e777be0SXin Li : hal_1_3::ArmnnDriver(std::move(options)) 26*3e777be0SXin Li { 27*3e777be0SXin Li ALOGV("ArmnnDriver::ArmnnDriver()"); 28*3e777be0SXin Li } ~ArmnnDriver()29*3e777be0SXin Li ~ArmnnDriver() {} 30*3e777be0SXin Li }; 31*3e777be0SXin Li 32*3e777be0SXin Li } // namespace armnn_driver 33*3e777be0SXin Li #elif ARMNN_ANDROID_NN_V1_2 // Using ::android::hardware::neuralnetworks::V1_2 34*3e777be0SXin Li 35*3e777be0SXin Li #include "1.1/ArmnnDriver.hpp" 36*3e777be0SXin Li #include "1.2/ArmnnDriver.hpp" 37*3e777be0SXin Li 38*3e777be0SXin Li namespace armnn_driver 39*3e777be0SXin Li { 40*3e777be0SXin Li 41*3e777be0SXin Li class ArmnnDriver : public hal_1_2::ArmnnDriver 42*3e777be0SXin Li { 43*3e777be0SXin Li public: ArmnnDriver(DriverOptions options)44*3e777be0SXin Li ArmnnDriver(DriverOptions options) 45*3e777be0SXin Li : hal_1_2::ArmnnDriver(std::move(options)) 46*3e777be0SXin Li { 47*3e777be0SXin Li ALOGV("ArmnnDriver::ArmnnDriver()"); 48*3e777be0SXin Li } ~ArmnnDriver()49*3e777be0SXin Li ~ArmnnDriver() {} 50*3e777be0SXin Li }; 51*3e777be0SXin Li 52*3e777be0SXin Li } // namespace armnn_driver 53*3e777be0SXin Li #elif ARMNN_ANDROID_NN_V1_1 // Using ::android::hardware::neuralnetworks::V1_1 54*3e777be0SXin Li 55*3e777be0SXin Li #include "1.1/ArmnnDriver.hpp" 56*3e777be0SXin Li 57*3e777be0SXin Li namespace armnn_driver 58*3e777be0SXin Li { 59*3e777be0SXin Li 60*3e777be0SXin Li class ArmnnDriver : public hal_1_1::ArmnnDriver 61*3e777be0SXin Li { 62*3e777be0SXin Li public: ArmnnDriver(DriverOptions options)63*3e777be0SXin Li ArmnnDriver(DriverOptions options) 64*3e777be0SXin Li : hal_1_1::ArmnnDriver(std::move(options)) 65*3e777be0SXin Li { 66*3e777be0SXin Li ALOGV("ArmnnDriver::ArmnnDriver()"); 67*3e777be0SXin Li } ~ArmnnDriver()68*3e777be0SXin Li ~ArmnnDriver() {} 69*3e777be0SXin Li }; 70*3e777be0SXin Li 71*3e777be0SXin Li } // namespace armnn_driver 72*3e777be0SXin Li 73*3e777be0SXin Li #else // Fallback to ::android::hardware::neuralnetworks::V1_0 74*3e777be0SXin Li 75*3e777be0SXin Li #include "1.0/ArmnnDriver.hpp" 76*3e777be0SXin Li 77*3e777be0SXin Li namespace armnn_driver 78*3e777be0SXin Li { 79*3e777be0SXin Li 80*3e777be0SXin Li class ArmnnDriver : public hal_1_0::ArmnnDriver 81*3e777be0SXin Li { 82*3e777be0SXin Li public: ArmnnDriver(DriverOptions options)83*3e777be0SXin Li ArmnnDriver(DriverOptions options) 84*3e777be0SXin Li : hal_1_0::ArmnnDriver(std::move(options)) 85*3e777be0SXin Li { 86*3e777be0SXin Li ALOGV("ArmnnDriver::ArmnnDriver()"); 87*3e777be0SXin Li } ~ArmnnDriver()88*3e777be0SXin Li ~ArmnnDriver() {} 89*3e777be0SXin Li }; 90*3e777be0SXin Li 91*3e777be0SXin Li } // namespace armnn_driver 92*3e777be0SXin Li 93*3e777be0SXin Li #endif 94