00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_MYSQLDATABASE
00012 #define HK_MYSQLDATABASE
00013 #include "hk_database.h"
00014 #include "hk_mysqldatasource.h"
00015
00016 class hk_mysqlconnection;
00017 class hk_presentation;
00018
00019 class hk_mysqldatabase:public hk_database
00020 {
00021 friend class hk_mysqlconnection;
00022
00023 public:
00024 hk_mysqlconnection* connection(void);
00025 ~hk_mysqldatabase();
00026
00027 protected:
00028 hk_mysqldatabase(hk_mysqlconnection*c);
00029 void driver_specific_tablelist(void);
00030 hk_datasource* driver_specific_new_table(hk_presentation* p);
00031 hk_datasource* driver_specific_new_resultquery(hk_presentation* p);
00032 hk_actionquery* driver_specific_new_actionquery(void);
00033 virtual bool driver_specific_rename_table(const hk_string& oldname,const hk_string& newname);
00034 bool driver_specific_select_db(void);
00035 void driver_specific_viewlist(void);
00036 virtual hk_datasource* driver_specific_new_view(hk_presentation* p);
00037
00038 private:
00039 hk_mysqlconnection* p_mysqlconnection;
00040 list<hk_mysqldatasource*> p_dsourcelist;
00041 } ;
00042 #endif