summaryrefslogtreecommitdiff
authorzecke <zecke>2004-05-21 01:00:48 (UTC)
committer zecke <zecke>2004-05-21 01:00:48 (UTC)
commit564efbda3d8f8b2cefe02a7287942d73489714da (patch) (unidiff)
tree10cde89ed29b8b552273a0369624ca8932716104
parente20a6a2d3be99bdeaf3861f3aed7923e04b7ba04 (diff)
downloadopie-564efbda3d8f8b2cefe02a7287942d73489714da.zip
opie-564efbda3d8f8b2cefe02a7287942d73489714da.tar.gz
opie-564efbda3d8f8b2cefe02a7287942d73489714da.tar.bz2
No dynamic_cast if we've no rtti. Ask tronical about the correctness because
if we would static_cast rightaway the compilers quits with errors..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/core/opimaccessfactory.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/libopie2/opiepim/core/opimaccessfactory.h b/libopie2/opiepim/core/opimaccessfactory.h
index 6aaa5e4..a80e67c 100644
--- a/libopie2/opiepim/core/opimaccessfactory.h
+++ b/libopie2/opiepim/core/opimaccessfactory.h
@@ -44,7 +44,7 @@ namespace Opie {
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
@@ -61,9 +61,9 @@ namespace Opie {
61template<class T> 61template<class T>
62class OPimAccessFactory 62class 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() {};
@@ -78,31 +78,31 @@ class OPimAccessFactory
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 81 OPimBase *base;
82 switch ( type ){ 82 switch ( type ){
83 case OPimGlobal::TODOLIST: 83 case OPimGlobal::TODOLIST:
84 return dynamic_cast<T*>( new OPimTodoAccess( OBackendFactory<OPimTodoAccessBackend>::create( type, dbStyle, appName ) ) ); 84 base = new OPimTodoAccess( OBackendFactory<OPimTodoAccessBackend>::create( type, dbStyle, appName ) );
85 case OPimGlobal::CONTACTLIST: 85 case OPimGlobal::CONTACTLIST:
86 return dynamic_cast<T*>( new OPimContactAccess( QString::null, QString::null, OBackendFactory<OPimContactAccessBackend>::create( type, dbStyle, appName ) ) ); 86 base = new OPimContactAccess( QString::null, QString::null, OBackendFactory<OPimContactAccessBackend>::create( type, dbStyle, appName ) );
87 case OPimGlobal::DATEBOOK: 87 case OPimGlobal::DATEBOOK:
88 return dynamic_cast<T*>( new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) ) ); 88 base = new ODateBookAccess( OBackendFactory<ODateBookAccessBackend>::create( type, dbStyle, appName ) );
89 default: 89 default:
90 return 0l; 90 return 0l;
91
92 } 91 }
92 return static_cast<T*>( base );
93 } 93 }
94 94
95 95
96 /** 96 /**
97 * Returns the selected PIM access-object, using the default database style 97 * Returns the selected PIM access-object, using the default database style
98 * 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
99 * the directory "Settings" 99 * the directory "Settings"
100 * @param type Type of the selected database (addressbook, todolist or datebook) 100 * @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 101 * @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 102 * by some backends for creating special files (i.e.journal files). Please keep the
103 * string unique for your application ! 103 * string unique for your application !
104 * @see OPimGlobal 104 * @see OPimGlobal
105 * 105 *
106 */ 106 */
107 static T* defaultAccess( typename OPimGlobal::PimType type, const QString& appName ){ 107 static T* defaultAccess( typename OPimGlobal::PimType type, const QString& appName ){
108 108