author | zecke <zecke> | 2004-05-20 19:05:32 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-05-20 19:05:32 (UTC) |
commit | bd50c1a78affd8a6ce6b9e6d811831c0e3325303 (patch) (side-by-side diff) | |
tree | 3348c2715d8db822003f887fef31683c96f59f12 /libopie2 | |
parent | f2ced3e20749f7f2f523ead85f45a38391e6fca0 (diff) | |
download | opie-bd50c1a78affd8a6ce6b9e6d811831c0e3325303.zip opie-bd50c1a78affd8a6ce6b9e6d811831c0e3325303.tar.gz opie-bd50c1a78affd8a6ce6b9e6d811831c0e3325303.tar.bz2 |
add a 'default' backend for readEntry or you could/will crash
because QString::null is not in the dictionary of available backends.
I'm conversative so it is 'xml'
Eilers/BradC change it on your will
-rw-r--r-- | libopie2/opiepim/backend/obackendfactory.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libopie2/opiepim/backend/obackendfactory.h b/libopie2/opiepim/backend/obackendfactory.h index 4daf861..4bedbef 100644 --- a/libopie2/opiepim/backend/obackendfactory.h +++ b/libopie2/opiepim/backend/obackendfactory.h @@ -74,33 +74,33 @@ class OBackendPrivate; template<class T> class OBackendFactory { public: OBackendFactory() {}; /** * Returns a selected backend implementation * @param type the type of the backend * @param database the type of the used database * @param appName The name of your application. It will be passed on to the backend. */ - static T* create( OPimGlobal::PimType type, OPimGlobal::DatabaseStyle database, + static T* create( OPimGlobal::PimType type, OPimGlobal::DatabaseStyle database, const QString& appName ){ qWarning("Selected backend for %d is: %d", type, database ); // If we should use the dafult database style, we have to request it OPimGlobal::DatabaseStyle used_database = database; if ( database == OPimGlobal::DEFAULT ){ used_database = defaultDB( type ); } - + switch ( type ){ case OPimGlobal::TODOLIST: #ifdef __USE_SQL if ( used_database == OPimGlobal::SQL ) return (T*) new OPimTodoAccessBackendSQL(""); #else if ( used_database == OPimGlobal::SQL ) qWarning ("OBackendFactory:: sql Backend for TODO not implemented! Using XML instead!"); #endif return (T*) new OPimTodoAccessXML( appName ); @@ -145,26 +145,26 @@ class OBackendFactory case OPimGlobal::CONTACTLIST: group_name = "contact"; break; case OPimGlobal::DATEBOOK: group_name = "datebook"; break; default: group_name = "unknown"; } Config config( "pimaccess" ); config.setGroup ( group_name ); - QString db_String = config.readEntry( "usebackend" ); - + QString db_String = config.readEntry( "usebackend", "xml" ); + QAsciiDict<int> dictDbTypes( OPimGlobal::_END_DatabaseStyle ); dictDbTypes.setAutoDelete( TRUE ); dictDbTypes.insert( "xml", new int (OPimGlobal::XML) ); dictDbTypes.insert( "sql", new int (OPimGlobal::SQL) ); dictDbTypes.insert( "vcard", new int (OPimGlobal::VCARD) ); int* db_find = dictDbTypes[ db_String ]; if ( !db_find ) return OPimGlobal::UNKNOWN; @@ -183,26 +183,26 @@ class OBackendFactory QAsciiDict<int> dictBackends( OPimGlobal::_END_PimType ); dictBackends.setAutoDelete ( TRUE ); dictBackends.insert( "todo", new int (OPimGlobal::TODOLIST) ); dictBackends.insert( "contact", new int (OPimGlobal::CONTACTLIST) ); dictBackends.insert( "datebook", new int(OPimGlobal::DATEBOOK) ); int* backend_find = dictBackends[ backendName ]; if ( !backend_find ) return NULL; OPimGlobal::DatabaseStyle style = defaultDB( static_cast<OPimGlobal::PimType>( *backend_find ) ); - qDebug( "OBackendFactory::Default -> Backend is %s, Database is %d", backendName.latin1(), + qDebug( "OBackendFactory::Default -> Backend is %s, Database is %d", backendName.latin1(), style ); - + return create( (OPimGlobal::PimType) *backend_find, style, appName ); } private: OBackendPrivate* d; - + }; } #endif |