Hot Door CORE 0.8.2
Adobe® Illustrator® Plug-in Library
Loading...
Searching...
No Matches
hdicoreThirdPartyPlugin.h
Go to the documentation of this file.
1
7#ifndef __HDI_CORE_3RD_PARTY_PLUGIN__
8#define __HDI_CORE_3RD_PARTY_PLUGIN__
9
10#include "hdicoreTypes.h"
11
12namespace hdi
13{
14 #if defined(HDI_CORE_AIP_MODE)
15 namespace aip
16 {
17 class ThirdPartyPlugin;
18 }
19 #elif defined(HDI_CORE_PSP_MODE)
20 namespace psp
21 {
22 class ThirdPartyPlugin;
23 }
24 #endif
25
26 namespace core
27 {
32 {
33 public:
34 #if defined(HDI_CORE_AIP_MODE)
39 {
40 NoOptions = 0,
41 AutoSelectsResultsOption = 1 << 0,
42 RetainsPartialPathSelectionOption = 1 << 1
43 };
44 #endif
45 // HDI_CORE_AIP_MODE
46
59
69
76
87
96 virtual bool operator==(const ThirdPartyPlugin& rhs_) const;
97
106 virtual bool operator!=(const ThirdPartyPlugin& rhs_) const;
107
119 virtual SPPluginRef spPluginRef() const;
120
129 virtual bool isEmpty() const;
130
138 virtual std::string filePath() const;
139
147 virtual std::string fileName() const;
148
156 virtual std::string name() const;
157
158 #if defined(HDI_CORE_AIP_MODE)
166 virtual Options options() const;
167 #endif
168 // HDI_CORE_AIP_MODE
169
177 virtual bool started() const;
178
186 virtual bool broken() const;
187
199 virtual bool prepMessageData(SPMessageData& message__) const;
200
222 virtual SPErr message(
223 const std::string& caller_,
224 const std::string& selector_,
225 SPMessageData* const message_,
226 SPErr& result__
227 ) const;
228
229 #if defined(HDI_CORE_PSP_MODE)
245 virtual SPErr message(
246 const int16_t selID_,
247 void* const message_,
248 SPErr& result__
249 ) const;
250 #endif
251
264 virtual bool cleanMessageData(SPMessageData& message__) const;
265
266
267 private:
268 #if defined(HDI_CORE_AIP_MODE)
269 friend aip::ThirdPartyPlugin* __accessImpl(const ThirdPartyPlugin&);
270 friend ThirdPartyPlugin __accessCtor(aip::ThirdPartyPlugin*&);
271
277 ThirdPartyPlugin(aip::ThirdPartyPlugin*&);
278 #elif defined(HDI_CORE_PSP_MODE)
279 friend psp::ThirdPartyPlugin* __accessImpl(const ThirdPartyPlugin&);
280 friend ThirdPartyPlugin __accessCtor(psp::ThirdPartyPlugin*&);
281
287 ThirdPartyPlugin(psp::ThirdPartyPlugin*&);
288 #endif
289
293 void* __data;
294
300 void* __impl() const;
301 };
302
303 typedef std::unique_ptr<ThirdPartyPlugin> ThirdPartyPluginUP;
304 typedef std::shared_ptr<ThirdPartyPlugin> ThirdPartyPluginSP;
305 typedef std::weak_ptr<ThirdPartyPlugin> ThirdPartyPluginWP;
306
307 #if defined(HDI_CORE_AIP_MODE)
308 extern aip::ThirdPartyPlugin* __accessImpl(const ThirdPartyPlugin&);
309 extern ThirdPartyPlugin __accessCtor(aip::ThirdPartyPlugin*&);
310 #elif defined(HDI_CORE_PSP_MODE)
311 extern psp::ThirdPartyPlugin* __accessImpl(const ThirdPartyPlugin&);
312 extern ThirdPartyPlugin __accessCtor(psp::ThirdPartyPlugin*&);
313 #endif
314 }
315}
316
317#if defined(HDI_CORE_AIP_MODE)
321 );
322
326 );
327#endif
328// HDI_CORE_AIP_MODE
329
330#endif
331// __HDI_CORE_3RD_PARTY_PLUGIN__
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