-rw-r--r-- | libopie2/opiepim/core/opimaccessfactory.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libopie2/opiepim/core/opimaccessfactory.h b/libopie2/opiepim/core/opimaccessfactory.h index a80e67c..ee55ba5 100644 --- a/libopie2/opiepim/core/opimaccessfactory.h +++ b/libopie2/opiepim/core/opimaccessfactory.h | |||
@@ -53,65 +53,68 @@ namespace Opie { | |||
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 | 60 | ||
61 | template<class T> | 61 | template<class T> |
62 | class OPimAccessFactory | 62 | class OPimAccessFactory |
63 | { | 63 | { |
64 | public: | 64 | public: |
65 | 65 | ||
66 | // 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 |
67 | // (something like opimglobal.h) ? (eilers) | 67 | // (something like opimglobal.h) ? (eilers) |
68 | 68 | ||
69 | OPimAccessFactory() {}; | 69 | OPimAccessFactory() {}; |
70 | 70 | ||
71 | /** | 71 | /** |
72 | * Returns the selected PIM access-object. | 72 | * Returns the selected PIM access-object. |
73 | * @param type Type of the selected database (addressbook, todolist or datebook) | 73 | * @param type Type of the selected database (addressbook, todolist or datebook) |
74 | * @param dbStyle Which database style should be used (xml, sql, vcard) | 74 | * @param dbStyle Which database style should be used (xml, sql, vcard) |
75 | * @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 |
76 | * 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 |
77 | * string unique for your application ! | 77 | * string unique for your application ! |
78 | * @see OPimGlobal | 78 | * @see OPimGlobal |
79 | */ | 79 | */ |
80 | 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 ){ |
81 | OPimBase *base; | 81 | OPimBase *base; |
82 | switch ( type ){ | 82 | switch ( type ){ |
83 | case OPimGlobal::TODOLIST: | 83 | case OPimGlobal::TODOLIST: |
84 | base = new OPimTodoAccess( OBackendFactory<OPimTodoAccessBackend>::create( type, dbStyle, appName ) ); | 84 | base = new OPimTodoAccess( OBackendFactory<OPimTodoAccessBackend>::create( type, dbStyle, appName ) ); |
85 | break; | ||
85 | case OPimGlobal::CONTACTLIST: | 86 | case OPimGlobal::CONTACTLIST: |
86 | base = new OPimContactAccess( QString::null, QString::null, OBackendFactory<OPimContactAccessBackend>::create( type, dbStyle, appName ) ); | 87 | base = new OPimContactAccess( QString::null, QString::null, OBackendFactory<OPimContactAccessBackend>::create( type, dbStyle, appName ) ); |
88 | break; | ||
87 | case OPimGlobal::DATEBOOK: | 89 | case OPimGlobal::DATEBOOK: |
88 | base = new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) ); | 90 | base = new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) ); |
91 | break; | ||
89 | default: | 92 | default: |
90 | return 0l; | 93 | return 0l; |
91 | } | 94 | } |
92 | return static_cast<T*>( base ); | 95 | return static_cast<T*>( base ); |
93 | } | 96 | } |
94 | 97 | ||
95 | 98 | ||
96 | /** | 99 | /** |
97 | * Returns the selected PIM access-object, using the default database style | 100 | * Returns the selected PIM access-object, using the default database style |
98 | * Which style is selected is defined in the configfile "pimaccess.conf" in | 101 | * Which style is selected is defined in the configfile "pimaccess.conf" in |
99 | * the directory "Settings" | 102 | * the directory "Settings" |
100 | * @param type Type of the selected database (addressbook, todolist or datebook) | 103 | * @param type Type of the selected database (addressbook, todolist or datebook) |
101 | * @param appName "Name" of your application. This should be any constant string which is used | 104 | * @param appName "Name" of your application. This should be any constant string which is used |
102 | * by some backends for creating special files (i.e.journal files). Please keep the | 105 | * by some backends for creating special files (i.e.journal files). Please keep the |
103 | * string unique for your application ! | 106 | * string unique for your application ! |
104 | * @see OPimGlobal | 107 | * @see OPimGlobal |
105 | * | 108 | * |
106 | */ | 109 | */ |
107 | static T* defaultAccess( typename OPimGlobal::PimType type, const QString& appName ){ | 110 | static T* defaultAccess( typename OPimGlobal::PimType type, const QString& appName ){ |
108 | 111 | ||
109 | return create( type, OPimGlobal::DEFAULT, appName ); | 112 | return create( type, OPimGlobal::DEFAULT, appName ); |
110 | 113 | ||
111 | } | 114 | } |
112 | }; | 115 | }; |
113 | 116 | ||
114 | } | 117 | } |
115 | 118 | ||
116 | 119 | ||
117 | #endif | 120 | #endif |