Na ovoj stranici

Utils::FileSystemWatcher Class

class Utils::FileSystemWatcher

Klasa FileSystemWatcher je nadzornik datoteka koji interno koristi centralizirano praćenje promjena ( QFileSystemWatcher ) i nameće ograničenja na Mac OS-u. Više...

Header: #include <FileSystemWatcher>
Inherits: QObject

Javne funkcije

FileSystemWatcher(QObject *parent = nullptr)
FileSystemWatcher(int id, QObject *parent = nullptr)

Detaljan opis

Razmatranja pri dizajniranju

QFileSystemWatcher Konstrukcija i destrukcija nadzornika datoteka je skupa. To se može zaobići korištenjem centraliziranog nadzornika.

Napomena: Još uvijekje moguće stvoriti više instanci QFileSystemWatcher -a prosljeđivanjem (bilo kojeg) cjelobrojnog ID-a != 0 konstruktoru. To omogućuje odvajanje nadzornika koji lako premašuju ograničenja operativnog sustava od ostalih (vidi dolje).

Specifičnosti Mac OS-a

.qmlprojectPostoji strogi limit na broj datotečnih rukohvata koji mogu biti otvoreni u jednom trenutku po procesu na macOS-u (npr. iznosi 2560 na Mac OS X Snow Leopard Serveru, što pokazuje ulimit -a). Otvaranje jednog ili više nadzora nad velikim brojem direktorija lako premašuje taj limit. Posljedica su kasniji padovi, npr. kada se više ne mogu stvarati niti.

.qmlproject Ovaj razred implementira heuristiku prema kojoj nadzornik datotečnog sustava koji se koristi za nadzor datoteka nikada ne koristi više od polovice dostupnih datotečnih rukohvata. Također povećava broj s rlim_cur na rlim_max – stari kod u main.cpp nije uspio, vidi posljednji odjeljak u

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/setrlimit.2.html

za detalje.

Dokumentacija članovskih funkcija

[explicit] FileSystemWatcher::FileSystemWatcher(QObject *parent = nullptr)

Stvara nadzornika datotečnog sustava s ID-om 0 i vlasnikom parent.

[explicit] FileSystemWatcher::FileSystemWatcher(int id, QObject *parent = nullptr)

Stvara nadzornika datotečnog sustava s ID-om id i vlasnikom parent.

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.