Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / mocks / cpp_interfaces / mock_plugin_impl.hpp
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #pragma once
6
7 #include "ie_plugin.hpp"
8 #include "ie_ihetero_plugin.hpp"
9 #include "ie_iexecutable_network.hpp"
10 #include <gmock/gmock.h>
11 #include <string>
12 #include <vector>
13
14 class MockPluginImpl {
15  public:
16     MOCK_METHOD1(LoadNetwork, void(InferenceEngine::ICNNNetwork &));
17     MOCK_METHOD3(LoadExeNetwork, void(InferenceEngine::IExecutableNetwork::Ptr &,
18                                       InferenceEngine::ICNNNetwork &,
19                                       const std::map<std::string, std::string> &));
20     MOCK_METHOD2(Infer, void(const InferenceEngine::Blob &, InferenceEngine::Blob&));
21     MOCK_METHOD2(InferBlobMap, void(const InferenceEngine::BlobMap &, InferenceEngine::BlobMap&));
22     /**
23      * @brief Handling gtest overloaded function and comparison for reference
24      * @param input
25      * @param result
26      */
27     void Infer(const InferenceEngine::BlobMap & input, InferenceEngine::BlobMap& result) {
28         InferBlobMap(input, result);
29     }
30
31     void LoadNetwork(InferenceEngine::IExecutableNetwork::Ptr &exeNetwork,
32                      InferenceEngine::ICNNNetwork &cnnNetwork,
33                      const std::map<std::string, std::string> &config) {
34         LoadExeNetwork(exeNetwork, cnnNetwork, config);
35     }
36     MOCK_METHOD1(GetPerformanceCounts, void(std::map <std::string, InferenceEngine::InferenceEngineProfileInfo> &));
37     MOCK_METHOD1(AddExtension, void(InferenceEngine::IExtensionPtr ext_ptr));
38     MOCK_METHOD1(SetConfig, void ( const std::map <std::string, std::string> &));
39     MOCK_METHOD1(SetLogCallback, void (InferenceEngine::IErrorListener &));
40     MOCK_METHOD2(ImportNetwork, InferenceEngine::IExecutableNetwork::Ptr(const std::string &,const std::map<std::string, std::string> &));
41     /**
42      * @depricated Use the version with config parameter
43      */
44     void QueryNetwork(const InferenceEngine::ICNNNetwork &network, InferenceEngine::QueryNetworkResult &res) const { }
45     void QueryNetwork(const InferenceEngine::ICNNNetwork &network,
46                       const std::map<std::string, std::string>& config, InferenceEngine::QueryNetworkResult &res) const { }
47 };