ParserElementFactory.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 #ifndef PARSERELEMENTFACTORY_H_
00003 #define PARSERELEMENTFACTORY_H_
00004 
00005 #include <string>
00006 #include <boost/shared_ptr.hpp>
00007 
00008 namespace fesa
00009 {
00010 
00011 class EventElement;
00012 class ClassElement;
00013 class DeviceElement2;
00014 class DeviceLogicalEventElement;
00015 class EventConfigurationElement;
00016 class LogicalEventElement;
00017 class AbstractDeviceClass;
00018 
00019 class ParserElementFactory
00020 {
00021         public:
00022                 ParserElementFactory();
00023                 virtual ~ParserElementFactory();
00024 
00025                 virtual boost::shared_ptr<EventElement> createEventElement(boost::shared_ptr<EventConfigurationElement> parent,const std::string& sourceType) const;
00026 
00027                 virtual boost::shared_ptr<ClassElement> createClassElement(AbstractDeviceClass* classRef) const;
00028 
00029                 virtual boost::shared_ptr<DeviceElement2> createDeviceElement2(boost::shared_ptr<ClassElement> parent,bool isGlobalDevice) const;
00030 
00031                 virtual boost::shared_ptr<DeviceLogicalEventElement> createDeviceLogicalEventElement() const;
00032 
00033                 virtual boost::shared_ptr<EventConfigurationElement> createEventConfigurationElement(boost::shared_ptr<LogicalEventElement> parent) const;
00034 
00035                 virtual boost::shared_ptr<LogicalEventElement> createLogicalEventElement(boost::shared_ptr<ClassElement> parent) const;
00036 };
00037 
00038 } //end namespace
00039 
00040 #endif /* PARSERELEMENTFACTORY_H_ */

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1