annotate sv/filter/RealTimeFilterFactory.cpp @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents c413e82a4812
children
rev   line source
lbajardsilogic@79 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
lbajardsilogic@79 2
lbajardsilogic@79 3 /* Sound Access
lbajardsilogic@79 4 EASAIER client application.
lbajardsilogic@79 5 Silogic 2007. Laure Bajard.
lbajardsilogic@79 6
lbajardsilogic@79 7 This program is free software; you can redistribute it and/or
lbajardsilogic@79 8 modify it under the terms of the GNU General Public License as
lbajardsilogic@79 9 published by the Free Software Foundation; either version 2 of the
lbajardsilogic@79 10 License, or (at your option) any later version. See the file
lbajardsilogic@79 11 COPYING included with this distribution for more information.
lbajardsilogic@79 12 */
lbajardsilogic@79 13
lbajardsilogic@79 14 #include "RealTimeFilterFactory.h"
lbajardsilogic@79 15
lbajardsilogic@223 16 #include "MultiRealTimeFilter.h"
lbajardsilogic@79 17
lbajardsilogic@79 18 #include <iostream>
lbajardsilogic@79 19
lbajardsilogic@79 20 RealTimeFilterFactory * RealTimeFilterFactory::m_instance = new RealTimeFilterFactory;
lbajardsilogic@79 21
lbajardsilogic@79 22 RealTimeFilterFactory * RealTimeFilterFactory::getInstance()
lbajardsilogic@79 23 {
lbajardsilogic@79 24 return m_instance;
lbajardsilogic@79 25 }
lbajardsilogic@79 26
lbajardsilogic@79 27 RealTimeFilterFactory::RealTimeFilterFactory()
lbajardsilogic@79 28 {}
lbajardsilogic@79 29
lbajardsilogic@79 30 RealTimeFilterFactory::~RealTimeFilterFactory()
lbajardsilogic@79 31 {}
lbajardsilogic@79 32
lbajardsilogic@79 33 RealTimeFilterFactory::FilterTypeSet RealTimeFilterFactory::getFilterTypes()
lbajardsilogic@79 34 {
lbajardsilogic@79 35 FilterTypeSet types;
lbajardsilogic@79 36
lbajardsilogic@223 37 types.insert(MultiRealTimeFilterType);
lbajardsilogic@79 38
lbajardsilogic@79 39 return types;
lbajardsilogic@79 40 }
lbajardsilogic@79 41
lbajardsilogic@79 42 QString RealTimeFilterFactory::getFilterLabel(FilterType type)
lbajardsilogic@79 43 {
lbajardsilogic@79 44 switch (type) {
lbajardsilogic@223 45 case MultiRealTimeFilterType: return "DIT Filters";
lbajardsilogic@79 46 default: return "unknown";
lbajardsilogic@79 47 }
lbajardsilogic@79 48 }
lbajardsilogic@79 49
lbajardsilogic@79 50 RealTimeFilterFactory::FilterType RealTimeFilterFactory::getFilterType(QString strType)
lbajardsilogic@79 51 {
lbajardsilogic@223 52 if (strType == "DIT Filters") {
lbajardsilogic@223 53 return MultiRealTimeFilterType;
lbajardsilogic@79 54 }
lbajardsilogic@79 55 else
lbajardsilogic@79 56 {
lbajardsilogic@79 57 return UnknownFilter;
lbajardsilogic@79 58 }
lbajardsilogic@79 59 }
lbajardsilogic@79 60
lbajardsilogic@79 61 Filter * RealTimeFilterFactory::createFilter(FilterType type)
lbajardsilogic@79 62 {
lbajardsilogic@79 63 Filter *filter = 0;
lbajardsilogic@79 64
lbajardsilogic@79 65 switch (type) {
lbajardsilogic@79 66
lbajardsilogic@223 67 case MultiRealTimeFilterType:
lbajardsilogic@181 68 {
lbajardsilogic@223 69 filter = new MultiRealTimeFilter();
lbajardsilogic@181 70 break;
lbajardsilogic@181 71 }
lbajardsilogic@79 72 default: break;
lbajardsilogic@79 73 }
lbajardsilogic@79 74
lbajardsilogic@79 75 if (!filter) {
lbajardsilogic@79 76 std::cerr << "RealTimeFilterFactory::createFilter: Unknown filter type " << type << std::endl;
lbajardsilogic@79 77 } else {
lbajardsilogic@79 78 filter->setObjectName(getFilterLabel(type));
lbajardsilogic@79 79 }
lbajardsilogic@79 80
lbajardsilogic@79 81 return filter;
lbajardsilogic@79 82 }