solarpowerlog trunk
/home/tobi/workspace/solarpowerlog/src/Inverters/factories/InverterFactoryFactory.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 (InverterFactoryFactory.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 
00033 #ifdef HAVE_CONFIG_H
00034 #include "config.h"
00035 #endif
00036 
00037 #include "InverterFactoryFactory.h"
00038 #include "IInverterFactory.h"
00039 
00040 #if defined HAVE_INV_SPUTNIK
00041 #include "Inverters/SputnikEngineering/CInverterFactorySputnik.h"
00042 #endif
00043 
00044 #if defined HAVE_INV_DUMMY
00045 #include "Inverters/DummyInverter/CInverterFactoryDummy.h"
00046 #endif
00047 
00048 InverterFactoryFactory::InverterFactoryFactory() {
00049      // TODO Auto-generated constructor stub
00050 
00051 }
00052 
00053 IInverterFactory *InverterFactoryFactory::createInverterFactory(const string& manufactor)
00054 {
00055 
00056 #if defined HAVE_INV_SPUTNIK
00057      if (manufactor == "SPUTNIK_ENGINEERING") {
00058           return new CInverterFactorySputnik;
00059      }
00060 #endif
00061 #if defined HAVE_INV_DUMMY
00062      if ( manufactor == "DUMMY_INVERTER") {
00063           return new CInverterFactoryDummy;
00064      }
00065 #endif
00066 
00067      return NULL;
00068 }
00069 
00070 InverterFactoryFactory::~InverterFactoryFactory() {
00071      // TODO Auto-generated destructor stub
00072 }