Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / src / cldnn_engine / cldnn_engine.h
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #pragma once
6
7 #include "inference_engine.hpp"
8 #include <map>
9 #include <string>
10 #include <memory>
11 #include <cpp_interfaces/impl/ie_plugin_internal.hpp>
12
13 namespace CLDNNPlugin {
14
15 using CLDNNCustomLayerPtr = std::shared_ptr<class CLDNNCustomLayer>;
16
17 class clDNNEngine : public InferenceEngine::InferencePluginInternal {
18     struct impl;
19     impl *_impl;
20
21 public:
22     clDNNEngine();
23
24     virtual ~clDNNEngine();
25
26     InferenceEngine::ExecutableNetworkInternal::Ptr LoadExeNetworkImpl(InferenceEngine::ICNNNetwork &network,
27                                                                        const std::map<std::string, std::string> &config) override;
28
29     void SetConfig(const std::map<std::string, std::string> &config) override;
30     /**
31      * @depricated Use the version with config parameter
32      */
33     void QueryNetwork(const InferenceEngine::ICNNNetwork& network, InferenceEngine::QueryNetworkResult& res) const override;
34     void QueryNetwork(const InferenceEngine::ICNNNetwork& network,
35                       const std::map<std::string, std::string>& config, InferenceEngine::QueryNetworkResult& res) const override;
36 };
37
38 };  // namespace CLDNNPlugin