ADTF
class_factory_intf.h
Go to the documentation of this file.
1 
8 #ifndef _ADTF_UCOM_ANT_CLASS_FACTORY_INTERFACE_INCLUDES_HEADER_
9 #define _ADTF_UCOM_ANT_CLASS_FACTORY_INTERFACE_INCLUDES_HEADER_
10 
11 namespace adtf
12 {
13 namespace ucom
14 {
15 namespace ant
16 {
17 
23 class DOEXPORT IClassFactory : public IObject
24 {
25 public:
30  ADTF_IID(IClassFactory, "class_factory.ant.ucom.adtf.iid");
31 
32 public:
47  virtual tResult CreateInstance(const char* strCID,
48  iobject_ptr<IObject>& oObject,
49  const tChar* strNameOfObject = "") const = 0;
50 
60  virtual tResult GetClasses(iobject_enum<const IClassInfo>& lstOfClasses) const = 0;
61 
62 protected:
64  ~IClassFactory() = default;
65 };
66 
67 }//namespace ant
68 
71 
72 }//namespace ucom
73 }//namespace adtf
74 
75 #endif //_ADTF_UCOM_ANT_CLASS_FACTORY_INTERFACE_INCLUDES_HEADER_
char tChar
The tChar defines the type for platform character set (platform and compiler dependent type).
The IClassFactory interface provides methods for creating new class instances.
~IClassFactory()=default
Protected destructor --> Use implemented Destroy() instead of delete!
virtual tResult GetClasses(iobject_enum< const IClassInfo > &lstOfClasses) const =0
Enumerates all classes supported by the class factory and pushes it to lstOfClasses This method shoul...
virtual tResult CreateInstance(const char *strCID, iobject_ptr< IObject > &oObject, const tChar *strNameOfObject="") const =0
Creates a new instance.
ADTF_IID(IClassFactory, "class_factory.ant.ucom.adtf.iid")
Marks the IClassFactory to be castable with the ucom_cast<>
Base class for every interface type within the uCOM.
Definition: object_intf.h:31
Interface definition for a container of objects.
Definition: object_list.h:22
Base object pointer to realize binary compatible reference counting in interface methods.
ant::IClassFactory IClassFactory
Alias always bringing the latest version of ant::IClassFactory into scope.
Namespace for entire ADTF SDK.