lbajardsilogic@79: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ lbajardsilogic@79: lbajardsilogic@79: /* Sound Access lbajardsilogic@79: EASAIER client application. lbajardsilogic@79: Silogic 2007. Laure Bajard. lbajardsilogic@79: lbajardsilogic@79: This program is free software; you can redistribute it and/or lbajardsilogic@79: modify it under the terms of the GNU General Public License as lbajardsilogic@79: published by the Free Software Foundation; either version 2 of the lbajardsilogic@79: License, or (at your option) any later version. See the file lbajardsilogic@79: COPYING included with this distribution for more information. lbajardsilogic@79: */ lbajardsilogic@79: lbajardsilogic@79: #include "RealTimeFilterFactory.h" lbajardsilogic@79: lbajardsilogic@223: #include "MultiRealTimeFilter.h" lbajardsilogic@79: lbajardsilogic@79: #include lbajardsilogic@79: lbajardsilogic@79: RealTimeFilterFactory * RealTimeFilterFactory::m_instance = new RealTimeFilterFactory; lbajardsilogic@79: lbajardsilogic@79: RealTimeFilterFactory * RealTimeFilterFactory::getInstance() lbajardsilogic@79: { lbajardsilogic@79: return m_instance; lbajardsilogic@79: } lbajardsilogic@79: lbajardsilogic@79: RealTimeFilterFactory::RealTimeFilterFactory() lbajardsilogic@79: {} lbajardsilogic@79: lbajardsilogic@79: RealTimeFilterFactory::~RealTimeFilterFactory() lbajardsilogic@79: {} lbajardsilogic@79: lbajardsilogic@79: RealTimeFilterFactory::FilterTypeSet RealTimeFilterFactory::getFilterTypes() lbajardsilogic@79: { lbajardsilogic@79: FilterTypeSet types; lbajardsilogic@79: lbajardsilogic@223: types.insert(MultiRealTimeFilterType); lbajardsilogic@79: lbajardsilogic@79: return types; lbajardsilogic@79: } lbajardsilogic@79: lbajardsilogic@79: QString RealTimeFilterFactory::getFilterLabel(FilterType type) lbajardsilogic@79: { lbajardsilogic@79: switch (type) { lbajardsilogic@223: case MultiRealTimeFilterType: return "DIT Filters"; lbajardsilogic@79: default: return "unknown"; lbajardsilogic@79: } lbajardsilogic@79: } lbajardsilogic@79: lbajardsilogic@79: RealTimeFilterFactory::FilterType RealTimeFilterFactory::getFilterType(QString strType) lbajardsilogic@79: { lbajardsilogic@223: if (strType == "DIT Filters") { lbajardsilogic@223: return MultiRealTimeFilterType; lbajardsilogic@79: } lbajardsilogic@79: else lbajardsilogic@79: { lbajardsilogic@79: return UnknownFilter; lbajardsilogic@79: } lbajardsilogic@79: } lbajardsilogic@79: lbajardsilogic@79: Filter * RealTimeFilterFactory::createFilter(FilterType type) lbajardsilogic@79: { lbajardsilogic@79: Filter *filter = 0; lbajardsilogic@79: lbajardsilogic@79: switch (type) { lbajardsilogic@79: lbajardsilogic@223: case MultiRealTimeFilterType: lbajardsilogic@181: { lbajardsilogic@223: filter = new MultiRealTimeFilter(); lbajardsilogic@181: break; lbajardsilogic@181: } lbajardsilogic@79: default: break; lbajardsilogic@79: } lbajardsilogic@79: lbajardsilogic@79: if (!filter) { lbajardsilogic@79: std::cerr << "RealTimeFilterFactory::createFilter: Unknown filter type " << type << std::endl; lbajardsilogic@79: } else { lbajardsilogic@79: filter->setObjectName(getFilterLabel(type)); lbajardsilogic@79: } lbajardsilogic@79: lbajardsilogic@79: return filter; lbajardsilogic@79: }