Publishing 2020.1 content
[platform/upstream/dldt.git] / inference-engine / include / ie_plugin_ptr.hpp
1 // Copyright (C) 2018-2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 /**
6  * @brief A header file contains a wrapper class for handling plugin instantiation and releasing resources
7  *
8  * @file ie_plugin_ptr.hpp
9  */
10 #pragma once
11
12 #include <string>
13
14 #include "details/ie_so_pointer.hpp"
15 #include "ie_extension.h"
16 #include "ie_plugin.hpp"
17
18 namespace InferenceEngine {
19 namespace details {
20
21 IE_SUPPRESS_DEPRECATED_START
22
23 /**
24  * @deprecated Use InferenceEngine::Core instead.
25  * @brief This class defines the name of the fabric for creating an IInferencePlugin object in DLL
26  */
27 template <>
28 class INFERENCE_ENGINE_DEPRECATED("Use InferenceEngine::Core instead") SOCreatorTrait<IInferencePlugin> {
29 public:
30     /**
31      * @brief A name of the fabric for creating IInferencePlugin object in DLL
32      */
33     static constexpr auto name = "CreatePluginEngine";
34 };
35
36 }  // namespace details
37
38 /**
39  * @brief A C++ helper to work with objects created by the plugin.
40  *
41  * Implements different interfaces.
42  */
43 using InferenceEnginePluginPtr = InferenceEngine::details::SOPointer<IInferencePlugin>;
44
45 IE_SUPPRESS_DEPRECATED_END
46
47 }  // namespace InferenceEngine