bool QSqlDatabase::isDriverAvailable( const QString& name ) { QStringList l = drivers(); QStringList::ConstIterator it = l.begin(); for ( ;it != l.end(); ++it ) { if ( *it == name ) return TRUE; } return FALSE; }
/* Runs just one driver's tick. */ void TickOne() { int64_t jsnow = JS_Now(); TimeStamp now = TimeStamp::Now(); ScheduleNextTick(now); mLastFireEpoch = jsnow; mLastFireTime = now; nsTArray<nsRefPtr<nsRefreshDriver> > drivers(mRefreshDrivers); if (mNextDriverIndex < drivers.Length() && !drivers[mNextDriverIndex]->IsTestControllingRefreshesEnabled()) { TickDriver(drivers[mNextDriverIndex], jsnow, now); } mNextDriverIndex++; }
/* * Actually runs a tick, poking all the attached RefreshDrivers. * Grabs the "now" time via JS_Now and TimeStamp::Now(). */ void Tick() { int64_t jsnow = JS_Now(); TimeStamp now = TimeStamp::Now(); ScheduleNextTick(now); mLastFireEpoch = jsnow; mLastFireTime = now; LOG("[%p] ticking drivers...", this); nsTArray<nsRefPtr<nsRefreshDriver> > drivers(mRefreshDrivers); for (size_t i = 0; i < drivers.Length(); ++i) { // don't poke this driver if it's in test mode if (drivers[i]->IsTestControllingRefreshesEnabled()) { continue; } TickDriver(drivers[i], jsnow, now); } LOG("[%p] done.", this); }
bool QSqlDatabase::isDriverAvailable(const QString& name) { return drivers().contains(name); }
void QSqlDatabase::init( const QString& type, const QString& ) { d = new QSqlDatabasePrivate(); d->drvName = type; if ( !d->driver ) { #ifdef QT_SQL_POSTGRES if ( type == "QPSQL7" ) d->driver = new QPSQLDriver(); #endif #ifdef QT_SQL_MYSQL if ( type == "QMYSQL3" ) d->driver = new QMYSQLDriver(); #endif #ifdef QT_SQL_ODBC if ( type == "QODBC3" ) d->driver = new QODBCDriver(); #endif #ifdef QT_SQL_OCI if ( type == "QOCI8" ) d->driver = new QOCIDriver(); #endif #ifdef QT_SQL_TDS if ( type == "QTDS7" ) d->driver = new QTDSDriver(); #endif #ifdef QT_SQL_DB2 if ( type == "QDB2" ) d->driver = new QDB2Driver(); #endif #ifdef QT_SQL_SQLITE if ( type == "QSQLITE" ) d->driver = new QSQLiteDriver(); #endif #ifdef QT_SQL_IBASE if ( type == "QIBASE" ) d->driver = new QIBaseDriver(); #endif } if ( !d->driver ) { QDictIterator<QSqlDriverCreatorBase> it( *QSqlDatabaseManager::driverDict() ); while ( it.current() && !d->driver ) { if ( type == it.currentKey() ) { d->driver = it.current()->createObject(); } ++it; } } #ifndef QT_NO_COMPONENT if ( !d->driver ) { d->plugIns = new QPluginManager<QSqlDriverFactoryInterface>( IID_QSqlDriverFactory, QApplication::libraryPaths(), "/sqldrivers" ); QInterfacePtr<QSqlDriverFactoryInterface> iface = 0; d->plugIns->queryInterface( type, &iface ); if( iface ) d->driver = iface->create( type ); } #endif if ( !d->driver ) { #ifdef QT_CHECK_RANGE qWarning( "QSqlDatabase: %s driver not loaded", type.latin1() ); qWarning( "QSqlDatabase: available drivers: %s", drivers().join(" ").latin1() ); #endif d->driver = new QNullDriver(); d->driver->setLastError( QSqlError( "Driver not loaded", "Driver not loaded" ) ); } }