您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ tSystemError函数代码示例

51自学网 2021-06-03 08:39:08
  C++
这篇教程C++ tSystemError函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中tSystemError函数的典型用法代码示例。如果您正苦于以下问题:C++ tSystemError函数的具体用法?C++ tSystemError怎么用?C++ tSystemError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了tSystemError函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: tSystemError

bool TSqlTransaction::begin(QSqlDatabase &database){    if (!database.isValid()) {        tSystemError("Can not begin transaction. Invalid database: %s", qPrintable(database.connectionName()));        return false;    }    if (!enabled)        return true;        bool ok;    int id = database.connectionName().left(2).toInt(&ok);        if (!ok || id < 0 || id >= databases.count()) {        tSystemError("Internal Error  [%s:%d]", __FILE__, __LINE__);        return false;    }        if (databases[id].isValid()) {        tSystemWarn("Has begun transaction already. database:%s", qPrintable(database.connectionName()));        return true;    }    if (database.transaction()) {        tQueryLog("[BEGIN] [databaseId:%d]", id);    }    databases[id] = database;    return true;}
开发者ID:deniskin82,项目名称:treefrog-framework,代码行数:30,


示例2: cri

bool TSessionSqlObjectStore::store(TSession &session){    TSqlORMapper<TSessionObject> mapper;    TCriteria cri(TSessionObject::Id, TSql::Equal, session.id());    TSessionObject so = mapper.findFirst(cri);#ifndef TF_NO_DEBUG    {        QByteArray badummy;        QDataStream dsdmy(&badummy, QIODevice::ReadWrite);        dsdmy << *static_cast<const QVariantMap *>(&session);        TSession dummy;        dsdmy.device()->seek(0);        dsdmy >> *static_cast<QVariantMap *>(&dummy);        if (dsdmy.status() != QDataStream::Ok) {            tSystemError("Failed to store a session into the cookie store. Must set objects that can be serialized.");        }    }#endif    QDataStream ds(&so.data, QIODevice::WriteOnly);    ds << *static_cast<const QVariantMap *>(&session);    if (ds.status() != QDataStream::Ok) {        tSystemError("Failed to store session. Must set objects that can be serialized.");        return false;    }    if (so.isNull()) {        so.id = session.id();        return so.create();    }    return so.update();}
开发者ID:skipbit,项目名称:treefrog-framework,代码行数:35,


示例3: T_TRACEFUNC

bool TApplicationServer::open(){    T_TRACEFUNC();    if (!isListening()) {        quint16 port = Tf::app()->treefrogSettings().value("ListenPort").toUInt();        if (!nativeListen(QHostAddress::Any, port)) {            tSystemError("listen failed.  port:%d", port);            return false;        } else {            tSystemDebug("listen successfully.  port:%d", port);        }    }    // Loads libraries    if (!libLoaded) {        // Sets work directory        QString libPath = Tf::app()->libPath();        if (QDir(libPath).exists()) {            // To resolve the symbols in the app libraries            QDir::setCurrent(libPath);        } else {            tSystemError("lib directory not found");            return false;        }                QStringList filter;#if defined(Q_OS_WIN)        filter << "controller.dll" << "view.dll";#elif defined(Q_OS_DARWIN)        filter << "libcontroller.dylib" << "libview.dylib";#elif defined(Q_OS_UNIX)        filter << "libcontroller.so" << "libview.so";#else        filter << "libcontroller.*" << "libview.*";#endif        QDir controllerDir(".");        QStringList list = controllerDir.entryList(filter, QDir::Files);        for (QStringListIterator i(list); i.hasNext(); ) {            QString path = controllerDir.absoluteFilePath(i.next());            QLibrary lib(path);            if (lib.load()) {                tSystemDebug("Library loaded: %s", qPrintable(path));                libLoaded = true;            } else {                tSystemDebug("%s", qPrintable(lib.errorString()));            }        }    }    TUrlRoute::initialize();    TSqlDatabasePool::initialize();    return true;}
开发者ID:pivaldi,项目名称:TreeFrog,代码行数:56,


示例4: memset

/*!  Listen for connections on UNIX domain. */int TApplicationServerBase::nativeListen(const QString &fileDomain, OpenFlag flag){    int sd = -1;    struct sockaddr_un addr;    memset(&addr, 0, sizeof(addr));    addr.sun_family = PF_UNIX;    if (sizeof(addr.sun_path) < (uint)fileDomain.toLatin1().size() + 1) {        tSystemError("too long name for UNIX domain socket  [%s:%d]", __FILE__, __LINE__);        return sd;    }    strncpy(addr.sun_path, fileDomain.toLatin1().data(), sizeof(addr.sun_path));    // create unix domain socket    sd = ::socket(PF_UNIX, SOCK_STREAM, 0);    if (sd < 0) {        tSystemError("Socket create failed  [%s:%d]", __FILE__, __LINE__);        return sd;    }    if (flag == CloseOnExec) {        ::fcntl(sd, F_SETFD, FD_CLOEXEC); // set close-on-exec flag    }    ::fcntl(sd, F_SETFL, ::fcntl(sd, F_GETFL) | O_NONBLOCK);  // non-block    QFile file(fileDomain);    if (file.exists()) {        file.remove();        tSystemWarn("File for UNIX domain socket removed: %s", qPrintable(fileDomain));    }    // Bind    if (::bind(sd, (sockaddr *)&addr, sizeof(sockaddr_un)) < 0) {        tSystemError("Bind failed  [%s:%d]", __FILE__, __LINE__);        goto socket_error;    }    file.setPermissions((QFile::Permissions)0x777);    // Listen    if (::listen(sd, 50) < 0) {        tSystemError("Listen failed  [%s:%d]", __FILE__, __LINE__);        goto socket_error;    }    return sd;socket_error:    nativeClose(sd);    return -1;}
开发者ID:AbhimanyuAryan,项目名称:treefrog-framework,代码行数:53,


示例5: ds

bool TSessionRedisStore::store(TSession &session){    QByteArray data;    QDataStream ds(&data, QIODevice::WriteOnly);    ds << *static_cast<const QVariantMap *>(&session);    data = qCompress(data, 1).toBase64();#ifndef TF_NO_DEBUG    {        QByteArray badummy;        QDataStream dsdmy(&badummy, QIODevice::ReadWrite);        dsdmy << *static_cast<const QVariantMap *>(&session);        TSession dummy;        dsdmy.device()->seek(0);        dsdmy >> *static_cast<QVariantMap *>(&dummy);        if (dsdmy.status() != QDataStream::Ok) {            tSystemError("Failed to store a session into the cookie store. Must set objects that can be serialized.");        }    }#endif    TRedis redis;    tSystemDebug("TSessionRedisStore::store  id:%s", session.id().data());    return redis.setEx('_' + session.id(), data, lifeTimeSecs());}
开发者ID:foundations,项目名称:treefrog-framework,代码行数:26,


示例6: mongoc_client_get_collection

bool TMongoDriver::updateMulti(const QString &collection, const QVariantMap &criteria, const QVariantMap &object){    if (!isOpen()) {        return false;    }    errorCode = 0;    errorString.clear();    bson_error_t error;    mongoc_collection_t *col = mongoc_client_get_collection(mongoClient, qPrintable(dbName), qPrintable(collection));    bool res = mongoc_collection_update(col, MONGOC_UPDATE_MULTI_UPDATE,                                        (bson_t *)TBson::toBson(criteria).data(),                                        (bson_t *)TBson::toBson(object).data(), nullptr, &error);    setLastCommandStatus(mongoc_collection_get_last_error(col));    mongoc_collection_destroy(col);    if (!res) {        tSystemError("MongoDB UpdateMulti Error: %s", error.message);        errorCode = error.code;        errorString = QLatin1String(error.message);    }    return res;}
开发者ID:foundations,项目名称:treefrog-framework,代码行数:25,


示例7: locker

bool TSendmailMailer::send(){    QMutexLocker locker(&sendMutex); // Global lock for load reduction of mail server    if (sendmailCmd.isEmpty()) {        return false;    }    QStringList args;    QByteArray rawmail = mailMessage.toByteArray();    const QList<QByteArray> recipients = mailMessage.recipients();    for (auto &recipt : recipients) {        args.clear();        args << recipt;        QProcess sendmail;        sendmail.start(sendmailCmd, args);        if (!sendmail.waitForStarted(5000)) {            tSystemError("Sendmail error. CMD: %s", qPrintable(sendmailCmd));            return false;        }        sendmail.write(rawmail);        sendmail.write("/n./n");        sendmail.waitForFinished();        tSystemDebug("Mail sent. Recipients: %s", recipt.data());    }    return true;}
开发者ID:foundations,项目名称:treefrog-framework,代码行数:30,


示例8: metaObject

bool TSqlObject::create(){    // Sets the default value of 'revision' property    int index = metaObject()->indexOfProperty(REVISION_PROPERTY_NAME);    if (index >= 0) {        setProperty(REVISION_PROPERTY_NAME, 1);  // 1 : default value    }    // Sets the values of 'created_at' and 'updated_at' properties    for (int i = metaObject()->propertyOffset(); i < metaObject()->propertyCount(); ++i) {        const char *propName = metaObject()->property(i).name();        if (QLatin1String("created_at") == propName            || QLatin1String("updated_at") == propName) {            setProperty(propName, QDateTime::currentDateTime());        }    }    syncToSqlRecord();    QString ins = TActionContext::currentDatabase().driver()->sqlStatement(QSqlDriver::InsertStatement, tableName(), *static_cast<QSqlRecord *>(this), false);    if (ins.isEmpty()) {        sqlError = QSqlError(QLatin1String("No fields to insert"),                             QString(), QSqlError::StatementError);        tWarn("SQL statement error, no fields to insert");        return false;    }    tSystemDebug("SQL statement: %s", qPrintable(ins));    QSqlQuery query(TActionContext::currentDatabase());    bool res = query.exec(ins);    sqlError = query.lastError();    if (!res) {        tSystemError("SQL insert error: %s", qPrintable(sqlError.text()));    }    return res;}
开发者ID:pivaldi,项目名称:TreeFrog,代码行数:35,


示例9: syncToSqlRecord

bool TSqlObject::remove(){    syncToSqlRecord();    QString del = TActionContext::currentDatabase().driver()->sqlStatement(QSqlDriver::DeleteStatement, tableName(), *static_cast<QSqlRecord *>(this), false);        if (del.isEmpty()) {        sqlError = QSqlError(QLatin1String("Unable to delete row"),                             QString(), QSqlError::StatementError);        return false;    }    del.append(" WHERE ");    int revIndex = metaObject()->indexOfProperty(REVISION_PROPERTY_NAME);    if (revIndex >= 0) {        bool ok;        int revsion = property(REVISION_PROPERTY_NAME).toInt(&ok);        if (!ok || revsion <= 0) {            sqlError = QSqlError(QLatin1String("Unable to convert the 'revision' property to an int"),                                 QString(), QSqlError::UnknownError);            tError("Unable to convert the 'revsion' property to an int, %s", qPrintable(objectName()));            return false;        }        del.append(TSqlQuery::escapeIdentifier(REVISION_PROPERTY_NAME));        del.append("=").append(TSqlQuery::formatValue(revsion));        del.append(" AND ");    }    const char *pkName = metaObject()->property(metaObject()->propertyOffset() + primaryKeyIndex()).name();    if (primaryKeyIndex() < 0 || !pkName) {        QString msg = QString("Not found the primary key for table ") + tableName();        sqlError = QSqlError(msg, QString(), QSqlError::StatementError);        tError("%s", qPrintable(msg));        return false;    }    del.append(TSqlQuery::escapeIdentifier(pkName));    del.append("=").append(TSqlQuery::formatValue(property(pkName)));    tSystemDebug("SQL statement: %s", qPrintable(del));    QSqlQuery query(TActionContext::currentDatabase());    bool res = query.exec(del);    sqlError = query.lastError();    if (!res) {        tSystemError("SQL delete error: %s", qPrintable(sqlError.text()));        return false;    }        // Optimistic lock check    if (query.numRowsAffected() != 1) {        if (revIndex >= 0) {            QString msg = QString("Row was updated or deleted from table ") + tableName() + QLatin1String(" by another transaction");            sqlError = QSqlError(msg, QString(), QSqlError::UnknownError);            throw SqlException(msg, __FILE__, __LINE__);        }        tWarn("Row was deleted by another transaction, %s", qPrintable(tableName()));    }    clear();    return true;}
开发者ID:pivaldi,项目名称:TreeFrog,代码行数:60,


示例10: tSystemWarn

TSession TSessionCookieStore::find(const QByteArray &id, const QDateTime &){    TSession session;    if (id.isEmpty())        return session;    QList<QByteArray> balst = id.split('_');    if (balst.count() == 2 && !balst.value(0).isEmpty() && !balst.value(1).isEmpty()) {        QByteArray ba = QByteArray::fromHex(balst.value(0));        QByteArray digest = QCryptographicHash::hash(ba + Tf::app()->appSettings().value("Session.Secret").toByteArray(),                                                     QCryptographicHash::Sha1);                if (digest != QByteArray::fromHex(balst.value(1))) {            tSystemWarn("Recieved a tampered cookie or that of other web application.");            //throw SecurityException("Tampered with cookie", __FILE__, __LINE__);            return session;        }        QDataStream ds(&ba, QIODevice::ReadOnly);        ds >> *static_cast<QVariantHash *>(&session);                if (ds.status() != QDataStream::Ok) {            tSystemError("Unable to load a session from the cookie store.");            session.clear();        }    }
开发者ID:Keloran,项目名称:treefrog-framework,代码行数:26,


示例11: locker

void TFileAioLogger::log(const QByteArray &msg){    QMutexLocker locker(&d->mutex);    Q_ASSERT(isOpen());    // check whether last writing is finished    if (d->syncBuffer.count() > 0) {        struct aiocb *lastcb = d->syncBuffer.last();        if (aio_error(lastcb) != EINPROGRESS) {            d->clearSyncBuffer();        }    }    struct aiocb *cb = new struct aiocb;    memset(cb, 0, sizeof(struct aiocb));    cb->aio_fildes = d->fileDescriptor;    cb->aio_nbytes = msg.length();    cb->aio_buf = new char[msg.length()];    memcpy((void *)cb->aio_buf, msg.data(), msg.length());    if (tf_aio_write(cb) < 0) {        tSystemError("log write failed");        delete[] (char *)cb->aio_buf;        delete cb;        close();        return;    }    d->syncBuffer << cb;}
开发者ID:foundations,项目名称:treefrog-framework,代码行数:32,


示例12: locker

/*!  Loads a query from the given file /a filename.*/bool TSqlQuery::load(const QString &filename){    QMutexLocker locker(&cacheMutex);    QString query = queryCache.value(filename);    if (!query.isEmpty()) {        return QSqlQuery::prepare(query);    }    QDir dir(queryDirPath());    QFile file(dir.filePath(filename));    tSystemDebug("SQL_QUERY_ROOT: %s", qPrintable(dir.dirName()));    tSystemDebug("filename: %s", qPrintable(file.fileName()));    if (!file.open(QIODevice::ReadOnly)) {        tSystemError("Unable to open file: %s", qPrintable(file.fileName()));        return false;    }    query = QObject::tr(file.readAll().constData());    bool res = QSqlQuery::prepare(query);    if (res) {        // Caches the query-string        queryCache.insert(filename, query);    }    return res;}
开发者ID:skipbit,项目名称:treefrog-framework,代码行数:29,


示例13: tSystemError

bool TSmtpMailer::connectToHost(const QString &hostName, quint16 port){    socket->connectToHost(hostName, port);    if (!socket->waitForConnected(5000)) {        tSystemError("SMTP server connect error: %s", qPrintable(socket->errorString()));        return false;    }    return (read() == 220);}
开发者ID:skipbit,项目名称:treefrog-framework,代码行数:9,


示例14: epollFd

TEpoll::TEpoll()    : epollFd(0), events(new struct epoll_event[MaxEvents]),      polling(false), numEvents(0), eventIterator(0), pollingSockets(){    epollFd = epoll_create(1);    if (epollFd < 0) {        tSystemError("Failed epoll_create()");    }}
开发者ID:skipbit,项目名称:treefrog-framework,代码行数:9,


示例15: tSystemError

void ServerManager::errorDetect(QProcess::ProcessError error){    QProcess *server = qobject_cast<QProcess *>(sender());    if (server) {        tSystemError("tfserver error detected(%d). [%s]", error, TFSERVER_CMD);        //server->close();  // long blocking..        server->kill();    }}
开发者ID:foundations,项目名称:treefrog-framework,代码行数:9,


示例16: mongo_clear_errors

bool TMongoDriver::open(const QString &db, const QString &user, const QString &password, const QString &host, quint16 port, const QString &){    if (host.isEmpty()) {        return false;    }    if (!port)        port = MONGO_DEFAULT_PORT;    mongo_clear_errors(mongoConnection);    mongo_set_op_timeout(mongoConnection, 1000);    int status = mongo_client(mongoConnection, qPrintable(host), port);    if (status != MONGO_OK) {        switch (mongoConnection->err) {        case MONGO_CONN_NO_SOCKET:            tSystemError("MongoDB socket error: %s", mongoConnection->lasterrstr);            break;        case MONGO_CONN_FAIL:            tSystemError("MongoDB connection failed: %s", mongoConnection->lasterrstr);            break;        case MONGO_CONN_NOT_MASTER:            tSystemDebug("MongoDB not master: %s", mongoConnection->lasterrstr);            break;        default:            tSystemError("MongoDB error: %s", mongoConnection->lasterrstr);            break;        }        return false;    }    if (!user.isEmpty()) {        status = mongo_cmd_authenticate(mongoConnection, qPrintable(db), qPrintable(user), qPrintable(password));        if (status != MONGO_OK) {            tSystemDebug("MongoDB authentication error: %s", mongoConnection->lasterrstr);            return false;        }    }    return (status == MONGO_OK);}
开发者ID:deepaksharma2491,项目名称:treefrog-framework,代码行数:44,


示例17: while

void TEpoll::dispatchSendData(){    TSendData *sd;    while (sendRequests.dequeue(sd)) {        TEpollSocket *sock = sd->socket;        if (Q_UNLIKELY(sock->socketDescriptor() <= 0)) {            tSystemDebug("already disconnected:  sid:%d", sock->socketId());            continue;        }        switch (sd->method) {        case TSendData::Disconnect:            deletePoll(sock);            sock->close();            sock->deleteLater();            break;        case TSendData::SwitchToWebSocket: {            tSystemDebug("Switch to WebSocket");            Q_ASSERT(sd->buffer == nullptr);            QByteArray secKey = sd->header.rawHeader("Sec-WebSocket-Key");            tSystemDebug("secKey: %s", secKey.data());            int newsocket = TApplicationServerBase::duplicateSocket(sock->socketDescriptor());            // Switch to WebSocket            TEpollWebSocket *ws = new TEpollWebSocket(newsocket, sock->peerAddress(), sd->header);            ws->moveToThread(Tf::app()->thread());            addPoll(ws, (EPOLLIN | EPOLLOUT | EPOLLET));  // reset            // Stop polling and delete            deletePoll(sock);            sock->deleteLater();            // WebSocket opening            TSession session;            QByteArray sessionId = sd->header.cookie(TSession::sessionName());            if (!sessionId.isEmpty()) {                // Finds a session                session = TSessionManager::instance().findSession(sessionId);            }            ws->startWorkerForOpening(session);            break; }        default:            tSystemError("Logic error [%s:%d]", __FILE__, __LINE__);            if (sd->buffer) {                delete sd->buffer;            }            break;        }        delete sd;    }}
开发者ID:skipbit,项目名称:treefrog-framework,代码行数:56,


示例18: userLogout

/*!  /~english  Logs the user /a user in to the system.    This is a virtual function.  /~japanese  ユ
C++ t_函数代码示例
C++ tSystemDebug函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。