Inherited Members
public:
// typedefs
typedef CStringRef MemberID;
// enums
enum Flags;
// methods
virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
virtual unsigned int CCL_API retain () = 0;
virtual unsigned int CCL_API release () = 0;
Unknown& operator = (const Unknown&);
unsigned int getRetainCount () const;
virtual Object*CCL_API revealObject (const void* moduleAddress) = 0;
virtual void CCL_API addObserver (IObserver* observer) = 0;
virtual void CCL_API removeObserver (IObserver* observer) = 0;
virtual void CCL_API signal (MessageRef msg) = 0;
virtual void CCL_API deferSignal (IMessage* msg) = 0;
static ISubject void addObserver (IUnknown* unknown, IObserver* observer);
static void removeObserver (IUnknown* unknown, IObserver* observer);
virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0;
static IObserver void notify (
IUnknown* unknown,
ISubject* subject,
MessageRef msg
);
virtual const ITypeInfo&CCL_API getTypeInfo () const = 0;
virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const = 0;
virtual tbool CCL_API setProperty (MemberID propertyId, const Variant& var) = 0;
virtual tbool CCL_API getPropertyNames (IPropertyCollector& collector) const = 0;
virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg) = 0;
DECLARE_BASE_CLASS (Object);
virtual void CCL_API removeObserver (IObserver* observer);
virtual void CCL_API signal (MessageRef msg);
virtual void CCL_API deferSignal (IMessage* msg);
virtual void deferChanged ();
virtual void CCL_API notify (ISubject* subject, MessageRef msg);
virtual bool equals (const Object& obj) const;
virtual int compare (const Object& obj) const;
virtual bool load (const Storage& storage);
virtual bool save (const Storage& storage) const;
virtual bool save (const OutputStorage& storage) const;
virtual bool toString (String& string, int flags = 0) const;
virtual int getHashCode (int size) const;
IUnknown* asUnknown ();
static void addGarbageCollected (Object* obj, bool globalScope = true);
static void deferDestruction (Object* obj);
static const void* getModuleAddress ();
virtual tresult CCL_API createInstance (UIDRef cid, UIDRef iid, void** obj) = 0;
virtual tbool CCL_API isEmpty () const = 0;
virtual int CCL_API countAttributes () const = 0;
virtual tbool CCL_API getAttributeName (MutableCString& name, int index) const = 0;
virtual tbool CCL_API getAttributeValue (Variant& value, int index) const = 0;
virtual tbool CCL_API setAttribute (
StringID id,
VariantRef value,
int flags = 0
) = 0;
virtual tbool CCL_API appendAttribute (
StringID id,
VariantRef value,
int flags = 0
) = 0;
virtual tbool CCL_API getAttribute (Variant& value, StringID id) const = 0;
virtual tbool CCL_API queueAttribute (
StringID id,
VariantRef value,
int flags = 0
) = 0;
virtual tbool CCL_API unqueueAttribute (StringID id, Variant& value) = 0;
virtual tbool CCL_API contains (StringID id) const = 0;
virtual tbool CCL_API remove (StringID id) = 0;
virtual void CCL_API removeAll () = 0;
virtual void CCL_API copyFrom (const IAttributeList& list) = 0;
virtual void CCL_API addFrom (
const IAttributeList& list,
const IAttributeFilter* filter = nullptr
) = 0;
virtual const IAttributeList& getList () const = 0;
Variant getVariant (StringID id) const;
int64 getInt64 (StringID id) const;
int getInt (StringID id) const;
bool getBool (StringID id) const;
double getFloat (StringID id) const;
String getString (StringID id) const;
MutableCString getCString (StringID id, TextEncoding encoding = Text::kASCII) const;
IUnknown* getUnknown (StringID id) const;
IUnknownIterator* newUnknownIterator (StringID id) const;
tresult getResult (StringID id) const;
bool getInt64 (int64& value, StringID id) const;
bool getInt (int& value, StringID id) const;
bool getBool (bool& value, StringID id) const;
bool getFloat (double& value, StringID id) const;
bool getFloat (float& value, StringID id) const;
bool getString (String& value, StringID id) const;
bool getCString (
MutableCString& value,
StringID id,
TextEncoding encoding = Text::kASCII
) const;
bool getUnknown (IUnknown*& value, StringID id) const;
virtual IAttributeList& getList () = 0;
IAttributeList* newAttributes ();
IAttributeQueue* newAttributeQueue ();
IAttributeList* newPersistentAttributes ();
bool set (StringID id, int64 v);
bool set (StringID id, int v);
bool set (StringID id, tresult v);
bool set (StringID id, bool b, int flags = 0);
bool set (StringID id, double v);
bool set (StringID id, StringRef s);
bool set (StringID id, CStringRef s, TextEncoding encoding = Text::kASCII);
bool set (StringID id, CStringPtr s, TextEncoding encoding = Text::kASCII);
bool set (StringID id, IUnknown* u, int flags = 0);
bool queue (StringID id, IUnknown* u, int flags = 0);
IUnknown* unqueueUnknown (StringID id);
DECLARE_CLASS (Attributes, Object);
void copyFrom (const Attributes& attributes);
virtual void makeValidKey (MutableCString& keyString) const;
virtual tbool CCL_API isEmpty () const;
virtual int CCL_API countAttributes () const;
virtual tbool CCL_API getAttributeName (MutableCString& name, int index) const;
virtual tbool CCL_API getAttributeValue (Variant& value, int index) const;
virtual tbool CCL_API setAttribute (
StringID id,
VariantRef value,
int flags = 0
);
virtual tbool CCL_API appendAttribute (
StringID id,
VariantRef value,
int flags = 0
);
virtual tbool CCL_API getAttribute (Variant& value, StringID id) const;
virtual tbool CCL_API queueAttribute (
StringID id,
VariantRef value,
int flags = 0
);
virtual tbool CCL_API unqueueAttribute (StringID id, Variant& value);
virtual tbool CCL_API contains (StringID id) const;
virtual tbool CCL_API remove (StringID id);
virtual void CCL_API removeAll ();
virtual void CCL_API copyFrom (const IAttributeList& list);
virtual void CCL_API addFrom (
const IAttributeList& list,
const IAttributeFilter* filter = nullptr
);
virtual tresult CCL_API createInstance (UIDRef cid, UIDRef iid, void** obj);
int getAttributeIndex (StringID id) const;
bool setAttributeIndex (StringID id, int index);
bool setHexValue (StringID id, uint32 value);
uint32 getHexValue (StringID id) const;
bool set (StringID id, Object* o, int flags = 0);
bool set (
StringID id,
const Object& object,
bool saveAsCopy = false,
Archive* archive = nullptr
);
bool get (String& string, StringID id) const;
bool get (
MutableCString& string,
StringID id,
TextEncoding encoding = Text::kASCII
) const;
bool get (Object& object, StringID id, Archive* archive = nullptr) const;
Object* getObject (StringID id) const;
template <class T>
T* getObject (StringID id) const;
Object* getObject (StringID id, MetaClassRef typeId) const;
Attributes* getAttributes (StringID id) const;
bool queue (StringID id, Object* o, int flags = 0);
bool queue (StringID id, const Container& container, int flags = 0);
bool convertAndQueue (
StringID id,
const Container& container,
Archive* archive = nullptr
);
Object* unqueueObject (StringID id);
Object* unqueueObject (StringID id, MetaClassRef typeId);
template <class T>
T* unqueueObject (StringID id);
Attributes* unqueueAttributes (StringID id = nullptr);
Container& unqueue (
Container& container,
StringID id,
MetaClassRef typeId = ccl_typeid <Object> ()
);
Iterator* newQueueIterator (
StringID id,
MetaClassRef typeId = ccl_typeid <Object> ()
) const;
bool unqueueAndCreate (
Container& container,
StringID id,
MetaClassRef typeId,
Archive* archive = nullptr
);
void dump (int inset = 0) const;
void dump (const Container& list, int inset) const;
virtual bool load (const Storage& storage);
virtual bool save (const Storage& storage) const;
virtual bool equals (const Object& obj) const;
CLASS_INTERFACE2 (IAttributeList, IClassAllocator, Object) protected Attribute* lookup (StringID id) const;
virtual IAttributeList& getList ();
virtual const IAttributeList& getList () const;
virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const;
tbool CCL_API setProperty (MemberID propertyId, VariantRef var);
virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg);
bool set (StringID id, int64 v);
bool set (StringID id, int v);
bool set (StringID id, tresult v);
bool set (StringID id, bool b, int flags = 0);
bool set (StringID id, double v);
bool set (StringID id, StringRef s);
bool set (StringID id, CStringRef s, TextEncoding encoding = Text::kASCII);
bool set (StringID id, CStringPtr s, TextEncoding encoding = Text::kASCII);
bool set (StringID id, IUnknown* u, int flags = 0);
DECLARE_CLASS (PersistentAttributes, Attributes) const;
virtual bool load (const Storage& storage);
virtual bool save (const Storage& storage) const;