Hot Door CORE  0.7.0
Adobe® Illustrator® Plug-in Library
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 
12 namespace hdi
13 {
14  namespace plugin
15  {
16  class ThirdPartyPlugin;
17  }
18 
19  namespace core
20  {
25  {
26  public:
30  enum Options
31  {
32  NoOptions = 0,
33  AutoSelectsResultsOption = 1 << 0,
34  RetainsPartialPathSelectionOption = 1 << 1
35  };
36 
49 
59 
65  virtual ~ThirdPartyPlugin();
66 
76  virtual ThirdPartyPlugin& operator=(const ThirdPartyPlugin& rhs_);
77 
86  virtual bool operator==(const ThirdPartyPlugin& rhs_) const;
87 
96  virtual bool operator!=(const ThirdPartyPlugin& rhs_) const;
97 
109  virtual SPPluginRef spPluginRef() const;
110 
119  virtual bool isEmpty() const;
120 
128  virtual std::string filePath() const;
129 
137  virtual std::string fileName() const;
138 
146  virtual std::string name() const;
147 
155  virtual Options options() const;
156 
164  virtual bool started() const;
165 
173  virtual bool broken() const;
174 
186  virtual bool prepMessageData(SPMessageData& message__) const;
187 
207  virtual SPErr message(
208  const std::string& caller_,
209  const std::string& selector_,
210  SPMessageData* const message_,
211  SPErr& result__
212  ) const;
213 
226  virtual bool cleanMessageData(SPMessageData& message__) const;
227 
228 
229  private:
230  friend plugin::ThirdPartyPlugin* __accessImpl(const ThirdPartyPlugin&);
231  friend ThirdPartyPlugin __accessCtor(plugin::ThirdPartyPlugin*&);
232 
236  void* __data;
237 
243  ThirdPartyPlugin(plugin::ThirdPartyPlugin*&);
244 
250  void* __impl() const;
251  };
252 
253  typedef std::auto_ptr<ThirdPartyPlugin> ThirdPartyPluginAP;
254 
255  extern plugin::ThirdPartyPlugin* __accessImpl(const ThirdPartyPlugin&);
256  extern ThirdPartyPlugin __accessCtor(plugin::ThirdPartyPlugin*&);
257  }
258 }
259 
263 );
264 
268 );
269 
270 #endif
271 // __HDI_CORE_3RD_PARTY_PLUGIN__
virtual bool cleanMessageData(SPMessageData &message__) const
Destroys a message that has already been sent to the target plugin with message() ...
Definition: hdicoreTypes.h:1252
virtual std::string fileName() const
Gets the name 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 bool broken() const
Gets whether the plugin has reported an error condition that makes it unavailable.
ThirdPartyPlugin()
Constructs an empty ThirdPartyPlugin object.
virtual bool isEmpty() const
Gets whether the target ThirdPartyPlugin object is empty (constructed with the default ctor) ...
virtual std::string filePath() const
Gets the full path of the plugin file at runtime.
Options
Identifies the configuration of various plug-in behaviors.
Definition: hdicoreThirdPartyPlugin.h:30
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.
Wraps around a third-party plugin, such that it can be messaged or otherwise manipulated.
Definition: hdicoreThirdPartyPlugin.h:24
Header file for a wide variety of necessary typedefs, enums, and forwards declarations.
virtual ThirdPartyPlugin & operator=(const ThirdPartyPlugin &rhs_)
Assigns one ThirdPartyPlugin object to another.
Definition: hdicoreaiArray.h:12
virtual std::string name() const
Gets the plugin name.
virtual bool operator==(const ThirdPartyPlugin &rhs_) const
Tests whether a given ThirdPartyPlugin object is the same as another.
virtual SPPluginRef spPluginRef() const
Gets the plugin ref around which this object is wrapped.
virtual Options options() const
Gets the plugin's options.
virtual bool operator!=(const ThirdPartyPlugin &rhs_) const
Tests whether a given ThirdPartyPlugin object is not the same as another.
virtual ~ThirdPartyPlugin()
Destructs a ThirdPartyPlugin object.