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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? qabstractfileengine.cpp

?? QT 開(kāi)發(fā)環(huán)境里面一個(gè)很重要的文件
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/******************************************************************************** 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{

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亲子伦对白| 午夜精品在线视频一区| 久久亚洲欧美国产精品乐播| 7777精品伊人久久久大香线蕉超级流畅| www.66久久| 成人在线视频首页| 成人在线综合网站| av在线不卡观看免费观看| 成人av在线网站| 99久久免费视频.com| 99久久免费精品高清特色大片| 99久久99久久精品免费看蜜桃| 成人av在线电影| 99精品国产视频| 一本色道**综合亚洲精品蜜桃冫 | 91精品久久久久久久久99蜜臂| 欧美日韩国产免费| 91精品国产综合久久福利软件 | 欧美日韩不卡在线| 日韩一卡二卡三卡| 久久尤物电影视频在线观看| 久久久午夜精品理论片中文字幕| 欧美精品一区二区三区在线| 久久久www成人免费无遮挡大片| 国产三级欧美三级日产三级99| 国产亚洲一区二区三区四区| 中文字幕一区二区三区四区不卡| 亚洲日本在线看| 午夜私人影院久久久久| 久久国产精品99久久人人澡| 国产九色sp调教91| 色吧成人激情小说| 8x8x8国产精品| 久久久久久免费| 亚洲日本欧美天堂| 亚洲不卡一区二区三区| 精品一二三四在线| 成人av电影免费观看| 欧美日韩综合在线| 久久综合久久综合久久| 综合色中文字幕| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产成人综合在线播放| 欧美专区在线观看一区| 日韩免费观看高清完整版| 国产精品全国免费观看高清| 天天色综合天天| 国产高清成人在线| 欧美日韩午夜在线视频| 欧美激情一区在线观看| 亚瑟在线精品视频| 岛国精品一区二区| 69久久夜色精品国产69蝌蚪网| 国产日韩欧美综合在线| 日韩精品福利网| 成人av先锋影音| 日韩美女视频在线| 亚洲精品欧美在线| 高清不卡一区二区在线| 制服丝袜激情欧洲亚洲| 成人欧美一区二区三区白人| 蜜臀av一级做a爰片久久| av在线这里只有精品| 日韩欧美国产高清| 亚洲一区影音先锋| 国产99精品在线观看| 欧美一区二区在线播放| 亚洲美女屁股眼交3| 国产精品一品视频| 欧美一区二区三区免费| 亚洲一区二区影院| 成人免费毛片aaaaa**| 日韩网站在线看片你懂的| 专区另类欧美日韩| 国产高清不卡一区二区| 日韩欧美在线影院| 亚洲成人免费影院| 99久久伊人精品| 国产女人水真多18毛片18精品视频 | 国产精品久久久一本精品| 另类小说图片综合网| 欧美日韩亚洲国产综合| 亚洲激情图片qvod| 91网页版在线| 国产精品久久久久久久久晋中| 精品一区二区三区的国产在线播放| 欧美日韩一区国产| 亚洲自拍偷拍网站| 一本色道综合亚洲| 亚洲欧美日韩一区二区三区在线观看| 国产久卡久卡久卡久卡视频精品| 日韩精品一区二区三区三区免费| 五月婷婷久久丁香| 欧美亚洲国产一区在线观看网站 | 国产成a人亚洲| 久久亚洲一区二区三区明星换脸 | 免费三级欧美电影| 在线成人高清不卡| 天堂成人免费av电影一区| 欧美午夜精品电影| 一级中文字幕一区二区| 色视频一区二区| 一卡二卡三卡日韩欧美| 欧洲在线/亚洲| 亚洲黄色免费电影| 欧美日韩在线免费视频| 午夜一区二区三区视频| 欧美日韩亚洲综合| 日韩高清欧美激情| 日韩视频一区二区| 激情文学综合丁香| 久久久久久久综合色一本| 国产一区二区三区最好精华液| 久久蜜桃一区二区| 国产精品77777| 日本一区二区高清| 97se亚洲国产综合自在线不卡 | 性久久久久久久| 91麻豆精品国产自产在线| 麻豆视频一区二区| 久久综合色之久久综合| 成人av动漫在线| 一区二区日韩av| 666欧美在线视频| 看国产成人h片视频| 精品盗摄一区二区三区| 福利一区在线观看| 亚洲美女视频在线| 91精品国产综合久久精品| 黄网站免费久久| 综合色天天鬼久久鬼色| 欧美三级视频在线| 狂野欧美性猛交blacked| 中文字幕精品综合| 在线观看精品一区| 免费精品99久久国产综合精品| 久久色在线观看| av不卡免费在线观看| 午夜不卡av在线| 精品捆绑美女sm三区| av资源站一区| 免费成人在线视频观看| 国产日韩精品一区| 欧美在线色视频| 久久精品国产99国产精品| 中文字幕高清一区| 欧美日韩一级视频| 国产成人精品亚洲午夜麻豆| 亚洲色欲色欲www| 日韩免费性生活视频播放| 99re在线视频这里只有精品| 免费成人在线观看| 亚洲啪啪综合av一区二区三区| 91精品国产乱码久久蜜臀| 丁香一区二区三区| 日韩成人免费电影| 国产精品久99| 日韩三级精品电影久久久| 91丨porny丨国产| 久久精品国产亚洲高清剧情介绍| 中文字幕一区二区视频| 精品免费国产一区二区三区四区| 91网站黄www| 国产精品99久久久久久似苏梦涵| 亚洲国产综合人成综合网站| 久久精品一区二区三区不卡牛牛| 欧美日韩在线播放一区| 成人黄色av网站在线| 麻豆久久一区二区| 亚洲国产精品视频| 国产精品久久久久久福利一牛影视 | 亚洲天天做日日做天天谢日日欢| 日韩视频中午一区| 欧美性感一区二区三区| 国产不卡在线一区| 日本亚洲三级在线| 亚洲靠逼com| 国产精品午夜久久| 欧美精品一区二区精品网| 欧美伦理视频网站| 色婷婷精品久久二区二区蜜臀av| 国产成人8x视频一区二区| 免费成人av资源网| 一区二区高清免费观看影视大全| 国产精品麻豆一区二区| 久久久夜色精品亚洲| 精品福利一区二区三区| 欧美伦理电影网| 欧美三级蜜桃2在线观看| 色综合天天综合在线视频| 国产**成人网毛片九色| 国产乱色国产精品免费视频| 美女网站一区二区| 日韩制服丝袜先锋影音| 亚洲国产精品天堂| 亚洲成人免费av| 亚洲h精品动漫在线观看| 亚洲亚洲精品在线观看| 亚洲在线视频一区| 亚洲一区二区三区四区中文字幕|