00001 #ifndef SCANWRITERFACTORY_H 00002 #define SCANWRITERFACTORY_H 00003 00004 //Need definitions of UNIT16 etc 00005 #include <CommonWithDsp/processor.h> 00006 #include <map> 00007 #include <utility> 00008 00009 namespace SctData { 00010 00011 class ScanResultWriter; 00012 class ScanDataWriter; 00013 00014 class ScanWriterFactory { 00015 public: 00016 static ScanWriterFactory& getFactory(); 00017 bool addWriterToMap(UINT16 dataType, ScanResultWriter& resultWriter, ScanDataWriter& dataWriter); 00018 static ScanDataWriter& getDataWriter(UINT16 dataType); 00019 static ScanResultWriter& getResultWriter(UINT16 dataType); 00020 00021 private: 00022 ScanWriterFactory(); 00023 std::map<UINT16, std::pair<ScanResultWriter*, ScanDataWriter*> > writerMap; 00024 }; 00025 00026 } 00027 00028 #endif //#ifndef SCANWRITERFACTORY_H