solarpowerlog trunk
/home/tobi/workspace/solarpowerlog/src/DataFilters/interfaces/IDataFilter.cpp
Go to the documentation of this file.
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