00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _hypstd_factorydata_h_
00029 #define _hypstd_factorydata_h_
00030
00031
00032 #ifndef hyp_KERNEL_STD_INSIDE
00033 #error Inclusion not allowed (include hyp.kernel.std.h instead)
00034 #endif
00035
00041 class CFactoryData
00042 {
00043 public:
00047 typedef com_result (*PTR_CREATEINSTANCE)(IUnknown*,CUnknown**);
00048
00049
00050 CFactoryData(const hypCLSID* pCLSID,
00051 PTR_CREATEINSTANCE CreateInstance,
00052 const std::string& ComponentName) :
00053 m_pCLSID(pCLSID),
00054 CreateInstance(CreateInstance),
00055 m_ComponentName(ComponentName) {
00056 }
00057
00058 CFactoryData(const CFactoryData& aFactoryData)
00059 {
00060 m_pCLSID=aFactoryData.m_pCLSID;
00061 CreateInstance=aFactoryData.CreateInstance;
00062 m_ComponentName=aFactoryData.m_ComponentName;
00063 }
00064
00065 ~CFactoryData() { }
00066
00070 bool IsClassID(const hypCLSID& clsid) const
00071 { return clsid==(*m_pCLSID); }
00072
00074 const hypCLSID* m_pCLSID;
00075
00077 PTR_CREATEINSTANCE CreateInstance;
00078
00080 std::string m_ComponentName;
00081 };
00082
00083
00084 #endif