本文整理汇总了C++中checkConnect函数的典型用法代码示例。如果您正苦于以下问题:C++ checkConnect函数的具体用法?C++ checkConnect怎么用?C++ checkConnect使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了checkConnect函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: tableColumns
QStringList SyncJournalDb::tableColumns( const QString& table )
{
QStringList columns;
if( !table.isEmpty() ) {
if( checkConnect() ) {
QString q = QString("PRAGMA table_info(%1);").arg(table);
QSqlQuery query(_db);
query.prepare(q);
if(!query.exec()) {
QString err = query.lastError().text();
qDebug() << "Error creating prepared statement: " << query.lastQuery() << ", Error:" << err;;
return columns;
}
while( query.next() ) {
columns.append( query.value(1).toString() );
}
}
}
qDebug() << "Columns in the current journal: " << columns;
return columns;
}
开发者ID:MaxMillion,项目名称:mirall,代码行数:25,代码来源:syncjournaldb.cpp
示例2: locker
SyncJournalDb::UploadInfo SyncJournalDb::getUploadInfo(const QString& file)
{
QMutexLocker locker(&_mutex);
UploadInfo res;
if( checkConnect() ) {
_getUploadInfoQuery->bindValue(":pa", file);
if (!_getUploadInfoQuery->exec()) {
QString err = _getUploadInfoQuery->lastError().text();
qDebug() << "Database error for file " << file << " : " << _getUploadInfoQuery->lastQuery() << ", Error:" << err;
return res;
}
if( _getUploadInfoQuery->next() ) {
bool ok = true;
res._chunk = _getUploadInfoQuery->value(0).toInt(&ok);
res._transferid = _getUploadInfoQuery->value(1).toInt(&ok);
res._errorCount = _getUploadInfoQuery->value(2).toInt(&ok);
res._size = _getUploadInfoQuery->value(3).toLongLong(&ok);
res._modtime = QDateTime::fromTime_t(_getUploadInfoQuery->value(4).toLongLong(&ok));
res._valid = ok;
}
_getUploadInfoQuery->finish();
}
return res;
}
开发者ID:alexta901,项目名称:mirall,代码行数:29,代码来源:syncjournaldb.cpp
示例3: tableColumns
bool SyncJournalDb::updateErrorBlacklistTableStructure()
{
QStringList columns = tableColumns("blacklist");
bool re = true;
// check if the file_id column is there and create it if not
if( !checkConnect() ) {
return false;
}
if( columns.indexOf(QLatin1String("lastTryTime")) == -1 ) {
SqlQuery query(_db);
query.prepare("ALTER TABLE blacklist ADD COLUMN lastTryTime INTEGER(8);");
if( !query.exec() ) {
sqlFail("updateBlacklistTableStructure: Add lastTryTime fileid", query);
re = false;
}
query.prepare("ALTER TABLE blacklist ADD COLUMN ignoreDuration INTEGER(8);");
if( !query.exec() ) {
sqlFail("updateBlacklistTableStructure: Add ignoreDuration fileid", query);
re = false;
}
commitInternal("update database structure: add lastTryTime, ignoreDuration cols");
}
return re;
}
开发者ID:Klius,项目名称:client,代码行数:27,代码来源:syncjournaldb.cpp
示例4: log_trace
void TcpSocketImpl::endConnect()
{
log_trace("ending connect");
if(_pfd && ! _socket.wbuf())
{
_pfd->events &= ~POLLOUT;
}
checkPendingError();
if( _isConnected )
return;
try
{
while (true)
{
pollfd pfd;
pfd.fd = this->fd();
pfd.revents = 0;
pfd.events = POLLOUT;
log_debug("wait " << timeout() << " ms");
bool avail = this->wait(this->timeout(), pfd);
if (avail)
{
// something has happened
int sockerr = checkConnect();
if (_isConnected)
return;
if (++_addrInfoPtr == _addrInfo.impl()->end())
{
// no more addrInfo - propagate error
throw IOError(connectFailedMessage(_addrInfo, sockerr));
}
}
else if (++_addrInfoPtr == _addrInfo.impl()->end())
{
log_debug("timeout");
throw IOTimeout();
}
close();
_connectResult = tryConnect();
if (_isConnected)
return;
checkPendingError();
}
}
catch(...)
{
close();
throw;
}
}
开发者ID:913862627,项目名称:cxxtools,代码行数:59,代码来源:tcpsocketimpl.cpp
示例5: locker
void SyncJournalDb::updateBlacklistEntry( const SyncJournalBlacklistRecord& item )
{
QMutexLocker locker(&_mutex);
QSqlQuery query(_db);
if( !checkConnect() ) {
return;
}
QString sql("SELECT retrycount FROM blacklist WHERE path=:path");
if( Utility::fsCasePreserving() ) {
// if the file system is case preserving we have to check the blacklist
// case insensitively
sql += QLatin1String(" COLLATE NOCASE");
}
query.prepare(sql);
query.bindValue(":path", item._file);
if( !query.exec() ) {
qDebug() << "SQL exec blacklistitem failed:" << query.lastError().text();
return;
}
QSqlQuery iQuery(_db);
if( query.next() ) {
int retries = query.value(0).toInt();
retries--;
if( retries < 0 ) retries = 0;
iQuery.prepare( "UPDATE blacklist SET lastTryEtag = :etag, lastTryModtime = :modtime, "
"retrycount = :retries, errorstring = :errStr WHERE path=:path");
iQuery.bindValue(":etag", item._lastTryEtag);
iQuery.bindValue(":modtime", QString::number(item._lastTryModtime));
iQuery.bindValue(":retries", retries);
iQuery.bindValue(":errStr", item._errorString);
iQuery.bindValue(":path", item._file);
} else {
// there is no entry yet.
iQuery.prepare("INSERT INTO blacklist (path, lastTryEtag, lastTryModtime, retrycount, errorstring) "
"VALUES (:path, :lastEtag, :lastMTime, :retrycount, :errorstring);");
iQuery.bindValue(":path", item._file );
iQuery.bindValue(":lastEtag", item._lastTryEtag);
iQuery.bindValue(":lastMTime", QString::number(item._lastTryModtime));
iQuery.bindValue(":retrycount", item._retryCount);
iQuery.bindValue(":errorstring", item._errorString);
}
if( !iQuery.exec() ) {
qDebug() << "SQL exec blacklistitem insert/update failed: "<< iQuery.lastError().text();
}
}
开发者ID:hjimmy,项目名称:owncloud-client,代码行数:54,代码来源:syncjournaldb.cpp
示例6: dropPacketWrite
bool Conn::dropPacketWrite(Packet &&pkt) {
write_queue.push_back( pkt.data );
pkt.data=nullptr;
write_queue_len++;
if( unlikely(checkConnect()) ) {
log_func("[iproto_conn] %s:%u dropPacketWrite deferred (no connect)", ep.address().to_string().c_str(), ep.port());
return false;
}
ensureWriteBuffer( boost::system::error_code() );
return true;
}
开发者ID:PSIAlt,项目名称:asio-libs,代码行数:13,代码来源:iproto_conn.cpp
示例7: checkConnect
int CNetManager::SetConnectionMode(int mode, CNetConnection **handle, string &strErr)
{
int ret=0;
int connectState=0;
if (mode >= NET_VPN)
{
*handle = m_pConnectionL1;
strErr = "给定的网络模式不正确";
return NET_MODE_ER;
}
//若当前有未断开的连接,禁止切换
connectState = checkConnect();
if (connectState == CONNECT_ON_L2) //VPN连接未断
{
*handle = m_pConnectionL1;
strErr = "请先断开VPN连接";
return NET_INIT_FAIL;
}
else if (connectState == CONNECT_ON_L1) //第一层连接未断
{
//LAN与WMMP没有建立与断开的过程,可跳过
if (GetConnectionMode()!=NET_LAN && GetConnectionMode()!=NET_M2M_WMMP)
{
*handle = m_pConnectionL1;
strErr = "当前连接未断开,无法切换模式";
return NET_INIT_FAIL;
}
}
//重新建立实体
if (m_pConnectionL1 != NULL)
{
delete m_pConnectionL1;
m_pConnectionL1 = NULL;
}
ret = buildConnectionInstance(mode, &m_pConnectionL1, strErr);
*handle = m_pConnectionL1;
if (ret != NET_SUCCESS)
{
return ret;
}
//第一层网络需调用initNetDevice()
m_pConnectionL1->initNetDevice(strErr);
return NET_SUCCESS;
}
开发者ID:haosir7,项目名称:SKJ_FWSK_1.0000,代码行数:50,代码来源:netManager.cpp
示例8: sql_begTrans
/* begin a transaction */
void
sql_begTrans(void)
{
checkConnect();
stmt_text = 0;
hstmt = SQL_NULL_HSTMT;
rv_lastStatus = 0; /* might never call errorTrap(0) */
/* count the nesting level of transactions. */
if(!translevel) {
badtrans = false;
stmt_text = "begin work";
debugStatement();
rc = SQLSetConnectOption(hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF);
if(errorTrap(0))
return;
}
++translevel;
exclist = 0;
} /* sql_begTrans */
开发者ID:galexcode,项目名称:edbrowse,代码行数:22,代码来源:dbodbc.c
示例9: tableColumns
bool SyncJournalDb::updateDatabaseStructure()
{
QStringList columns = tableColumns("metadata");
bool re = true;
// check if the file_id column is there and create it if not
if( !checkConnect() ) {
return false;
}
if( columns.indexOf(QLatin1String("fileid")) == -1 ) {
QSqlQuery query(_db);
query.prepare("ALTER TABLE metadata ADD COLUMN fileid VARCHAR(128);");
re = query.exec();
query.prepare("CREATE INDEX metadata_file_id ON metadata(fileid);");
re = re && query.exec();
commitInternal("update database structure");
}
return re;
}
开发者ID:alexta901,项目名称:mirall,代码行数:23,代码来源:syncjournaldb.cpp
示例10: log_debug
bool TcpSocketImpl::checkPollEvent(pollfd& pfd)
{
log_debug("checkPollEvent " << pfd.revents);
if( _isConnected )
{
// check for error while neither reading nor writing
//
// if reading or writing, IODeviceImpl::checkPollEvent will emit
// inputReady or outputReady signal and the user gets an exception in
// endRead or endWrite.
if ( !_device.reading() && !_device.writing()
&& (pfd.revents & POLLERR) )
{
_device.close();
_socket.closed(_socket);
return true;
}
return IODeviceImpl::checkPollEvent(pfd);
}
if ( pfd.revents & POLLERR )
{
AddrInfoImpl::const_iterator ptr = _addrInfoPtr;
if (++ptr == _addrInfo.impl()->end())
{
// not really connected but error
// end of addrinfo list means that no working addrinfo was found
log_debug("no more addrinfos found");
_socket.connected(_socket);
return true;
}
else
{
_addrInfoPtr = ptr;
close();
_connectResult = tryConnect();
if (_isConnected || !_connectResult.empty())
{
// immediate success or error
log_debug("connected successfully");
_socket.connected(_socket);
}
else
{
// by closing the previous file handle _pfd is set to 0.
// creating a new socket in tryConnect may also change the value of fd.
initializePoll(&pfd, 1);
}
return true;
}
}
else if( pfd.revents & POLLOUT )
{
int sockerr = checkConnect();
if (_isConnected)
{
_socket.connected(_socket);
return true;
}
// something went wrong - look for next addrInfo
log_debug("sockerr is " << sockerr << " try next");
if (++_addrInfoPtr == _addrInfo.impl()->end())
{
// no more addrInfo - propagate error
_connectResult = connectFailedMessage(_addrInfo, sockerr);
_socket.connected(_socket);
return true;
}
_connectResult = tryConnect();
if (_isConnected)
{
_socket.connected(_socket);
return true;
}
}
return false;
}
开发者ID:913862627,项目名称:cxxtools,代码行数:85,代码来源:tcpsocketimpl.cpp
示例11: kDebug
bool KraftDB::dbConnect( const QString& driver, const QString& dbName,
const QString& dbUser, const QString& dbHost,
const QString& dbPasswd )
{
mSuccess = true;
mDatabaseDriver = driver;
if( driver.isEmpty() ) {
mDatabaseDriver = DatabaseSettings::self()->dbDriver().toUpper();
}
if( mDatabaseDriver.isEmpty() ) {
kDebug() << "Database Driver is not specified, check katalog settings";
mSuccess = false;
return false;
} else {
kDebug() << "Using database Driver " << mDatabaseDriver;
}
QStringList list = QSqlDatabase::drivers();
if( list.size() == 0 ) {
kDebug() << "Database Drivers could not be loaded." << endl;
mSuccess = false ;
} else {
if( list.indexOf( mDatabaseDriver ) == -1 ) {
kDebug() << "Database Driver " << mDatabaseDriver << " could not be loaded!" << endl;
mSuccess = false;
}
}
if( mSuccess && m_db.isValid() ) {
m_db.close();
}
if( mSuccess ) {
m_db = QSqlDatabase::addDatabase( mDatabaseDriver );
if ( ! m_db.isValid() || m_db.isOpenError() )
{
kDebug() << "Failed to connect to the database driver: "
<< m_db.lastError().text() << endl;
mSuccess = false;
}
}
if ( mSuccess ) {
int re = 0;
if(mDatabaseDriver == "QMYSQL") {
QString host = dbHost;
if( host.isEmpty() ) host = DatabaseSettings::self()->dbServerName();
QString name = dbName;
if( name.isEmpty() ) name = DatabaseSettings::self()->dbDatabaseName();
QString user = dbUser;
if( user.isEmpty() ) user = DatabaseSettings::self()->dbUser();
QString pwd = dbPasswd;
if( pwd.isEmpty() ) pwd = DatabaseSettings::self()->dbPassword();
kDebug() << "Try to open MySQL database " << name << endl;
re = checkConnect( host, name , user, pwd );
} else if(mDatabaseDriver == "QSQLITE") {
// SqlLite only requires a valid file name which comes in as Database Name
QString name = dbName;
if( name.isEmpty() ) name = DatabaseSettings::self()->dbFile();
kDebug() << "Try to open SqLite database " << name << endl;
re = checkConnect( "", name, "", "");
}
if ( re == 0 ) {
// Database successfully opened; we can now issue SQL commands.
kDebug() << "** Database opened successfully" << endl;
} else {
kDebug() << "## Could not open database" << endl;
mSuccess = false;
}
}
return mSuccess;
}
开发者ID:KDE,项目名称:kraft,代码行数:75,代码来源:kraftdb.cpp
示例12: lock
bool SyncJournalDb::isUpdateFrom_1_5()
{
QMutexLocker lock(&_mutex);
checkConnect();
return _possibleUpgradeFromMirall_1_5;
}
开发者ID:hjimmy,项目名称:owncloud-client,代码行数:6,代码来源:syncjournaldb.cpp
示例13: sql_blobInsert
void
sql_blobInsert(const char *tabname, const char *colname, int rowid,
const char *filename, void *offset, int length)
{
char blobcmd[100];
SQLINTEGER output_length;
bool isfile;
int fd;
/* basic sanity checks */
checkConnect();
if(isnullstring(tabname))
errorPrint("2blobInsert, null table name");
if(isnullstring(colname))
errorPrint("2blobInsert, null column name");
if(rowid <= 0)
errorPrint("2invalid rowid in blobInsert");
if(length < 0)
errorPrint("2invalid length in blobInsert");
if(strlen(tabname) + strlen(colname) + 42 >= sizeof (blobcmd))
errorPrint("@internal blobInsert command too long");
isfile = true;
if(isnullstring(filename)) {
isfile = false;
if(!offset)
errorPrint("2blobInsert is given null filename and null buffer");
} else {
offset = blobbuf;
fd = eopen(filename, O_RDONLY | O_BINARY, 0);
length = fileSizeByHandle(fd);
if(length == 0) {
isfile = false;
close(fd);
}
}
/* set up the blob insert command, using one host variable */
sprintf(blobcmd, "update %s set %s = %s where rowid = %d",
tabname, colname, (length ? "?" : "NULL"), rowid);
stmt_text = blobcmd;
debugStatement();
newStatement();
rv_lastNrows = 0;
output_length = length;
rc = SQL_SUCCESS;
if(isfile) {
output_length = SQL_LEN_DATA_AT_EXEC(length);
rc = SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT,
SQL_C_BINARY, SQL_LONGVARCHAR, length, 0,
blobcmd, length, &output_length);
if(rc)
close(fd);
} else if(length) {
rc = SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT,
SQL_C_BINARY, SQL_LONGVARCHAR, length, 0,
offset, length, &output_length);
}
if(errorTrap(0)) {
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
return;
}
rc = SQLExecDirect(hstmt, blobcmd, SQL_NTS);
SQLRowCount(hstmt, &rv_lastNrows);
if(isfile) {
if(rc != SQL_NEED_DATA) {
close(fd);
if(rc == SQL_SUCCESS)
errorPrint("@blobInsert expected SQL_NEED_DATA");
errorTrap(0);
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
return;
}
output_length = 0;
rc = SQLParamData(hstmt, (void **)&output_length);
if((char *)output_length != blobcmd) {
close(fd);
errorPrint("2blobInsert got bad key from SQLParamData");
}
lseek(fd, 0L, 0);
while(length) {
int n = length;
if(n > sizeof (blobbuf))
n = sizeof (blobbuf);
if(read(fd, blobbuf, n) != n) {
close(fd);
errorPrint("2cannot read file %s, errno %d", filename, errno);
}
length -= n;
rc = SQLPutData(hstmt, blobbuf, n);
if(rc) {
close(fd);
errorTrap(0);
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
//.........这里部分代码省略.........
开发者ID:galexcode,项目名称:edbrowse,代码行数:101,代码来源:dbodbc.c
注:本文中的checkConnect函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论