VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/compFactory.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: compFactory.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00017 
00018 #ifndef DtSimComponentFactory_H_
00019 #define DtSimComponentFactory_H_
00020 
00021 #include <vlutil/vlHashlist.h>
00022 
00023 class DtSimComponentFactoryEntry;
00024 class DtReaderWriterRegistry;
00025 class DtSimComponent;
00026 class DtSimManager;
00027 class DtComponentDescriptor;
00028 class DtVrfObject;
00029 
00030 typedef DtSimComponent* (*DtSimComponentCreatorFcn)(const DtString& name, 
00031    DtVrfObject* owner, DtSimManager* simManager, 
00032    DtComponentDescriptor* compDescriptor, DtReaderWriterRegistry* registry);
00033 
00040 #include "vrfobjcore/vrfobjcoreDefines.h"
00041 class DT_DLL_vrfobjcore DtSimComponentFactory : public DtHashlist
00042 {
00043 public:
00045    DtSimComponentFactory();
00046 
00048    DtSimComponentFactory(const DtSimComponentFactory& orig);
00049 
00051    const DtSimComponentFactory& operator=(const DtSimComponentFactory& orig);
00052 
00054    virtual ~DtSimComponentFactory();
00055 
00057    virtual void addCreatorFcn(const DtString& type, 
00058       DtSimComponentCreatorFcn fcn);
00059 
00060    virtual DtSimComponent* createComponent(
00061       const DtString& name, const DtString& type, DtVrfObject* owner,
00062       DtSimManager* simManager, DtComponentDescriptor* compDesc,
00063       DtReaderWriterRegistry* registry = 0);
00064 
00065    static DtSimComponentFactory* create();
00066 
00067 protected:
00068 
00069 };
00070 
00071 #endif
00072 
00073 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)