Hot Door CORE  0.7.1
Adobe® Illustrator® Plug-in Library
hdicoreUID.h
Go to the documentation of this file.
1 
7 #ifndef __HDI_CORE_UID__
8 #define __HDI_CORE_UID__
9 
10 #include "hdicoreTypes.h"
11 
12 namespace hdi
13 {
14  namespace plugin
15  {
16  class UID;
17  }
18 
19  namespace core
20  {
21  class Art;
22 
29  class UID
30  {
31  public:
42  UID();
43 
51  UID(const UID& u_);
52 
53  #if HDI_CORE_COMPILE_AI21_PLUS
54 
61  UID(const std::string& name_);
62  #endif
63 
71  UID(const AIUIDRef aiUID_);
72 
78  virtual ~UID();
79 
88  virtual UID& operator=(const UID& rhs_);
89 
98  virtual bool operator==(const UID& rhs_) const;
99 
108  virtual bool operator!=(const UID& rhs_) const;
109 
123  virtual AIUIDRef aiUIDRef() const;
124 
132  virtual bool isEmpty() const;
133 
141  virtual std::auto_ptr<Art> art() const;
142 
150  virtual std::string name() const;
151 
169  void setName(const std::string& name_);
170 
171 
172  private:
173  friend plugin::UID* __accessImpl(const UID&);
174  friend UID __accessCtor(const plugin::UID&);
175 
179  plugin::UID* __impl;
180 
186  UID(const plugin::UID&);
187  };
188 
189  typedef std::auto_ptr<UID> UIDAP;
190 
191  extern plugin::UID* __accessImpl(const UID&);
192  extern UID __accessCtor(const plugin::UID&);
193  }
194 }
195 
196 #endif
197 // __HDI_CORE_UID__
Allows for easy UID acquisition, art access, etc.
Definition: hdicoreUID.h:29
Header file for a wide variety of necessary typedefs, enums, and forwards declarations.
Definition: hdicoreaiArray.h:12