ParserElementFactory.h
Go to the documentation of this file.00001
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 }
00039
00040 #endif