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: 00017 ResultSet(Connection *conn) : conn_(conn) { } 00018 virtual ~ResultSet(); 00019 00020 virtual bool next() throw(SQLException)= 0; 00021 00022 virtual void get(int i, SQLObject *obj) const throw(SQLException) = 0; 00023 virtual ResultSetMetaData *get_meta_data() = 0; 00024 00025 const Connection *get_connection() const { return(conn_); } 00026 Connection *get_connection() { return(conn_); } 00027 00028 // Signals 00029 SigC::Signal0<void> destroy; 00030 private: 00031 Connection *conn_; 00032 }; 00033 00034 } 00035 00036 00037 #endif