00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "dataproviderfactory.h"
00025
00026 #if defined (MYSQL_SUPPORT)
00027 #include "mysqldataprovider.h"
00028 #elif defined (POSTGRESQL_SUPPORT)
00029 #include "pqdataprovider.h"
00030 #elif defined (SQLITE_SUPPORT)
00031 #include "sqlitedataprovider.h"
00032 #else
00033 #error "no database backend defined"
00034 #endif
00035
00036 namespace dal
00037 {
00038
00039
00043 DataProviderFactory::DataProviderFactory(void)
00044 throw()
00045 {
00046
00047 }
00048
00049
00053 DataProviderFactory::~DataProviderFactory(void)
00054 throw()
00055 {
00056
00057 }
00058
00059
00063 DataProvider*
00064 DataProviderFactory::createDataProvider(void)
00065 {
00066 #if defined (MYSQL_SUPPORT)
00067 MySqlDataProvider* provider = new MySqlDataProvider;
00068 return provider;
00069 #elif defined (POSTGRESQL_SUPPORT)
00070 PqDataProvider *provider = new PqDataProvider;
00071 return provider;
00072 #else // SQLITE_SUPPORT
00073 SqLiteDataProvider* provider = new SqLiteDataProvider;
00074 return provider;
00075 #endif
00076 }
00077
00078
00079 }