ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
class_factory_intf.h
Go to the documentation of this file.
1
7
8#ifndef _ADTF_UCOM_ANT_CLASS_FACTORY_INTERFACE_INCLUDES_HEADER_
9#define _ADTF_UCOM_ANT_CLASS_FACTORY_INTERFACE_INCLUDES_HEADER_
10
11namespace adtf
12{
13namespace ucom
14{
15namespace ant
16{
17
23class DOEXPORT IClassFactory : public IObject
24{
25public:
30 ADTF_IID(IClassFactory, "class_factory.ant.ucom.adtf.iid");
31
32public:
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
62protected:
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).
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
The IClassFactory interface provides methods for creating new class instances.
~IClassFactory()=default
Protected destructor --> Only the final implementation can be destroyed!
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:33
Interface definition for a container of objects.
Definition object_list.h:22
Base object pointer to realize binary compatible reference counting in interface methods.
Namespace for all functionality provided since v3.0.
Namespace for the ADTF uCOM3 SDK.
ant::IClassFactory IClassFactory
Alias always bringing the latest version of IClassFactory into scope.
Namespace for entire ADTF SDK.