//ObjectFactory.h
#pragma once
class PluginManager;
class PluginRegistry;
class PluginLifecycleHandler;
class ObjectFactory
{
protected:
ObjectFactory(void);
public:
virtual ~ObjectFactory(void);
virtual PluginManager* createPluginManager() = 0;
virtual PluginRegistry* createPluginRegistry()=0;
virtual PluginLifecycleHandler* createPluginLifecycleHandler()=0;
public:
static ObjectFactory* getInstance();
};
// ObjectFactory.cpp
#i nclude "StdAfx.h"
#i nclude "PluginManager.h"
#i nclude "PluginRegistry.h"
#i nclude "PluginLifecycleHandler.h"
#i nclude "ObjectFactory.h"
#i nclude "Win32ObjectFactory.h"
ObjectFactory::ObjectFactory(void)
{
}
ObjectFactory::~ObjectFactory(void)
{
}
ObjectFactory* ObjectFactory::getInstance()
{
static ObjectFactory* instance = NULL;
if ( instance == NULL )
{
instance = new Win32ObjectFactory();
}
return instance;
} |