![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999-2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: ifContFactory.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 // 00010 // File: ifContFactory.h 00011 // 00012 // Class: DtInterfaceContentFactory 00013 // 00014 00015 #ifndef DtInterfaceContentFactory_H_ 00016 #define DtInterfaceContentFactory_H_ 00017 00018 #include <vlutil/vlHashlist.h> 00019 #include <map> 00020 00021 class DtInterfaceContentFactoryEntry; 00022 class DtReaderWriterRegistry; 00023 class DtSimInterfaceContent; 00024 00025 typedef DtSimInterfaceContent* (*DtInterfaceContentCreatorFcn)(); 00026 00027 // 00028 // class DtInterfaceContentFactory: 00029 // 00030 // DtInterfaceContentFactory is a hashlist of DtInterfaceContentFactoryEntry, 00031 // indexed by the integer type that represents the type of interface content 00032 // to create. 00033 // 00034 00035 #include <vrfExtProtocol/vrfExtProtocolDefines.h> 00036 class DT_DLL_vrfExtProtocol DtInterfaceContentFactory 00037 { 00038 public: 00039 // constructor 00040 DtInterfaceContentFactory(); 00041 00042 // copy constructor 00043 DtInterfaceContentFactory(const DtInterfaceContentFactory& orig); 00044 00045 // assignment operator 00046 const DtInterfaceContentFactory& operator=( 00047 const DtInterfaceContentFactory& orig); 00048 00049 // Destructor: deletes factory and any entries on the factory. 00050 virtual ~DtInterfaceContentFactory(); 00051 00052 // Add a creator function to the factory. 00053 virtual void addCreatorFcn(const int type, 00054 DtInterfaceContentCreatorFcn fcn); 00055 00056 virtual DtSimInterfaceContent* createInterfaceContent(const int type); 00057 00058 static DtInterfaceContentFactory* create(); 00059 00060 public: 00065 virtual void addDefaultMessageFilters(); 00066 00067 public: 00070 virtual void addMessageWarningFilter(int); 00071 00073 virtual void removeMessageWarningFilter(int); 00074 00075 protected: 00079 virtual void generateWarningFor(int type);; 00080 00081 protected: 00082 00083 DtHashlist myHashlist; 00084 std::map<int, bool> myMessageWarningFilters; 00085 00086 }; 00087 00088 #endif 00089 00090