-rw-r--r-- | kabc/stdaddressbook.cpp | 22 | ||||
-rw-r--r-- | microkde/kdecore/klibloader.cpp | 24 |
2 files changed, 22 insertions, 24 deletions
diff --git a/kabc/stdaddressbook.cpp b/kabc/stdaddressbook.cpp index f9fc70b..8faaaef 100644 --- a/kabc/stdaddressbook.cpp +++ b/kabc/stdaddressbook.cpp | |||
@@ -15,69 +15,56 @@ | |||
15 | You should have received a copy of the GNU Library General Public License | 15 | You should have received a copy of the GNU Library General Public License |
16 | along with this library; see the file COPYING.LIB. If not, write to | 16 | along with this library; see the file COPYING.LIB. If not, write to |
17 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 17 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
18 | Boston, MA 02111-1307, USA. | 18 | Boston, MA 02111-1307, USA. |
19 | */ | 19 | */ |
20 | 20 | ||
21 | /* | 21 | /* |
22 | Enhanced Version of the file for platform independent KDE tools. | 22 | Enhanced Version of the file for platform independent KDE tools. |
23 | Copyright (c) 2004 Ulf Schenk | 23 | Copyright (c) 2004 Ulf Schenk |
24 | 24 | ||
25 | $Id$ | 25 | $Id$ |
26 | */ | 26 | */ |
27 | #ifndef DESKTOP_VERSION | ||
28 | #include <qpe/global.h> | ||
29 | #else | ||
30 | |||
31 | #include <qdir.h> | ||
32 | #endif | ||
33 | #ifdef KAB_EMBEDDED | ||
34 | 27 | ||
28 | /*US | ||
35 | #include <stdlib.h> | 29 | #include <stdlib.h> |
36 | #else //KAB_EMBEDDED | ||
37 | 30 | ||
38 | #include <stdlib.h> | ||
39 | |||
40 | //US#include <kresources/manager.h> | ||
41 | #include <kapplication.h> | 31 | #include <kapplication.h> |
42 | #include <kcrash.h> | 32 | #include <kcrash.h> |
43 | #include <ksimpleconfig.h> | 33 | #include <ksimpleconfig.h> |
44 | 34 | */ | |
45 | |||
46 | #endif //KAB_EMBEDDED | ||
47 | 35 | ||
48 | #include "resource.h" | 36 | #include "resource.h" |
49 | #include <kresources/manager.h> | 37 | #include <kresources/manager.h> |
50 | #include <kdebug.h> | 38 | #include <kdebug.h> |
51 | #include <klocale.h> | 39 | #include <klocale.h> |
52 | #include <kstaticdeleter.h> | 40 | #include <kstaticdeleter.h> |
53 | #include <kstandarddirs.h> | 41 | #include <kstandarddirs.h> |
54 | 42 | ||
55 | #include "stdaddressbook.h" | 43 | #include "stdaddressbook.h" |
56 | 44 | ||
57 | using namespace KABC; | 45 | using namespace KABC; |
58 | 46 | ||
59 | StdAddressBook *StdAddressBook::mSelf = 0; | 47 | StdAddressBook *StdAddressBook::mSelf = 0; |
60 | bool StdAddressBook::mAutomaticSave = true; | 48 | bool StdAddressBook::mAutomaticSave = true; |
61 | 49 | ||
62 | static KStaticDeleter<StdAddressBook> addressBookDeleter; | 50 | static KStaticDeleter<StdAddressBook> addressBookDeleter; |
63 | 51 | ||
64 | QString StdAddressBook::fileName() | 52 | QString StdAddressBook::fileName() |
65 | { | 53 | { |
66 | return locateLocal( "data", "kabc/std.vcf" ); | 54 | return locateLocal( "data", "kabc/std.vcf" ); |
67 | } | 55 | } |
68 | 56 | ||
69 | QString StdAddressBook::directoryName() | 57 | QString StdAddressBook::directoryName() |
70 | { | 58 | { |
71 | qDebug("StdAddressBook::directoryName() WILL FAIL OR NOT" ); | ||
72 | return locateLocal( "data", "kabc/stdvcf" ); | 59 | return locateLocal( "data", "kabc/stdvcf" ); |
73 | } | 60 | } |
74 | 61 | ||
75 | void StdAddressBook::handleCrash() | 62 | void StdAddressBook::handleCrash() |
76 | { | 63 | { |
77 | StdAddressBook::self()->cleanUp(); | 64 | StdAddressBook::self()->cleanUp(); |
78 | } | 65 | } |
79 | 66 | ||
80 | StdAddressBook *StdAddressBook::self() | 67 | StdAddressBook *StdAddressBook::self() |
81 | { | 68 | { |
82 | 69 | ||
83 | if ( !mSelf ) | 70 | if ( !mSelf ) |
@@ -202,29 +189,26 @@ bool StdAddressBook::save() | |||
202 | 189 | ||
203 | if ( !ab->save( ticket ) ) | 190 | if ( !ab->save( ticket ) ) |
204 | ok = false; | 191 | ok = false; |
205 | } | 192 | } |
206 | } | 193 | } |
207 | 194 | ||
208 | return ok; | 195 | return ok; |
209 | } | 196 | } |
210 | 197 | ||
211 | void StdAddressBook::close() | 198 | void StdAddressBook::close() |
212 | { | 199 | { |
213 | //US destructObject is not defined on my system???. Is setObject(0) the same ??? | 200 | //US destructObject is not defined on my system???. Is setObject(0) the same ??? |
214 | #ifndef KAB_EMBEDDED | 201 | //US addressBookDeleter.destructObject(); |
215 | addressBookDeleter.destructObject(); | ||
216 | #else //KAB_EMBEDDED | ||
217 | addressBookDeleter.setObject(0); | 202 | addressBookDeleter.setObject(0); |
218 | #endif //KAB_EMBEDDED | ||
219 | 203 | ||
220 | } | 204 | } |
221 | 205 | ||
222 | void StdAddressBook::setAutomaticSave( bool enable ) | 206 | void StdAddressBook::setAutomaticSave( bool enable ) |
223 | { | 207 | { |
224 | mAutomaticSave = enable; | 208 | mAutomaticSave = enable; |
225 | } | 209 | } |
226 | 210 | ||
227 | bool StdAddressBook::automaticSave() | 211 | bool StdAddressBook::automaticSave() |
228 | { | 212 | { |
229 | return mAutomaticSave; | 213 | return mAutomaticSave; |
230 | } | 214 | } |
diff --git a/microkde/kdecore/klibloader.cpp b/microkde/kdecore/klibloader.cpp index 1410308..130cc7c 100644 --- a/microkde/kdecore/klibloader.cpp +++ b/microkde/kdecore/klibloader.cpp | |||
@@ -148,25 +148,26 @@ QString KLibrary::fileName() const | |||
148 | 148 | ||
149 | KLibFactory* KLibrary::factory() | 149 | KLibFactory* KLibrary::factory() |
150 | { | 150 | { |
151 | if ( m_factory ) | 151 | if ( m_factory ) |
152 | return m_factory; | 152 | return m_factory; |
153 | 153 | ||
154 | QCString symname; | 154 | QCString symname; |
155 | symname.sprintf("init_%s", name().latin1() ); | 155 | symname.sprintf("init_%s", name().latin1() ); |
156 | 156 | ||
157 | void* sym = symbol( symname ); | 157 | void* sym = symbol( symname ); |
158 | if ( !sym ) | 158 | if ( !sym ) |
159 | { | 159 | { |
160 | kdWarning(150) << "KLibrary: The library " << name() << " does not offer an init_" << name() << " function" << endl; | 160 | qDebug("KLibrary: The library %s does not offer an %s function", name().latin1(), symname.data()); |
161 | kdWarning(150) << "KLibrary: The library " << name().latin1() << " does not offer an init_" << name().latin1() << " function" << endl; | ||
161 | return 0; | 162 | return 0; |
162 | } | 163 | } |
163 | 164 | ||
164 | typedef KLibFactory* (*t_func)(); | 165 | typedef KLibFactory* (*t_func)(); |
165 | t_func func = (t_func)sym; | 166 | t_func func = (t_func)sym; |
166 | m_factory = func(); | 167 | m_factory = func(); |
167 | 168 | ||
168 | if( !m_factory ) | 169 | if( !m_factory ) |
169 | { | 170 | { |
170 | kdWarning(150) << "KLibrary: The library " << name() << " does not offer a KDE compatible factory" << endl; | 171 | kdWarning(150) << "KLibrary: The library " << name() << " does not offer a KDE compatible factory" << endl; |
171 | return 0; | 172 | return 0; |
172 | } | 173 | } |
@@ -359,51 +360,67 @@ KLibLoader::~KLibLoader() | |||
359 | 360 | ||
360 | //static | 361 | //static |
361 | QString KLibLoader::findLibrary( const char * name/*US , const KInstance * instance*/ ) | 362 | QString KLibLoader::findLibrary( const char * name/*US , const KInstance * instance*/ ) |
362 | { | 363 | { |
363 | QCString libname( name ); | 364 | QCString libname( name ); |
364 | 365 | ||
365 | // only append ".la" if there is no extension | 366 | // only append ".la" if there is no extension |
366 | // this allows to load non-libtool libraries as well | 367 | // this allows to load non-libtool libraries as well |
367 | // (mhk, 20000228) | 368 | // (mhk, 20000228) |
368 | int pos = libname.findRev('/'); | 369 | int pos = libname.findRev('/'); |
369 | if (pos < 0) | 370 | if (pos < 0) |
370 | pos = 0; | 371 | pos = 0; |
371 | if (libname.find('.', pos) < 0) | 372 | /*US |
373 | if (libname.find('.', pos) < 0) { | ||
372 | libname += ".la"; | 374 | libname += ".la"; |
375 | } | ||
376 | */ | ||
377 | //US in the microedition we work only with shared libraries. | ||
378 | if (libname.find('.', pos) < 0) { | ||
379 | libname += ".so"; | ||
380 | } | ||
373 | 381 | ||
374 | // only look up the file if it is not an absolute filename | 382 | // only look up the file if it is not an absolute filename |
375 | // (mhk, 20000228) | 383 | // (mhk, 20000228) |
376 | QString libfile; | 384 | QString libfile; |
377 | if (libname[0] == '/') | 385 | if (libname[0] == '/') |
378 | libfile = libname; | 386 | libfile = libname; |
379 | else | 387 | else |
380 | { | 388 | { |
389 | //US at this point the libname must exist as real filesname. No expansions will be made later | ||
390 | // in findResources. Because of that we prepend the lib prefix here to the name | ||
391 | //US I add also the "lib" prefix. I do not how could this could have worked before without it? | ||
392 | libname.insert(pos, "lib"); | ||
393 | |||
394 | |||
381 | //US libfile = instance->dirs()->findResource( "module", libname ); | 395 | //US libfile = instance->dirs()->findResource( "module", libname ); |
382 | libfile = KGlobal::dirs()->findResource( "module", libname ); | 396 | libfile = KGlobal::dirs()->findResource( "module", libname ); |
383 | if ( libfile.isEmpty() ) | 397 | if ( libfile.isEmpty() ) |
384 | { | 398 | { |
385 | //US libfile = instance->dirs()->findResource( "lib", libname ); | 399 | //US libfile = instance->dirs()->findResource( "lib", libname ); |
386 | libfile = KGlobal::dirs()->findResource( "lib", libname ); | 400 | libfile = KGlobal::dirs()->findResource( "lib", libname ); |
387 | #ifndef NDEBUG | 401 | #ifndef NDEBUG |
388 | if ( !libfile.isEmpty() && libname.left(3) == "lib" ) // don't warn for kdeinit modules | 402 | if ( !libfile.isEmpty() && libname.left(3) == "lib" ) // don't warn for kdeinit modules |
389 | kdDebug(150) << "library " << libname << " not found under 'module' but under 'lib'" << endl; | 403 | kdDebug(150) << "library " << libname << " not found under 'module' but under 'lib'" << endl; |
390 | #endif | 404 | #endif |
391 | } | 405 | } |
392 | if ( libfile.isEmpty() ) | 406 | if ( libfile.isEmpty() ) |
393 | { | 407 | { |
394 | #ifndef NDEBUG | 408 | #ifndef NDEBUG |
395 | kdDebug(150) << "library=" << libname << ": No file names " << libname.data() << " found in paths." << endl; | 409 | kdDebug(150) << "library=" << libname << ": No file names " << libname.data() << " found in paths." << endl; |
396 | #endif | 410 | #endif |
397 | self()->d->errorMessage = i18n("Library files for \"%1\" not found in paths").arg(libname); | 411 | self()->d->errorMessage = i18n("Library files for \"%1\" not found in paths").arg(libname); |
412 | |||
413 | qDebug("KLibLoader::library could not find library: %s", libname.data()); | ||
414 | |||
398 | } | 415 | } |
399 | else | 416 | else |
400 | self()->d->errorMessage = QString::null; | 417 | self()->d->errorMessage = QString::null; |
401 | } | 418 | } |
402 | return libfile; | 419 | return libfile; |
403 | } | 420 | } |
404 | 421 | ||
405 | 422 | ||
406 | KLibrary* KLibLoader::globalLibrary( const char *name ) | 423 | KLibrary* KLibLoader::globalLibrary( const char *name ) |
407 | { | 424 | { |
408 | KLibrary *tmp; | 425 | KLibrary *tmp; |
409 | /*US | 426 | /*US |
@@ -445,27 +462,24 @@ KLibrary* KLibLoader::library( const char *name ) | |||
445 | if (wrap) { | 462 | if (wrap) { |
446 | d->pending_close.removeRef(wrap); | 463 | d->pending_close.removeRef(wrap); |
447 | if (!wrap->lib) { | 464 | if (!wrap->lib) { |
448 | /* This lib only was in loaded_stack, but not in m_libs. */ | 465 | /* This lib only was in loaded_stack, but not in m_libs. */ |
449 | wrap->lib = new KLibrary( name, wrap->filename, wrap->handle ); | 466 | wrap->lib = new KLibrary( name, wrap->filename, wrap->handle ); |
450 | } | 467 | } |
451 | wrap->ref_count++; | 468 | wrap->ref_count++; |
452 | } else { | 469 | } else { |
453 | QString libfile = findLibrary( name ); | 470 | QString libfile = findLibrary( name ); |
454 | if ( libfile.isEmpty() ) | 471 | if ( libfile.isEmpty() ) |
455 | return 0; | 472 | return 0; |
456 | 473 | ||
457 | const QString & qpeDir = QPEApplication::qpeDir(); | ||
458 | libfile = qpeDir + libfile; | ||
459 | //US QLibrary *lib = new QLibrary( qpeDir + "/plugins/korganizer/libopiekabc.so", QLibrary::Immediately ); | ||
460 | QLibrary *qlib = new QLibrary( libfile.latin1(), QLibrary::Immediately ); | 474 | QLibrary *qlib = new QLibrary( libfile.latin1(), QLibrary::Immediately ); |
461 | 475 | ||
462 | //US lt_dlhandle handle = lt_dlopen( libfile.latin1() ); | 476 | //US lt_dlhandle handle = lt_dlopen( libfile.latin1() ); |
463 | //US if ( !handle ) | 477 | //US if ( !handle ) |
464 | if ( !qlib ) | 478 | if ( !qlib ) |
465 | { | 479 | { |
466 | //US const char* errmsg = lt_dlerror(); | 480 | //US const char* errmsg = lt_dlerror(); |
467 | char* errmsg; | 481 | char* errmsg; |
468 | sprintf(errmsg, "KLibLoader::library could not load library: %s", libfile.latin1()); | 482 | sprintf(errmsg, "KLibLoader::library could not load library: %s", libfile.latin1()); |
469 | qDebug(errmsg); | 483 | qDebug(errmsg); |
470 | 484 | ||
471 | if(errmsg) | 485 | if(errmsg) |