SQLFetcher.hh

00001 //********************************************************************
00002 //*** ResourcePool/SQL/SQLFetcher.hh
00003 //*** Copyright (c) 2003-2009 by Markus Winand <mws@fatalmind.com>
00004 //*** $Id: SQLFetcher.hh,v 1.6 2009-03-15 16:08:09 mws Exp $
00005 //********************************************************************
00006 /*
00007 This file is part of ResourcePool.
00008 
00009 ResourcePool is free software; you can redistribute it
00010 and/or modify it under the terms of the GNU General Public License
00011 as published by the Free Software Foundation; either version 2 of 
00012 the License, or (at your option) any later version.
00013 
00014 ResourcePool is distributed in the hope that it will be
00015 useful, but WITHOUT ANY WARRANTY; without even the implied warranty
00016 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 GNU General Public License for more details.
00018 
00019 You should have received a copy of the GNU General Public License
00020 along with ResourcePool; if not, write to the Free Software
00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00022 02111-1307  USA */
00023 
00024 #ifndef RESOURCEPOOL_SQL_SQLFETCHER_HH
00025 #define RESOURCEPOOL_SQL_SQLFETCHER_HH
00026 
00027 
00028 namespace fatalmind {
00029 namespace SQL {
00030 
00062 class SQLFetcher {
00063     public:
00064         virtual ~SQLFetcher() {
00065         }
00066 
00081         virtual bool process(int row) = 0;
00082 
00095         virtual void done(bool more, int fetched) {
00096             // The default implementation does nothing
00097         }
00098 };
00099 
00100 class NopSQLFetcher: public SQL::SQLFetcher {
00101     public:
00102         NopSQLFetcher() {
00103         };
00104         virtual ~NopSQLFetcher() {
00105         }
00106         virtual bool process(int row) {
00107             return true;
00108         };
00109 };
00110 
00111 extern NopSQLFetcher NopFetcher;
00112 
00113 } //namespace SQL
00114 } //namespace fatalmind
00115 
00116 #endif

Generated on Mon Nov 9 16:21:24 2009 for ResourcePool by  doxygen 1.5.3