7#ifndef __HDI_CORE_3RD_PARTY_PLUGIN__
8#define __HDI_CORE_3RD_PARTY_PLUGIN__
14 #if defined(HDI_CORE_AIP_MODE)
17 class ThirdPartyPlugin;
19 #elif defined(HDI_CORE_PSP_MODE)
22 class ThirdPartyPlugin;
34 #if defined(HDI_CORE_AIP_MODE)
41 AutoSelectsResultsOption = 1 << 0,
42 RetainsPartialPathSelectionOption = 1 << 1
156 virtual std::string
name()
const;
158 #if defined(HDI_CORE_AIP_MODE)
223 const std::string& caller_,
224 const std::string& selector_,
229 #if defined(HDI_CORE_PSP_MODE)
246 const int16_t selID_,
247 void*
const message_,
268 #if defined(HDI_CORE_AIP_MODE)
278 #elif defined(HDI_CORE_PSP_MODE)
300 void* __impl()
const;
303 typedef std::unique_ptr<ThirdPartyPlugin> ThirdPartyPluginUP;
304 typedef std::shared_ptr<ThirdPartyPlugin> ThirdPartyPluginSP;
305 typedef std::weak_ptr<ThirdPartyPlugin> ThirdPartyPluginWP;
307 #if defined(HDI_CORE_AIP_MODE)
310 #elif defined(HDI_CORE_PSP_MODE)
317#if defined(HDI_CORE_AIP_MODE)
Wraps around a third-party plugin, such that it can be messaged or otherwise manipulated.
Definition: hdicoreThirdPartyPlugin.h:32
virtual bool cleanMessageData(SPMessageData &message__) const
Destroys a message that has already been sent to the target plugin with message()
virtual ~ThirdPartyPlugin()
Destructs a ThirdPartyPlugin object.
virtual bool operator==(const ThirdPartyPlugin &rhs_) const
Tests whether a given ThirdPartyPlugin object is the same as another.
virtual std::string filePath() const
Gets the full path of the plugin file at runtime.
virtual bool prepMessageData(SPMessageData &message__) const
Initializes a message to be sent to the target plugin with message()
virtual Options options() const
Gets the plugin's options.
virtual SPPluginRef spPluginRef() const
Gets the plugin ref around which this object is wrapped.
ThirdPartyPlugin(const ThirdPartyPlugin &p_)
Constructs a new ThirdPartyPlugin object from an existing ThirdPartyPlugin object (copy constructor)
Options
Identifies the configuration of various plug-in behaviors.
Definition: hdicoreThirdPartyPlugin.h:39
virtual std::string fileName() const
Gets the name of the plugin file at runtime.
virtual bool started() const
Gets whether the plugin has started.
virtual SPErr message(const std::string &caller_, const std::string &selector_, SPMessageData *const message_, SPErr &result__) const
Sends a message to the target plugin.
virtual std::string name() const
Gets the plugin name.
virtual ThirdPartyPlugin & operator=(const ThirdPartyPlugin &rhs_)
Assigns one ThirdPartyPlugin object to another.
virtual bool operator!=(const ThirdPartyPlugin &rhs_) const
Tests whether a given ThirdPartyPlugin object is not the same as another.
virtual bool isEmpty() const
Gets whether the target ThirdPartyPlugin object is empty (constructed with the default ctor)
virtual bool broken() const
Gets whether the plugin has reported an error condition that makes it unavailable.
ThirdPartyPlugin()
Constructs an empty ThirdPartyPlugin object.
Header file for a wide variety of necessary typedefs, enums, and forwards declarations.
Definition: hdicoreTypes.h:1695