Main | License | Installation | FAQ | Screenshots | Contact | Links | Sf.net | Freshmeat.net | KDE-Apps.org
Requirements | Design | Modules | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

database.hpp

Go to the documentation of this file.
00001 /* Copyright (C) 2002, 2003, 2004 Jan Wedekind.
00002    This file is part of the recipe database application AnyMeal.
00003 
00004    AnyMeal is free software; you can redistribute it and/or modify it under
00005    the terms of the GNU GENERAL PUBLIC LICENSE as published by the Free
00006    Software Foundation; either version 3 of the License, or (at your option)
00007    any later version.
00008 
00009    AnyMeal is distributed in the hope that it will be useful, but WITHOUT ANY
00010    WARRANTY; without even the implied warranty of MERCHANTIBILITY or FITNESS
00011    FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
00012    details.
00013 
00014    You should have received a copy of the GNU General Public License
00015    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
00016 #ifndef __DATABASE_HPP
00017 #define __DATABASE_HPP
00018 
00019 #include "include.hpp"
00020 #include <boost/smart_ptr.hpp>
00021 #include "error.hpp"
00022 #include "server.hpp"
00023 #include "statement.hpp"
00024 
00030 class Database: public Object
00031 {
00032 public:
00036   Database( ServerPtr _server ): server( _server ) {}
00040   virtual StatementPtr execQuery( const std::string &query )
00041     throw (Error) = 0;
00043   void execScript( const std::string &script ) throw (Error);
00045   void execScript( std::istream &stream ) throw (Error);
00047   ServerPtr getServer(void) const { return server; }
00048 protected:
00050   ServerPtr server;
00051 };
00052 
00054 typedef boost::shared_ptr< Database > DatabasePtr;
00055 
00057 
00058 #endif


anymeal 0.30 - recipe management software - Make the most of your food! - © Jan Wedekind Sun Sep 14 16:01:26 2008 - GNU Free Documentation License