|
solarpowerlog trunk
|
00001 /* ---------------------------------------------------------------------------- 00002 solarpowerlog 00003 Copyright (C) 2009 Tobias Frost 00004 00005 This file is part of solarpowerlog. 00006 00007 Solarpowerlog is free software; However, it is dual-licenced 00008 as described in the file "COPYING". 00009 00010 For this file (IDataFilter.cpp), the license terms are: 00011 00012 You can redistribute it and/or modify it under the terms of the GNU 00013 General Public License as published by the Free Software Foundation; either 00014 version 3 of the License, or (at your option) any later version. 00015 00016 This program is distributed in the hope that it will be useful, but 00017 WITHOUT ANY WARRANTY; without even the implied warranty of 00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 Lesser General Public License for more details. 00020 00021 You should have received a copy of the GNU Library General Public 00022 License along with this proramm; if not, see 00023 <http://www.gnu.org/licenses/>. 00024 ---------------------------------------------------------------------------- 00025 */ 00026 00032 #ifdef HAVE_CONFIG_H 00033 #include "config.h" 00034 #endif 00035 00036 #include "DataFilters/interfaces/IDataFilter.h" 00037 #include "Inverters/interfaces/CNestedCapaIterator.h" 00038 00039 IDataFilter::~IDataFilter() 00040 { 00041 // TODO Auto-generated destructor stub 00042 } 00043 00044 ICapaIterator *IDataFilter::GetCapaNewIterator() 00045 { 00046 return new CNestedCapaIterator(this, base); 00047 } 00048 00049 CCapability *IDataFilter::GetConcreteCapability( const string & identifier ) 00050 { 00051 CCapability *c; 00052 if ((c = IInverterBase::GetConcreteCapability(identifier))) { 00053 // TODO cleanup debug code 00054 // cout << "DEBUG: found " << identifier << " in " << GetName() 00055 // << endl; 00056 return c; 00057 } else { 00058 // TODO cleanup debug code 00059 //cout << "DEBUG: searching " << identifier << " in base class " 00060 // << base->GetName() << endl; 00061 return base->GetConcreteCapability(identifier); 00062 } 00063 } 00064