Hot Door CORE  0.7.1
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__
Definition: hdicoreTypes.h:1282
Options
Identifies the configuration of various plug-in behaviors.
Definition: hdicoreThirdPartyPlugin.h:30
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.
Definition: hdicoreaiArray.h:12