summaryrefslogtreecommitdiff
path: root/libopie2
Unidiff
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/obackendfactory.h30
-rw-r--r--libopie2/opiepim/core/opimaccessfactory.h18
2 files changed, 38 insertions, 10 deletions
diff --git a/libopie2/opiepim/backend/obackendfactory.h b/libopie2/opiepim/backend/obackendfactory.h
index d8caa80..993ecb4 100644
--- a/libopie2/opiepim/backend/obackendfactory.h
+++ b/libopie2/opiepim/backend/obackendfactory.h
@@ -82,56 +82,66 @@ class OBackendFactory
82 * @param type the type of the backend 82 * @param type the type of the backend
83 * @param database the type of the used database 83 * @param database the type of the used database
84 * @param appName The name of your application. It will be passed on to the backend. 84 * @param appName The name of your application. It will be passed on to the backend.
85 */ 85 */
86 static T* create( OPimGlobal::PimType type, OPimGlobal::DatabaseStyle database, 86 static T* create( OPimGlobal::PimType type, OPimGlobal::DatabaseStyle database,
87 const QString& appName ){ 87 const QString& appName ){
88 qWarning("Selected backend for %d is: %d", type, database ); 88 qWarning("Selected backend for %d is: %d", type, database );
89 // If we should use the dafult database style, we have to request it
90 OPimGlobal::DatabaseStyle used_database = database;
91 if ( database == OPimGlobal::DEFAULT ){
92 used_database = defaultDB( type );
93 }
94
89 95
90 switch ( type ){ 96 switch ( type ){
91 case OPimGlobal::TODOLIST: 97 case OPimGlobal::TODOLIST:
92#ifdef __USE_SQL 98#ifdef __USE_SQL
93 if ( database == OPimGlobal::SQL ) 99 if ( used_database == OPimGlobal::SQL )
94 return (T*) new OPimTodoAccessBackendSQL(""); 100 return (T*) new OPimTodoAccessBackendSQL("");
95#else 101#else
96 if ( database == OPimGlobal::SQL ) 102 if ( used_database == OPimGlobal::SQL )
97 qWarning ("OBackendFactory:: sql Backend for TODO not implemented! Using XML instead!"); 103 qWarning ("OBackendFactory:: sql Backend for TODO not implemented! Using XML instead!");
98#endif 104#endif
99 105
100 return (T*) new OPimTodoAccessXML( appName ); 106 return (T*) new OPimTodoAccessXML( appName );
101 case OPimGlobal::CONTACTLIST: 107 case OPimGlobal::CONTACTLIST:
102#ifdef __USE_SQL 108#ifdef __USE_SQL
103 if ( database == OPimGlobal::SQL ) 109 if ( used_database == OPimGlobal::SQL )
104 return (T*) new OPimContactAccessBackend_SQL(""); 110 return (T*) new OPimContactAccessBackend_SQL("");
105#else 111#else
106 if ( database == OPimGlobal::SQL ) 112 if ( used_database == OPimGlobal::SQL )
107 qWarning ("OBackendFactory:: sql Backend for CONTACT not implemented! Using XML instead!"); 113 qWarning ("OBackendFactory:: sql Backend for CONTACT not implemented! Using XML instead!");
108#endif 114#endif
109 115
110 return (T*) new OPimContactAccessBackend_XML( appName ); 116 return (T*) new OPimContactAccessBackend_XML( appName );
111 case OPimGlobal::DATEBOOK: 117 case OPimGlobal::DATEBOOK:
112#ifdef __USE_SQL 118#ifdef __USE_SQL
113 if ( database == OPimGlobal::SQL ) 119 if ( used_database == OPimGlobal::SQL )
114 return (T*) new ODateBookAccessBackend_SQL(""); 120 return (T*) new ODateBookAccessBackend_SQL("");
115#else 121#else
116 if ( database == OPimGlobal::SQL ) 122 if ( used_database == OPimGlobal::SQL )
117 qWarning("OBackendFactory:: sql Backend for DATEBOOK not implemented! Using XML instead!"); 123 qWarning("OBackendFactory:: sql Backend for DATEBOOK not implemented! Using XML instead!");
118#endif 124#endif
119 125
120 return (T*) new ODateBookAccessBackend_XML( appName ); 126 return (T*) new ODateBookAccessBackend_XML( appName );
121 default: 127 default:
122 return (T*) NULL; 128 return (T*) NULL;
123 } 129 }
124 130
125 131
126 } 132 }
127 133
128 134 /**
129 static OPimGlobal::DatabaseStyle defaultDB( OPimGlobal::PimType backend ){ 135 * Returns the style of the default database which is used to contact PIM data.
136 * @param type the type of the backend
137 * @see OPimGlobal
138 */
139 static OPimGlobal::DatabaseStyle defaultDB( OPimGlobal::PimType type ){
130 QString group_name; 140 QString group_name;
131 switch ( backend ){ 141 switch ( type ){
132 case OPimGlobal::TODOLIST: 142 case OPimGlobal::TODOLIST:
133 group_name = "todo"; 143 group_name = "todo";
134 break; 144 break;
135 case OPimGlobal::CONTACTLIST: 145 case OPimGlobal::CONTACTLIST:
136 group_name = "contact"; 146 group_name = "contact";
137 break; 147 break;
diff --git a/libopie2/opiepim/core/opimaccessfactory.h b/libopie2/opiepim/core/opimaccessfactory.h
index ba99a15..eecfa96 100644
--- a/libopie2/opiepim/core/opimaccessfactory.h
+++ b/libopie2/opiepim/core/opimaccessfactory.h
@@ -89,12 +89,30 @@ class OPimAccessFactory
89 return dynamic_cast<T*>( new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) ) ); 89 return dynamic_cast<T*>( new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) ) );
90 default: 90 default:
91 return 0l; 91 return 0l;
92 92
93 } 93 }
94 } 94 }
95
96
97 /**
98 * Returns the selected PIM access-object, using the default database style
99 * Which style is selected is defined in the configfile "pimaccess.conf" in
100 * the directory "Settings"
101 * @param type Type of the selected database (addressbook, todolist or datebook)
102 * @param appName "Name" of your application. This should be any constant string which is used
103 * by some backends for creating special files (i.e.journal files). Please keep the
104 * string unique for your application !
105 * @see OPimGlobal
106 *
107 */
108 static T* default( OPimGlobal::PimType type, const QString& appName ){
109
110 return create( type, OPimGlobal::DEFAULT, appName )
111
112 }
95}; 113};
96 114
97} 115}
98 116
99 117
100#endif 118#endif