Murl::Resource::ICollectionFactory Interface Referenceabstract

The resource collection factory interface. More...

#include "murl_resource_i_collection_factory.h"

Inheritance diagram for Murl::Resource::ICollectionFactory:

Public Member Functions

virtual Bool Init ()=0
 Initialize the factory. More...
 
virtual Bool DeInit ()=0
 Deinitialize the factory. More...
 
virtual ICollectionCreateDefaultCollection () const =0
 Create a default resource collection. More...
 
virtual ICollectionCreateCollection (const String &className) const =0
 Create a resource collection via its class name. More...
 
virtual ICollectionCreateCollection (const ICollection::ClassInfo &classInfo) const =0
 Create a resource collection via its class info. More...
 
virtual Bool DestroyCollection (ICollection *&collection) const =0
 Destroy a resource collection previously created by this factory. More...
 
virtual const IFactoryGetResourceFactory () const =0
 Get the main resource factory. More...
 
- Public Member Functions inherited from Murl::IFactoryObject< ICollectionFactory >
 ~IFactoryObject () override
 The destructor.
 
virtual const ClassInfo * GetObjectClassInfo () const=0
 Get the object instance's class info, if present. More...
 
virtual void ResetObjectProperties ()=0
 Reset the object instance's properties to their default values.
 
- Public Member Functions inherited from Murl::Resource::ICollectionFactoryRegistry
virtual Bool RegisterCollectionClass (const ICollection::ClassInfo &collectionClassInfo)=0
 Register a collection class. More...
 
virtual Bool UnregisterCollectionClass (const ICollection::ClassInfo &collectionClassInfo)=0
 Unregister a previously registered collection class. More...
 
virtual Bool RegisterPackageFactory (const IPackageFactory *packageFactory)=0
 Register a package factory. More...
 
virtual Bool UnregisterPackageFactory (const IPackageFactory *packageFactory)=0
 Unregister a previously registered package factory class. More...
 
virtual SInt32 GetRegisteredCollectionClassInfoIndex (const ICollection::ClassInfo &classInfo) const =0
 Query the index of a registered collection class, by its ClassInfo structure. More...
 
virtual SInt32 GetRegisteredCollectionClassInfoIndex (const String &className) const =0
 Query the index of a registered collection class, by its class name. More...
 
virtual UInt32 GetNumberOfRegisteredCollectionClassInfos () const =0
 Get the total number of registered collection classes. More...
 
virtual const ICollection::ClassInfo * GetRegisteredCollectionClassInfo (UInt32 index) const =0
 Get the ClassInfo structure of a registered collection class. More...
 
virtual UInt32 GetNumberOfRegisteredPackageFactories () const =0
 Get the total number of registered package factories. More...
 
virtual const IPackageFactoryGetRegisteredPackageFactory (UInt32 index) const =0
 Get the package factory at a given index. More...
 

Additional Inherited Members

- Public Types inherited from Murl::IFactoryObject< ICollectionFactory >
using ClassInfoArray = Array< const ClassInfo * >
 Definition of an array of ClassInfo objects.
 
- Static Public Member Functions inherited from Murl::IFactoryObject< ICollectionFactory >
static const PropertyInfoGetPropertyInfo ()
 Get the class' property info struct. More...
 
static const AttributeInfoGetAttributeInfo ()
 Get the class' attribute info struct. More...
 
static void ResetProperties (IFactoryObject< ICollectionFactory > *object)
 Reset an object instance's properties to their default values. More...
 

Detailed Description

The resource collection factory interface.

Use the Resource::ICollectionFactoryRegistry base interface for managing registered resource collection classes.

Member Function Documentation

◆ Init()

virtual Bool Murl::Resource::ICollectionFactory::Init ( )
pure virtual

Initialize the factory.

Returns
true if successful.

◆ DeInit()

virtual Bool Murl::Resource::ICollectionFactory::DeInit ( )
pure virtual

Deinitialize the factory.

Returns
true if successful.

◆ CreateDefaultCollection()

virtual ICollection* Murl::Resource::ICollectionFactory::CreateDefaultCollection ( ) const
pure virtual

Create a default resource collection.

Returns
The newly created collection, or null if failed.

◆ CreateCollection() [1/2]

virtual ICollection* Murl::Resource::ICollectionFactory::CreateCollection ( const String className) const
pure virtual

Create a resource collection via its class name.

Parameters
classNameThe class name of a registered collection used for creation.
Returns
The newly created collection, or null if failed.

◆ CreateCollection() [2/2]

virtual ICollection* Murl::Resource::ICollectionFactory::CreateCollection ( const ICollection::ClassInfo &  classInfo) const
pure virtual

Create a resource collection via its class info.

Parameters
classInfoThe ClassInfo structure of a registered collection used for creation.
Returns
The newly created collection, or null if failed.

◆ DestroyCollection()

virtual Bool Murl::Resource::ICollectionFactory::DestroyCollection ( ICollection *&  collection) const
pure virtual

Destroy a resource collection previously created by this factory.

Parameters
collectionA reference to a pointer holding the collection to destroy.
Returns
true if successful.

◆ GetResourceFactory()

virtual const IFactory* Murl::Resource::ICollectionFactory::GetResourceFactory ( ) const
pure virtual

Get the main resource factory.

Returns
A pointer to the main resource factory.

The documentation for this interface was generated from the following file:
  • murl_resource_i_collection_factory.h


Copyright © 2011-2024 Spraylight GmbH.