亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qabstractfileengine.cpp

?? QT 開發(fā)環(huán)境里面一個(gè)很重要的文件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qabstractfileengine.h"#include "private/qabstractfileengine_p.h"#include "qdatetime.h"#include "qmutex.h"// built-in handlers#include "qfsfileengine.h"/*!    \class QAbstractFileEngineHandler    \reentrant    \brief The QAbstractFileEngineHandler class provides a way to register    custom file engines with your application.    \ingroup io    \since 4.1    QAbstractFileEngineHandler is a factory for creating QAbstractFileEngine    objects (file engines), which are used internally by QFile, QFileInfo, and    QDir when working with files and directories.    When you open a file, Qt chooses a suitable file engine by passing the    file name from QFile or QDir through an internal list of registered file    engine handlers. The first handler to recognize the file name is used to    create the engine. Qt provides internal file engines for working with    regular files and resources, but you can also register your own    QAbstractFileEngine subclasses.    To install an application-specific file engine, you subclass    QAbstractFileEngineHandler and reimplement create(). When you instantiate    the handler (e.g. by creating an instance on the stack or on the heap), it    will automatically register with Qt. (The latest registered handler takes    precedence over existing handlers.)    For example:    \code        class ZipEngineHandler : public QAbstractFileEngineHandler        {        public:            QAbstractFileEngine *create(const QString &fileName) const;        };        QAbstractFileEngine *ZipEngineHandler::create(const QString &fileName) const        {            // ZipEngineHandler returns a ZipEngine for all .zip files            return fileName.toLower().endsWith(".zip") ? new ZipEngine(fileName) : 0;        }        int main(int argc, char **argv)        {            QApplication app(argc, argv);            ZipEngineHandler engine;            MainWindow window;            window.show();            return app.exec();        }    \endcode    When the handler is destroyed, it is automatically removed from Qt.    The most common approach to registering a handler is to create an instance    as part of the start-up phase of your application. It is also possible to    limit the scope of the file engine handler to a particular area of    interest (e.g. a special file dialog that needs a custom file engine). By    creating the handler inside a local scope, you can precisely control the    area in which your engine will be applied without disturbing file    operations in other parts of your application.    \sa QAbstractFileEngine, QAbstractFileEngine::create()*//*! \typedef QAbstractFileEngine::Iterator    \internal*//*    All application-wide handlers are stored in this list. The mutex must be    acquired to ensure thread safety. */Q_GLOBAL_STATIC_WITH_ARGS(QMutex, fileEngineHandlerMutex, (QMutex::Recursive))static bool qt_abstractfileenginehandlerlist_shutDown = false;class QAbstractFileEngineHandlerList : public QList<QAbstractFileEngineHandler *>{public:    ~QAbstractFileEngineHandlerList()    {        QMutexLocker locker(fileEngineHandlerMutex());        qt_abstractfileenginehandlerlist_shutDown = true;    }};Q_GLOBAL_STATIC(QAbstractFileEngineHandlerList, fileEngineHandlers)/*!    Constructs a file handler and registers it with Qt. Once created this    handler's create() function will be called (along with all the other    handlers) for any paths used. The most recently created handler that    recognizes the given path (i.e. that returns a QAbstractFileEngine) is    used for the new path.    \sa create() */QAbstractFileEngineHandler::QAbstractFileEngineHandler(){    QMutexLocker locker(fileEngineHandlerMutex());    fileEngineHandlers()->prepend(this);}/*!    Destroys the file handler. This will automatically unregister the handler    from Qt. */QAbstractFileEngineHandler::~QAbstractFileEngineHandler(){    QMutexLocker locker(fileEngineHandlerMutex());    // Remove this handler from the handler list only if the list is valid.    if (!qt_abstractfileenginehandlerlist_shutDown)        fileEngineHandlers()->removeAll(this);}/*!    \fn QAbstractFileEngine *QAbstractFileEngineHandler::create(const QString &fileName) const    Creates a file engine for file \a fileName. Returns 0 if this    file handler cannot handle \a fileName.    Example:    \code        QAbstractSocketEngine *ZipEngineHandler::create(const QString &fileName) const        {            // ZipEngineHandler returns a ZipEngine for all .zip files            return fileName.toLower().endsWith(".zip") ? new ZipEngine(fileName) : 0;        }    \endcode    \sa QAbstractFileEngine::create()*/    /*!    Creates and returns a QAbstractFileEngine suitable for processing \a    fileName.    You should not need to call this function; use QFile, QFileInfo or QDir    directly instead.    \sa QAbstractFileEngineHandler*/QAbstractFileEngine *QAbstractFileEngine::create(const QString &fileName){    QMutexLocker locker(fileEngineHandlerMutex());    // check for registered handlers that can load the file    for (int i = 0; i < fileEngineHandlers()->size(); i++) {        if (QAbstractFileEngine *ret = fileEngineHandlers()->at(i)->create(fileName))            return ret;    }    // fall back to regular file engine    return new QFSFileEngine(fileName);}/*!    \class QAbstractFileEngine    \reentrant    \brief The QAbstractFileEngine class provides an abstraction for accessing    the filesystem.    \ingroup io    \since 4.1    The QDir, QFile, and QFileInfo classes all make use of a    QAbstractFileEngine internally. If you create your own QAbstractFileEngine    subclass (and register it with Qt by creating a QAbstractFileEngineHandler    subclass), your file engine will be used when the path is one that your    file engine handles.    A QAbstractFileEngine refers to one file or one directory. If the referent    is a file, the setFileName(), rename(), and remove() functions are    applicable. If the referent is a directory the mkdir(), rmdir(), and    entryList() functions are applicable. In all cases the caseSensitive(),    isRelativePath(), fileFlags(), ownerId(), owner(), and fileTime()    functions are applicable.    A QAbstractFileEngine subclass can be created to do synchronous network I/O    based file system operations, local file system operations, or to operate    as a resource system to access file based resources.   \sa QAbstractFileEngineHandler*//*!    \enum QAbstractFileEngine::FileName    These values are used to request a file name in a particular    format.    \value DefaultName The same filename that was passed to the    QAbstractFileEngine.    \value BaseName The name of the file excluding the path.    \value PathName The path to the file excluding the base name.    \value AbsoluteName The absolute path to the file (including    the base name).    \value AbsolutePathName The absolute path to the file (excluding    the base name).    \value LinkName The full file name of the file that this file is alink to. (This will be empty if this file is not a link.)    \value CanonicalName Often very similar to LinkName. Will return the true path to the file.    \value CanonicalPathName Same as CanonicalName, excluding the base name.    \sa fileName(), setFileName()*//*!    \enum QAbstractFileEngine::FileFlag    The permissions and types of a file, suitable for OR'ing together.    \value ReadOwnerPerm The owner of the file has permission to read    it.    \value WriteOwnerPerm The owner of the file has permission to    write to it.    \value ExeOwnerPerm The owner of the file has permission to    execute it.    \value ReadUserPerm The current user has permission to read the    file.    \value WriteUserPerm The current user has permission to write to    the file.    \value ExeUserPerm The current user has permission to execute the    file.    \value ReadGroupPerm Members of the current user's group have    permission to read the file.    \value WriteGroupPerm Members of the current user's group have    permission to write to the file.    \value ExeGroupPerm Members of the current user's group have    permission to execute the file.    \value ReadOtherPerm All users have permission to read the file.    \value WriteOtherPerm All users have permission to write to the    file.    \value ExeOtherPerm All users have permission to execute the file.    \value LinkType The file is a link to another file (or link) in    the file system (i.e. not a file or directory).    \value FileType The file is a regular file to the file system    (i.e. not a link or directory)    \value DirectoryType The file is a directory in the file system    (i.e. not a link or file).    \value HiddenFlag The file is hidden.    \value ExistsFlag The file actually exists in the file system.    \value RootFlag  The file or the file pointed to is the root of the filesystem.    \value LocalDiskFlag The file resides on the local disk and can be passed to standard file functions.    \omitvalue PermsMask    \omitvalue TypesMask    \omitvalue FlagsMask    \omitvalue FileInfoAll    \sa fileFlags(), setFileName()*//*!    \enum QAbstractFileEngine::FileTime    These are used by the fileTime() function.    \value CreationTime When the file was created.    \value ModificationTime When the file was most recently modified.    \value AccessTime When the file was most recently accessed (e.g.    read or written to).    \sa setFileName()*//*!    \enum QAbstractFileEngine::FileOwner    \value OwnerUser The user who owns the file.    \value OwnerGroup The group who owns the file.    \sa owner(), ownerId(), setFileName()*//*!   Constructs a new QAbstractFileEngine that does not refer to any file or directory.   \sa setFileName() */QAbstractFileEngine::QAbstractFileEngine() : d_ptr(new QAbstractFileEnginePrivate){    d_ptr->q_ptr = this;}/*!   \internal   Constructs a QAbstractFileEngine. */QAbstractFileEngine::QAbstractFileEngine(QAbstractFileEnginePrivate &dd) : d_ptr(&dd){    d_ptr->q_ptr = this;}/*!    Destroys the QAbstractFileEngine. */QAbstractFileEngine::~QAbstractFileEngine(){    delete d_ptr;    d_ptr = 0;}/*!    \fn bool QAbstractFileEngine::open(QIODevice::OpenMode mode)    Opens the file in the specified \a mode. Returns true if the file    was successfully opened; otherwise returns false.    The \a mode is an OR combination of QIODevice::OpenMode and    QIODevice::HandlingMode values.*/bool QAbstractFileEngine::open(QIODevice::OpenMode openMode){    Q_UNUSED(openMode);    return false;}/*!    Closes the file, returning true if successful; otherwise returns false.    The default implementation always returns false.*/bool QAbstractFileEngine::close(){    return false;}/*!    Flushes the open file, returning true if successful; otherwise returns    false.    The default implementation always returns false.*/bool QAbstractFileEngine::flush(){    return false;}/*!    Returns the size of the file.*/qint64 QAbstractFileEngine::size() const{    return 0;}/*!    Returns the current file position.    This is the position of the data read/write head of the file.*/qint64 QAbstractFileEngine::pos() const{    return 0;}/*!    \fn bool QAbstractFileEngine::seek(qint64 offset)    Sets the file position to the given \a offset. Returns true if    the position was successfully set; otherwise returns false.    The offset is from the beginning of the file, unless the    file is sequential.    \sa isSequential()*/bool QAbstractFileEngine::seek(qint64 pos){    Q_UNUSED(pos);    return false;}/*!    Returns true if the file is a sequential access device; returns    false if the file is a direct access device.    Operations involving size() and seek(int) are not valid on    sequential devices.*/bool QAbstractFileEngine::isSequential() const{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产一区二区三| 国产999精品久久久久久绿帽| 26uuu色噜噜精品一区| 色呦呦国产精品| 国产一区二区三区电影在线观看| 亚洲激情自拍偷拍| 国产精品伦理一区二区| 欧美成人aa大片| 欧美午夜精品久久久久久超碰| 国产精品一区在线观看你懂的| 天天综合色天天综合| 国产精品久久久99| 精品动漫一区二区三区在线观看| 在线观看日韩一区| av不卡在线观看| 国产一区二区三区四| 免费成人在线观看| 天天免费综合色| 艳妇臀荡乳欲伦亚洲一区| 国产精品美女久久久久久久 | 色噜噜狠狠色综合中国 | 欧美性色黄大片| 91视频精品在这里| 成人h版在线观看| 成人午夜短视频| 国产夫妻精品视频| 国产成人免费在线观看| 韩国毛片一区二区三区| 精品无人码麻豆乱码1区2区 | 美女精品自拍一二三四| 亚洲第一在线综合网站| 亚洲一级二级三级| 一区二区三区四区五区视频在线观看| 日本一区二区高清| 国产午夜精品在线观看| 国产免费成人在线视频| 国产日产精品1区| 欧美极品aⅴ影院| 国产精品美女久久久久久| 国产精品区一区二区三区| 国产日韩欧美在线一区| 国产欧美综合色| 中文字幕一区免费在线观看| 国产精品日韩成人| 亚洲三级在线看| 亚洲综合色成人| 午夜精品久久久久久不卡8050| 亚洲123区在线观看| 无吗不卡中文字幕| 美女爽到高潮91| 国产精品一线二线三线| 丁香天五香天堂综合| 国产高清亚洲一区| av亚洲精华国产精华| 色婷婷一区二区| 欧美日韩一区二区在线观看 | 国产成人精品影院| 99久久婷婷国产综合精品电影| 色综合久久中文字幕综合网| 欧美亚洲精品一区| 日韩亚洲欧美一区二区三区| 精品久久久久久久久久久院品网 | 成人动漫一区二区| 在线观看精品一区| 欧美mv和日韩mv国产网站| 久久精品亚洲精品国产欧美kt∨| 国产精品久久久久久久午夜片| 一区二区在线免费观看| 美日韩黄色大片| 成人天堂资源www在线| 91黄色激情网站| 欧美va天堂va视频va在线| 国产人久久人人人人爽| 亚洲午夜电影网| 国产自产2019最新不卡| 91亚洲永久精品| 日韩欧美亚洲一区二区| 中文字幕在线免费不卡| 日韩电影一二三区| av在线不卡观看免费观看| 欧美女孩性生活视频| 久久一区二区三区四区| 一区二区高清免费观看影视大全| 久久国产精品区| 色综合久久久久久久| 精品日韩一区二区三区免费视频| 最新欧美精品一区二区三区| 五月天一区二区三区| 成人免费视频国产在线观看| 欧美精选在线播放| 国产精品乱码久久久久久| 日韩影院免费视频| 99精品国产视频| 久久综合狠狠综合| 三级影片在线观看欧美日韩一区二区| 国产成人综合亚洲网站| 欧美日韩国产美| 亚洲欧洲制服丝袜| 国产精品一区二区三区网站| 宅男噜噜噜66一区二区66| 亚洲人成7777| 国产精品一区专区| 日韩欧美一二三区| 亚洲成人自拍网| 91蜜桃传媒精品久久久一区二区| 久久午夜色播影院免费高清| 丝袜国产日韩另类美女| 欧洲色大大久久| 中文字幕一区av| 国产+成+人+亚洲欧洲自线| 欧美一区二区三区视频免费| 一个色妞综合视频在线观看| 成人中文字幕在线| 精品国产麻豆免费人成网站| 天天影视涩香欲综合网| 色婷婷国产精品久久包臀| 国产欧美一区二区精品性色超碰 | 激情综合色综合久久| 欧美男女性生活在线直播观看| 亚洲视频免费观看| 成人在线综合网| 国产精品视频一二| 顶级嫩模精品视频在线看| 久久欧美一区二区| 国产麻豆精品95视频| 久久影院午夜论| 国产一区二区视频在线播放| 精品国产乱码久久久久久久久| 七七婷婷婷婷精品国产| 欧美高清激情brazzers| 午夜精品一区二区三区电影天堂| 在线观看成人免费视频| 亚洲精品免费在线| 色av综合在线| 亚洲主播在线播放| 欧美日韩中文精品| 天天综合日日夜夜精品| 欧美日韩高清一区二区三区| 天堂av在线一区| 日韩免费视频一区| 国产精品影视网| 国产精品盗摄一区二区三区| 成人一区二区三区中文字幕| 成人欧美一区二区三区黑人麻豆 | 精品中文字幕一区二区小辣椒| 日韩免费观看高清完整版在线观看| 午夜精品123| 日韩精品中文字幕在线一区| 国产在线国偷精品免费看| 亚洲国产精品ⅴa在线观看| 99免费精品在线观看| 亚洲精品亚洲人成人网在线播放| 欧美日韩在线直播| 蜜桃91丨九色丨蝌蚪91桃色| 26uuu欧美| 99久久久无码国产精品| 亚洲成人福利片| 久久综合久色欧美综合狠狠| 粉嫩高潮美女一区二区三区| 亚洲欧洲在线观看av| 欧美老女人在线| 国内欧美视频一区二区| 亚洲欧洲精品成人久久奇米网| 欧美亚一区二区| 精品无人区卡一卡二卡三乱码免费卡| 欧美高清在线视频| 精品视频123区在线观看| 狠狠色综合日日| 亚洲乱码国产乱码精品精的特点| 欧美日韩国产综合久久 | 播五月开心婷婷综合| 亚洲一区视频在线| 欧美一区二区三区免费大片 | 91精品国产高清一区二区三区蜜臀| 精品无码三级在线观看视频| 国产精品久久久久久一区二区三区 | 久久99热这里只有精品| 中文字幕乱码久久午夜不卡| 欧美午夜免费电影| 国产一区二区电影| 亚洲国产精品视频| 国产欧美一区二区精品性色超碰| 欧美午夜在线观看| 国产午夜精品久久| 亚洲精品乱码久久久久久黑人| 日韩欧美第一区| 色婷婷国产精品综合在线观看| 久久99精品久久久久久动态图| 亚洲精品中文在线观看| 精品日韩成人av| 色中色一区二区| 国产aⅴ综合色| 奇米影视在线99精品| 亚洲伦理在线精品| 国产亚洲欧洲997久久综合| 欧美三电影在线| av亚洲精华国产精华精| 国产一区二区三区四区五区入口| 亚洲chinese男男1069| 亚洲日本va午夜在线影院|