Kexi API Documentation (2.0 alpha)

KexiDB::DriverManager Class Reference

#include <drivermanager.h>

Inheritance diagram for KexiDB::DriverManager:

KexiDB::Object List of all members.

Detailed Description

Database driver management, e.g. finding and loading drivers.

Definition at line 42 of file drivermanager.h.

Public Types

typedef QMap< QString, KService::Ptr > ServicesMap

Public Member Functions

 DriverManager ()
virtual ~DriverManager ()
Driverdriver (const QString &name)
const QStringList driverNames ()
const KexiDB::Driver::InfoMap driversInfo ()
KexiDB::Driver::Info driverInfo (const QString &name)
KService::Ptr serviceInfo (const QString &name)
const ServicesMapservices ()
QString lookupByMime (const QString &mimeType)
virtual QString serverErrorMsg ()
 server error is set if there is error at KService level (useful for debugging)
virtual int serverResult ()
virtual QString serverResultName ()
QString possibleProblemsInfoMsg () const

Protected Member Functions

virtual void drv_clearServerResult ()


Member Typedef Documentation

typedef QMap<QString, KService::Ptr> KexiDB::DriverManager::ServicesMap
 

Definition at line 45 of file drivermanager.h.


Constructor & Destructor Documentation

DriverManager::DriverManager  ) 
 

Definition at line 275 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::incRefCount().

DriverManager::~DriverManager  )  [virtual]
 

Definition at line 286 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::decRefCount(), KexiDBDbg, and KexiDB::DriverManagerInternal::m_refCount.


Member Function Documentation

Driver * DriverManager::driver const QString name  ) 
 

Tries to load db driver with named name name. The name is case insensitive.

Returns:
db driver, or 0 if error (then error message is also set)

Definition at line 388 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::driver(), KexiDB::Object::error(), and KexiDB::Object::setError().

Referenced by KexiMigration::KexiMigrate::checkIfDestinationDatabaseOverwritingNeedsAccepting(), KexiMigration::MySQLMigrate::MySQLMigrate(), KexiMigration::KexiMigrate::performImport(), KexiMigration::PqxxMigrate::PqxxMigrate(), and SQLiteAdminTools::vacuum().

KexiDB::Driver::Info DriverManager::driverInfo const QString name  ) 
 

Returns:
information about driver's named with name. The name is case insensitive. You can check if driver information is not found calling Info::name.isEmpty() (then error message is also set).

Definition at line 343 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::driverInfo(), driversInfo(), KexiDB::Object::error(), and KexiDB::Object::setError().

Referenced by KexiStartupHandler::init(), KexiDB::ConnectionData::serverInfoString(), and KexiProjectSelectorWidget::setProjectSet().

const QStringList DriverManager::driverNames  ) 
 

returns list of available drivers names. That drivers can be loaded by first use of driver() method.

Definition at line 333 of file drivermanager.cpp.

References KexiDB::Object::error(), KexiDB::DriverManagerInternal::lookupDrivers(), and KexiDB::DriverManagerInternal::m_services.

const KexiDB::Driver::InfoMap DriverManager::driversInfo  ) 
 

returns information list of available drivers. That drivers can be loaded by first use of driver() method.

Definition at line 307 of file drivermanager.cpp.

References KexiDB::Driver::Info::allowImportingTo, KexiDB::Driver::Info::caption, KexiDB::Driver::Info::comment, KexiDB::Driver::Info::fileBased, KexiDB::Driver::Info::fileDBMimeType, KexiDB::DriverManagerInternal::lookupDrivers(), KexiDB::DriverManagerInternal::m_driversInfo, KexiDB::DriverManagerInternal::m_services, and KexiDB::Driver::Info::name.

Referenced by driverInfo().

void DriverManager::drv_clearServerResult  )  [protected, virtual]
 

Clears number of last server operation's result stored as a single integer. Formally, this integer should be set to value that means "NO ERRORS" or "OK". This method is called by clearError(). For reimplementation. By default does nothing.

See also:
serverErrorMsg()

Reimplemented from KexiDB::Object.

Definition at line 411 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::m_serverErrMsg, KexiDB::DriverManagerInternal::m_serverResultName, and KexiDB::DriverManagerInternal::m_serverResultNum.

QString DriverManager::lookupByMime const QString mimeType  ) 
 

Looks up a drivers list by MIME type of database file. Only file-based database drivers are checked. The lookup is case insensitive.

Returns:
driver name or null string if no driver found.

Definition at line 375 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::lookupDrivers(), KexiDB::DriverManagerInternal::m_services_by_mimetype, and KexiDB::Object::setError().

Referenced by KexiDB::Driver::defaultFileBasedDriverName().

QString DriverManager::possibleProblemsInfoMsg  )  const
 

HTML information about possible problems encountered. It's displayed in 'details' section, if an error encountered. Currently it contains a list of incompatible db drivers. Used in KexiStartupHandler::detectDriverForFile().

Definition at line 418 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::possibleProblems.

QString DriverManager::serverErrorMsg  )  [virtual]
 

server error is set if there is error at KService level (useful for debugging)

Reimplemented from KexiDB::Object.

Definition at line 396 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::m_serverErrMsg.

int DriverManager::serverResult  )  [virtual]
 

Returns:
engine-specific last server-side operation result number. Use this in your application to give users more information on what's up.
Reimplement this for your driver - default implementation just returns 0. Note that this result value is not the same as the one returned by errorNum() (Object::m_errno member)
See also:
serverErrorMsg(), drv_clearServerResult()

Reimplemented from KexiDB::Object.

Definition at line 401 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::m_serverResultNum.

QString DriverManager::serverResultName  )  [virtual]
 

Returns:
engine-specific last server-side operation result name, (name for serverResult()). Use this in your application to give users more information on what's up.
Reimplement this for your driver - default implementation just returns null string. Note that this result name is not the same as the error message returned by serverErorMsg() or erorMsg()
See also:
serverErrorMsg(), drv_clearServerResult()

Reimplemented from KexiDB::Object.

Definition at line 406 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::m_serverResultName.

KService::Ptr DriverManager::serviceInfo const QString name  ) 
 

Returns:
service information about driver's named with name. The name is case insensitive. In most cases you can use driverInfo() instead.

Definition at line 352 of file drivermanager.cpp.

References KexiDB::Object::clearError(), ERR_DRIVERMANAGER, KexiDB::DriverManagerInternal::lookupDrivers(), KexiDB::DriverManagerInternal::m_services_lcase, and KexiDB::Object::setError().

const DriverManager::ServicesMap & DriverManager::services  ) 
 

Returns:
a map structure of the services. Not necessary for everyday use.

Definition at line 368 of file drivermanager.cpp.

References KexiDB::DriverManagerInternal::lookupDrivers(), and KexiDB::DriverManagerInternal::m_services.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for Kexi 2.0 alpha.
Documentation copyright © 2002-2007 the Kexi Team.
Generated on Tue Apr 1 20:50:41 2008 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003