コード例 #1
0
ファイル: qvfb.cpp プロジェクト: NikhilNJ/screenplay-dx
static bool copyButtonConfiguration(const QString &prefix, int displayId)
{
    const QString destDir = QT_VFB_DATADIR(displayId).append("/");
    const QFileInfo src(prefix + QLatin1String("defaultbuttons.conf"));
    const QFileInfo dst(destDir + QLatin1String("defaultbuttons.conf"));
    unlink(dst.absoluteFilePath().toLatin1().constData());
    if (!src.exists())
        return false;
    const bool rc = QFile::copy(src.absoluteFilePath(), dst.absoluteFilePath());
    if (!rc)
        qWarning() << "Failed to copy the button configuration file " << src.absoluteFilePath() << " to " <<  dst.absoluteFilePath() << '.';
    return rc;
}
コード例 #2
0
ファイル: qvfbshmem.cpp プロジェクト: AtlantisCD9/Qt
QT_BEGIN_NAMESPACE

#ifdef Q_WS_QWS
#error qvfb must be compiled with  the Qt for X11 package
#endif

// Get the name of the directory where Qt for Embedded Linux temporary data should
// live.
static QString qws_dataDir(int qws_display_id)
{
    static QString result;
    if (!result.isEmpty())
        return result;
    result = QT_VFB_DATADIR(qws_display_id);
    QByteArray dataDir = result.toLocal8Bit();

#if defined(Q_OS_INTEGRITY)
    /* ensure filesystem is ready before starting requests */
    WaitForFileSystemInitialization();
#endif

    if (QT_MKDIR(dataDir, 0700)) {
        if (errno != EEXIST) {
            qFatal("Cannot create Qt for Embedded Linux data directory: %s", dataDir.constData());
        }
    }

    QT_STATBUF buf;
    if (QT_LSTAT(dataDir, &buf))
        qFatal("stat failed for Qt for Embedded Linux data directory: %s", dataDir.constData());

    if (!S_ISDIR(buf.st_mode))
        qFatal("%s is not a directory", dataDir.constData());

#if !defined(Q_OS_INTEGRITY) && !defined(Q_OS_VXWORKS) && !defined(Q_OS_QNX)
    if (buf.st_uid != getuid())
        qFatal("Qt for Embedded Linux data directory is not owned by user %uh", getuid());

    if ((buf.st_mode & 0677) != 0600)
        qFatal("Qt for Embedded Linux data directory has incorrect permissions: %s", dataDir.constData());
#endif

    result.append(QLatin1Char('/'));
    return result;
}