summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/core/opimaccessfactory.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/libopie2/opiepim/core/opimaccessfactory.h b/libopie2/opiepim/core/opimaccessfactory.h
index eecfa96..283b6ab 100644
--- a/libopie2/opiepim/core/opimaccessfactory.h
+++ b/libopie2/opiepim/core/opimaccessfactory.h
@@ -36,83 +36,82 @@
36#include <opie2/otodoaccess.h> 36#include <opie2/otodoaccess.h>
37#include <opie2/odatebookaccess.h> 37#include <opie2/odatebookaccess.h>
38 38
39using namespace Opie::Pim; 39using namespace Opie::Pim;
40 40
41namespace Opie { 41namespace Opie {
42 42
43 43
44/** 44/**
45 * This class is our factory for creating PIM access objects. You should use these objects to load, store and search 45 * This class is our factory for creating PIM access objects. You should use these objects to load, store and search
46 * information in our PIM databases. Currently we support objects for accessing the datebook, the contact- and the 46 * information in our PIM databases. Currently we support objects for accessing the datebook, the contact- and the
47 * todolist. 47 * todolist.
48 * @see OPimGlobal for more information of used values. 48 * @see OPimGlobal for more information of used values.
49 * 49 *
50 * This class - as the whole PIM Api - is making use of templates 50 * This class - as the whole PIM Api - is making use of templates
51 * 51 *
52 * Example for getting an access object for the XML database of todolist: 52 * Example for getting an access object for the XML database of todolist:
53 * <pre> 53 * <pre>
54 * OPimTodoAccess* access = OPimAccessFactory<OPimTodoAccess>::create( OPimGlobal::TODOLIST, OPimGlobal::XML, "example" ); 54 * OPimTodoAccess* access = OPimAccessFactory<OPimTodoAccess>::create( OPimGlobal::TODOLIST, OPimGlobal::XML, "example" );
55 * </pre> 55 * </pre>
56 * 56 *
57 * @author Stefan Eilers 57 * @author Stefan Eilers
58 * @version 0.1 58 * @version 0.1
59 */ 59 */
60 */
61 60
62template<class T> 61template<class T>
63class OPimAccessFactory 62class OPimAccessFactory
64{ 63{
65 public: 64 public:
66 65
67 // Maybe we should introduce a global class for storing such global enums 66 // Maybe we should introduce a global class for storing such global enums
68 // (something like opimglobal.h) ? (eilers) 67 // (something like opimglobal.h) ? (eilers)
69 68
70 OPimAccessFactory() {}; 69 OPimAccessFactory() {};
71 70
72 /** 71 /**
73 * Returns the selected PIM access-object. 72 * Returns the selected PIM access-object.
74 * @param type Type of the selected database (addressbook, todolist or datebook) 73 * @param type Type of the selected database (addressbook, todolist or datebook)
75 * @param dbStyle Which database style should be used (xml, sql, vcard) 74 * @param dbStyle Which database style should be used (xml, sql, vcard)
76 * @param appName "Name" of your application. This should be any constant string which is used 75 * @param appName "Name" of your application. This should be any constant string which is used
77 * by some backends for creating special files (i.e.journal files). Please keep the 76 * by some backends for creating special files (i.e.journal files). Please keep the
78 * string unique for your application ! 77 * string unique for your application !
79 * @see OPimGlobal 78 * @see OPimGlobal
80 */ 79 */
81 static T* create( OPimGlobal::PimType type, OPimGlobal::DatabaseStyle dbStyle, const QString& appName ){ 80 static T* create( OPimGlobal::PimType type, OPimGlobal::DatabaseStyle dbStyle, const QString& appName ){
82 81
83 switch ( type ){ 82 switch ( type ){
84 case OPimGlobal::TODOLIST: 83 case OPimGlobal::TODOLIST:
85 return dynamic_cast<T*>( new OPimTodoAccess( OBackendFactory<OPimTodoAccessBackend>::create( type, dbStyle, appName ) ) ); 84 return dynamic_cast<T*>( new OPimTodoAccess( OBackendFactory<OPimTodoAccessBackend>::create( type, dbStyle, appName ) ) );
86 case OPimGlobal::CONTACTLIST: 85 case OPimGlobal::CONTACTLIST:
87 return dynamic_cast<T*>( new OPimContactAccess( QString::null, QString::null, OBackendFactory<OPimContactAccessBackend>::create( type, dbStyle, appName ) ) ); 86 return dynamic_cast<T*>( new OPimContactAccess( QString::null, QString::null, OBackendFactory<OPimContactAccessBackend>::create( type, dbStyle, appName ) ) );
88 case OPimGlobal::DATEBOOK: 87 case OPimGlobal::DATEBOOK:
89 return dynamic_cast<T*>( new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) ) ); 88 return dynamic_cast<T*>( new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) ) );
90 default: 89 default:
91 return 0l; 90 return 0l;
92 91
93 } 92 }
94 } 93 }
95 94
96 95
97 /** 96 /**
98 * Returns the selected PIM access-object, using the default database style 97 * Returns the selected PIM access-object, using the default database style
99 * Which style is selected is defined in the configfile "pimaccess.conf" in 98 * Which style is selected is defined in the configfile "pimaccess.conf" in
100 * the directory "Settings" 99 * the directory "Settings"
101 * @param type Type of the selected database (addressbook, todolist or datebook) 100 * @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 101 * @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 102 * by some backends for creating special files (i.e.journal files). Please keep the
104 * string unique for your application ! 103 * string unique for your application !
105 * @see OPimGlobal 104 * @see OPimGlobal
106 * 105 *
107 */ 106 */
108 static T* default( OPimGlobal::PimType type, const QString& appName ){ 107 static T* default( typename OPimGlobal::PimType type, const QString& appName ){
109 108
110 return create( type, OPimGlobal::DEFAULT, appName ) 109 return create( type, OPimGlobal::DEFAULT, appName );
111 110
112 } 111 }
113}; 112};
114 113
115} 114}
116 115
117 116
118#endif 117#endif