00001 /* This is for emacs: -*-Mode: C++;-*- */ 00002 #if !defined(__INC_RESULTSET_H) 00003 #define __INC_RESULTSET_H 00004 00005 #include "gql++/warnable.h" 00006 #include "gql++/object.h" 00007 00008 namespace GQL 00009 { 00010 00011 class Connection; 00012 class ResultSetMetaData; 00013 00014 class ResultSet : public Warnable 00015 { 00016 public: 00019 ResultSet(Connection *conn) : conn_(conn) { } 00021 virtual ~ResultSet(); 00022 00023 virtual bool next() throw(SQLException) = 0; 00024 00029 virtual SQLObject *get(int col, SQLObject *obj) 00030 const throw(SQLException) = 0; 00031 00032 virtual const ResultSetMetaData *get_meta_data() const = 0; 00033 00034 const Connection *get_connection() const { return(conn_); } 00035 Connection *get_connection() { return(conn_); } 00036 private: 00037 Connection *conn_; 00038 }; 00039 00040 } 00041 00042 00043 #endif