Mercurial > hg > easaier-soundaccess
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 } |