Na ovoj stranici

Utils::FilePath Class

class Utils::FilePath

Klasa FilePath je apstrakcija za rukohvate objekata u (moguće udaljenom) datotečnom sustavu, slično URL-u ili, u lokalnom slučaju, putu do datoteke ili direktorija. Više...

Header: #include <FilePath>

Javne funkcije

Utils::FilePath absoluteFilePath() const
Utils::FilePath absolutePath() const
Utils::FileStreamHandle asyncCopy(const Utils::Continuation<> &cont, const Utils::FilePath &target) const
Utils::FileStreamHandle asyncRead(const Utils::Continuation<QByteArray> &cont) const
Utils::FileStreamHandle asyncWrite(const Utils::Continuation<qint64> &cont, const QByteArray &data) const
QString baseName() const
qint64 bytesAvailable() const
Utils::FilePath canonicalPath() const
Utils::FilePath chopped(int n) const
Utils::FilePath cleanPath() const
void clear()
QString completeBaseName() const
QString completeSuffix() const
bool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseInsensitive) const
Utils::Result<> copyFile(const Utils::FilePath &target) const
Utils::Result<> copyRecursively(const Utils::FilePath &target) const
bool createDir() const
Utils::Result<> createSymLink(const Utils::FilePath &symLink) const
Utils::Result<Utils::FilePath> createTempDir() const
Utils::Result<Utils::FilePath> createTempFile() const
Utils::Environment deviceEnvironment() const
Utils::Result<Utils::Environment> deviceEnvironmentWithError() const
Utils::FilePaths devicePathEnvironmentVariable() const
Utils::FilePaths dirEntries(QDir::Filters filters) const
Utils::FilePaths dirEntries(const Utils::FileFilter &filter, QDir::SortFlags sort = QDir::NoSort) const
QString displayName(const QString &args = {}) const
bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseInsensitive) const
bool ensureExistingFile() const
Utils::Result<> ensureReachable(const Utils::FilePath &other) const
Utils::Result<> ensureWritableDir() const
bool equalsCaseSensitive(const Utils::FilePath &other) const
bool exists() const
Utils::Result<QByteArray> fileContents(qint64 maxSize = -1, qint64 offset = 0) const
QString fileName() const
QStringView fileNameView() const
QString fileNameWithPathComponents(int pathComponents) const
qint64 fileSize() const
QString group() const
uint groupId() const
bool hasHardLinks() const
QStringView host() const
Utils::FilePath intern() const
bool isAbsolutePath() const
bool isChildOf(const Utils::FilePath &s) const
bool isEmpty() const
bool isExecutableFile() const
bool isLocal() const
bool isNewerThan(const QDateTime &timeStamp) const
bool isRelativePath() const
bool isResourceFile() const
bool isRootPath() const
bool isSameDevice(const Utils::FilePath &other) const
bool isSameExecutable(const Utils::FilePath &other) const
bool isSameFile(const Utils::FilePath &other) const
bool isWritableDir() const
bool isWritableFile() const
void iterateDirectory(const Utils::FilePath::IterateDirCallback &callBack, const Utils::FileFilter &filter) const
QDateTime lastModified() const
Utils::Result<Utils::FilePath> localSource() const
Utils::Result<> makeWritable() const
QString nativePath() const
Utils::OsType osType() const
QString owner() const
uint ownerId() const
Utils::FilePath parentDir() const
QString path() const
Utils::FilePath pathAppended(const QString &path) const
QChar pathComponentSeparator() const
QList<QStringView> pathComponents() const
QChar pathListSeparator() const
QStringView pathView() const
QFileDevice::Permissions permissions() const
std::optional<Utils::FilePath> prefixRemoved(const QString &str) const
Utils::TextEncoding processStdErrEncoding() const
Utils::TextEncoding processStdOutEncoding() const
std::optional<Utils::FilePath> refersToExecutableFile(Utils::FilePath::MatchScope matchScope) const
Utils::FilePath relativeChildPath(const Utils::FilePath &parent) const
QString relativeNativePathFromDir(const Utils::FilePath &anchorDir) const
QString relativePathFromDir(const Utils::FilePath &anchorDir) const
Utils::Result<> removeFile() const
Utils::Result<> removeRecursively() const
Utils::Result<> renameFile(const Utils::FilePath &target) const
Utils::FilePath resolvePath(const QString &tail) const
Utils::FilePath resolvePath(const Utils::FilePath &tail) const
Utils::FilePath resolveSymlinks() const
QStringView scheme() const
Utils::FilePaths searchAllInDirectories(const Utils::FilePaths &dirs, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const
Utils::FilePaths searchAllInPath() const
Utils::FilePaths searchAllInPath(const Utils::FilePaths &additionalDirs, Utils::FilePath::PathAmending amending = AppendToPath, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const
void searchHereAndInParents(const std::function<IterationPolicy (const FilePath &)> &constraint) const
Utils::FilePath searchHereAndInParents(const QString &fileName, QDir::Filter type) const
Utils::FilePath searchHereAndInParents(const QStringList &fileNames, QDir::Filter type) const
Utils::FilePath searchInDirectories(const Utils::FilePaths &dirs, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const
Utils::FilePath searchInPath() const
Utils::FilePath searchInPath(const Utils::FilePaths &additionalDirs, Utils::FilePath::PathAmending amending = AppendToPath, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const
void setParts(const QStringView scheme, const QStringView host, const QStringView path)
Utils::Result<> setPermissions(QFileDevice::Permissions permissions) const
QString shortNativePath() const
bool startsWithDriveLetter() const
Utils::FilePath stringAppended(const QString &str) const
QString suffix() const
QStringView suffixView() const
Utils::FilePath symLinkTarget() const
std::optional<Utils::FilePath> tailRemoved(const QString &str) const
Utils::Result<Utils::FilePath> tmpDir() const
QString toFSPathString() const
QFileInfo toFileInfo() const
QVariant toSettings() const
QUrl toUrl() const
QString toUrlishString() const
QString toUserOutput() const
QVariant toVariant() const
Utils::FilePath withExecutableSuffix() const
Utils::FilePath withNewMappedPath(const Utils::FilePath &newPath) const
Utils::FilePath withNewPath(const QString &newPath) const
Utils::FilePath withSuffix(const QString &suffix) const
QString withTildeHomePath() const
Utils::Result<qint64> writeFileContents(const QByteArray &data) const
Utils::FilePath operator/(const QString &str) const
Utils::FilePath &operator/=(const QString &str)

Statični javni članovi

Utils::FilePath currentWorkingPath()
Utils::FilePath fromFileInfo(const QFileInfo &info)
Utils::FilePath fromParts(const QStringView scheme, const QStringView host, const QStringView path)
Utils::FilePath fromPathComponents(const QList<QStringView> &components)
Utils::FilePath fromPathPart(const QStringView path)
Utils::FilePath fromSettings(const QVariant &variant)
Utils::FilePath fromString(const QString &filepath)
Utils::FilePath fromStringWithExtension(const QString &filepath, const QString &defaultExtension)
Utils::FilePath fromUrl(const QUrl &url)
Utils::FilePath fromUserInput(const QString &filePath)
Utils::FilePath fromUtf8(const char *filename, int filenameSize = -1)
Utils::FilePath fromVariant(const QVariant &variant)
void iterateDirectories(const Utils::FilePaths &dirs, const Utils::FilePath::IterateDirCallback &callBack, const Utils::FileFilter &filter)
void removeDuplicates(Utils::FilePaths &files)
void sort(Utils::FilePaths &files)
std::vector<Utils::Result<std::unique_ptr<Utils::FilePathWatcher>>> watch(const Utils::FilePaths &paths)

Detaljan opis

Idealno bi bilo da sav kôd u klas Qt Creator u koristi FilePath za ovu svrhu, ali iz povijesnih razloga još uvijek postoje veliki dijelovi koji koriste QString.

FilePathovi se interno pohranjuju kao trojka nizova, pri čemu jedan dio ("shema") identificira metodu pristupa, drugi dio ("host") datotečni sustav (npr. host), a treći dio ("put") identificira (potencijalni) objekt na sustavima.

FilePath slijedi Unixovu paradigmu "sve je datoteka": nema konceptualne razlike između FilePathova koji se odnose na obične datoteke ili direktorije.

Putanja je implicitno povezana s operativnim sustavom putem svog dijela "host". Dio puta koji se odnosi na operativni sustav (FilePath) interno je pohranjen s kosim crticama, neovisno o povezanim operativnim sustavima.

Dijelovi puta FilePathova povezani s Windowsom (i macOS-om, osim ako u postavkama nije drugačije odabrano) uspoređuju se međusobno neovisno o velikoj i maloj abecedi. Imajte na umu da usporedbe za ekvivalenciju općenito zahtijevaju znanje izvan opsega, jer za istu datoteku može postojati više prikaza FilePath-a (npr. različiti načini pristupa mogu dovesti do iste datoteke).

Postoji nekoliko konverzija između FilePath-a i drugih prikaza nalik na nizove:

  • FilePath::fromUserInput()

    Konvertirajte podatke nalik nizu iz izvora koji potječu izvan Qt Creator-a, npr. iz korisničkog unosa u GUI kontrolama, iz varijabli okruženja i iz parametara naredbenog retka, u Qt Creator.

    Unos može sadržavati i kosu i nazadnu crtu te će biti analiziran i normaliziran.

  • FilePath::nativePath()

    Pretvara FilePath u konvenciju kosih crtica (slash) odgovarajućeg operativnog sustava i uklanja dijelove sheme i domaćina.

    Ovo je korisno za interakciju s mogućnostima povezanog OS-a, npr. pri prosljeđivanju ove putanje datoteke kao argumenta naredbi izvršenoj na povezanom OS-u.

    Napomena: Putanju datoteke proslijeđenu kao izvršnu datoteku u CommandLine u obično ne dira korisnički kod. Proces će je upotrijebiti za utvrđivanje udaljenog sustava i interno primijeniti potrebne konverzije.

  • FilePath::toFSPathString()

    Konvertira FilePath u niz [drive:]/__qtc_devices__/scheme/host/path.

    Rezultat u većini slučajeva radi i s udaljenim postavkama i QDir/QFileInfo, ali je sporiji od izravne upotrebe FilePath-a i trebao bi se koristiti samo kada je ispravno prilagođavanje za FilePath preteško ili nemoguće, npr. kada se koriste vanjske biblioteke temeljene na Qt-u koje ne koriste FilePath.

  • FilePath::toUserOutput()

    Pretvara FilePath u konvenciju crtice (slash) odgovarajućeg operativnog sustava i zadržava dijelove sheme i hosta.

    Ovo je rijetko korisno za udaljene putanje jer praktički ne postoji nijedan korisnik ovog stila.

  • FilePath::displayName()

    Konvertira FilePath u konvenciju kose crte povezanog operativnog sustava i dodaje shemu i host kao nastavak "on <device>".

    Ovo je korisno za statički prikaz korisniku u GUI-ju.

  • FilePath::fromVariant(), FilePath::toVariant()

    Koriste se za interakciju s API-jem temeljenim na QVariant u, npr. postavke ili interni podaci modela stavki.

  • FilePath::toUrlishString()

    Konvertira FilePath u string shema://host/path.

    Uglavnom se koristi u naslijeđenom kodu i radi otklanjanja pogrešaka.

    U gotovo svim slučajevima prikladnije je koristiti jednu od gore navedenih specijaliziranijih konverzija.

Konverzija podataka nalik nizu uvijek bi se trebala odvijati na vanjskoj granici koda Qt Creator, koristeći fromUserInput() za ulaznu komunikaciju i, ovisno o mediju, nativePath() ili displayName() za izlaznu komunikaciju.

QVariant fromVariant() Komunikacija s Qt API-jem temeljenim na QFileSystemu trebala bi koristiti QFileSystemPath i toVariant().

Upotreba toUrlishString() treba se postupno ukinuti transformacijom koda iz putanje datoteke temeljene na QString u FilePath. Izuzetak su ovdje dijelovi putanja FilePath-a koji se kasnije koriste s pathAppended() ili sličnim, a koji bi trebali ostati kao QString.

UNC putanje zadržat će svoj početak "//" i po tome su prepoznatljive.

Dokumentacija funkcija člana

Utils::FilePath FilePath::absoluteFilePath() const

Vraća apsolutnu verziju ove staze, rješavajući komponente "." i "..".

Ako je ova putanja već apsolutna, ona se očisti i vrati nepromijenjena. Ako je ova putanja relativna, ona se rješava u odnosu na trenutni radni direktorij.

Vidi također absolutePath() i cleanPath().

Utils::FilePath FilePath::absolutePath() const

Vraća apsolutnu putanju roditeljskog direktorija ove putanje.

Ako je ovo relativna putanja, prvo se rješava u odnosu na trenutni radni direktorij.

Vidi također absoluteFilePath() i parentDir()

Utils::FileStreamHandle FilePath::asyncCopy(const Utils::Continuation<> &cont, const Utils::FilePath &target) const

Asinkrono kopira ovu datoteku na target i po završetku poziva cont.

Vraća rukohvat koji se može koristiti za otkazivanje operacije.

Vidi također asyncRead() i asyncWrite().

Utils::FileStreamHandle FilePath::asyncRead(const Utils::Continuation<QByteArray> &cont) const

Asinkrono čita ovu datoteku, a po završetku poziva cont sadržajem datoteke.

Vraća rukohvat koji se može koristiti za otkazivanje operacije.

Vidi također asyncWrite() i asyncCopy().

Utils::FileStreamHandle FilePath::asyncWrite(const Utils::Continuation<qint64> &cont, const QByteArray &data) const

Asinkrono piše data u ovu datoteku, pozivajući cont s brojem napisanih bajtova po završetku.

Vraća rukohvat koji se može koristiti za otkazivanje operacije.

Vidi također asyncRead() i asyncCopy().

QString FilePath::baseName() const

Vraća osnovno ime datoteke bez puta.

Osnovno ime sastoji se od svih znakova u datoteci do (ali ne uključujući) prvog znaka točke ('.').

qint64 FilePath::bytesAvailable() const

Vraća broj bajtova dostupnih na datotečnom sustavu koji sadrži ovu putanju, ili 0 ako se ta informacija ne može utvrditi.

Utils::FilePath FilePath::canonicalPath() const

Rekurzivno rješava moguće prisutne simbolne poveznice u ovom nazivu datoteke.

Na Windowsu također rješava SUBST i ponovno priključene NTFS pogone. Za razliku od QFileInfo::canonicalFilePath(), ova funkcija neće vratiti prazan niz ako putanja ne postoji.

Vraća kanoničku putanju.

Utils::FilePath FilePath::chopped(int n) const

Vraća putanju s uklonjenim znakovima zaštićenih razmaka ( n ) iz lokalne putanje. Primjer upotrebe:

backup = FilePath("/tmp/example.txt.backup");
real = backup.chopped(7);
assert(real == FilePath("/tmp/example.txt"))

Utils::FilePath FilePath::cleanPath() const

Čisti dio puta sličan QDir::cleanPath().

  • razdjelnici direktorija su normalizirani (tj. razdjelnici nativni za platformu pretvoreni u "/"), suvišni su uklonjeni, a "." i ".." su riješeni (koliko je to moguće).
  • Simboličke poveznice se zadržavaju. Ova funkcija ne vraća kanoničku putanju, već jednostavniju verziju unosa. Na primjer, "./local" postaje "local", "local/../bin" postaje "bin" i "/local/usr/../bin" postaje "/local/bin".

void FilePath::clear()

Resetira ovo FilePath o u prazno stanje, brišući shemu, domaćina i putanju.

QString FilePath::completeBaseName() const

Vraća potpuno osnovno ime datoteke bez puta.

Kompletno osnovno ime sastoji se od svih znakova u datoteci do (ali ne uključujući) posljednji znak '.'. U slučaju ".ui.qml" tretira se kao jedan nastavak.

QString FilePath::completeSuffix() const

Vraća potpunu nastavku (extenziju) datoteke.

Potpuna nastavka sastoji se od svih znakova u datoteci nakon (ali ne uključujući) prvog '.'.

bool FilePath::contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseInsensitive) const

Vraća istinito ako polje ' path() ' sadrži ' s'.

Utils::Result<> FilePath::copyFile(const Utils::FilePath &target) const

Kopira ovu datoteku u target.

Kopiranje između uređaja (tj. između različitih kombinacija sheme/domaćina) provodi se čitanjem cijelog sadržaja i pisanjem na odredište. U slučaju uspjeha vraća Result<>, a u slučaju neuspjeha rezultat pogreške.

Vidi također copyRecursively() i renameFile().

Utils::Result<> FilePath::copyRecursively(const Utils::FilePath &target) const

Rekurzivno kopira direktorij ili datoteku na ovoj putanji u target.

Vraća uspješno kopiranje direktorija ili datoteke na putanju Result<> ako je uspješno, ili rezultat pogreške ako dođe do greške.

Vidi također copyFile() i renameFile().

bool FilePath::createDir() const

Stvara direktorij na ovoj lokaciji.

Vraća true ako se direktorij mogao stvoriti, false ako ne, čak i ako je već postojao.

Vidi također ensureWritableDir().

Stvara simboličku poveznicu symLink koja upućuje na ovu putanju datoteke.

Napomena: Na Windowsima ova funkcija neće raditi osim ako nemate administratorska prava ili je omogućen način programera.

Utils::Result<Utils::FilePath> FilePath::createTempDir() const

Stvara novi privremeni direktorij koristeći ovu putanju kao predložak.

Vraća putanju stvorenog privremenog direktorija ako je uspješno, ili rezultat pogreške. Pozivatelj je odgovoran za brisanje direktorija kada više nije potreban.

Utils::Result<Utils::FilePath> FilePath::createTempFile() const

Stvara novu privremenu datoteku koristeći ovu putanju kao predložak.

Vraća putanju stvorene privremene datoteke ako je uspješno, ili rezultat pogreške. Pozivatelj je odgovoran za brisanje datoteke kada više nije potrebna.

[static] Utils::FilePath FilePath::currentWorkingPath()

Vraća trenutni radni direktorij kao FilePath.

Utils::Environment FilePath::deviceEnvironment() const

Vraća okruženje uređaja kojem pripada ova putanja.

Za lokalne putanje ovo je sustavsko okruženje. Za udaljene putanje upituje se okruženje uređaja. U slučaju neuspjeha potvrđuje i vraća prazno okruženje.

Vidi također deviceEnvironmentWithError().

Utils::Result<Utils::Environment> FilePath::deviceEnvironmentWithError() const

Vraća okruženje uređaja kojem ova putanja pripada, ili rezultat pogreške u slučaju neuspjeha.

Vidi također deviceEnvironment().

Utils::FilePaths FilePath::devicePathEnvironmentVariable() const

Vraća PATH direktorije uređaja kojem ova staza pripada, s shemom i hostom ove staze primijenjenima na svaki unos.

Utils::FilePaths FilePath::dirEntries(QDir::Filters filters) const

Vraća stavke direktorija koje odgovaraju filters.

Vidi također iterateDirectory().

Utils::FilePaths FilePath::dirEntries(const Utils::FileFilter &filter, QDir::SortFlags sort = QDir::NoSort) const

Vraća stavke direktorija koje odgovaraju filter, po želji sortirane prema sort.

Vidi također iterateDirectory().

QString FilePath::displayName(const QString &args = {}) const

Pretvara putanju datoteke u konvenciju kosih crtica (/) odgovarajućeg operativnog sustava i dodaje shemu i host kao sufiks "on <uređaj>".

Ovo je korisno za statički prikaz namijenjen korisniku u GUI-ju.

Ako args nije prazan, dodaje se u izlaz nakon putanje datoteke: "<path> <args> on <device>".

bool FilePath::endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseInsensitive) const

Vraća istinitu vrijednost ako se niz znakova " path() " završava nizom " s".

bool FilePath::ensureExistingFile() const

Stvara datoteku na ovoj lokaciji ako ona već ne postoji.

Vraća true ako datoteka postoji ili je uspješno stvorena, a false inače.

Utils::Result<> FilePath::ensureReachable(const Utils::FilePath &other) const

Osigurava da je other dostupan s ovog uređaja.

Za lokalne putanje ovo uspijeva samo ako je other također lokalna. Za udaljene putanje poziva se hook uređaja za uspostavljanje potrebne veze.

Vraća uspješan rezultat Result<> ako je other dostupan, a u suprotnom vraća rezultat pogreške.

Utils::Result<> FilePath::ensureWritableDir() const

Ponovno koristi ili stvara direktorij na ovoj lokaciji.

Vraća uspješnu Result<> ako direktorij postoji i nakon toga je moguće u njega pisati, ili rezultat pogreške koji opisuje zašto direktorij nije mogao biti stvoren ili mu se nije moglo pristupiti.

Vidi također createDir().

bool FilePath::equalsCaseSensitive(const Utils::FilePath &other) const

Vraća true ako se putanja do ove datoteke usporedba velikih i malih slova slučajno podudara s other. Ovo je relevantno na polu-osjetljivim sustavima na velika i mala slova poput Windowsa s NTFS-om.

Vidi također QTCREATORBUG-30846.

bool FilePath::exists() const

Vraća boolean koji označava postoji li datoteka ili direktorij s ovim FilePath.

Utils::Result<QByteArray> FilePath::fileContents(qint64 maxSize = -1, qint64 offset = 0) const

Čita i vraća sadržaj datoteke.

Ako maxSize nije -1, pročita se najviše maxSize bajtova. Čitanje počinje na bajt poziciji offset.

Vraća rezultat pogreške ako datoteka nije mogla biti pročitana.

Vidi također writeFileContents().

QString FilePath::fileName() const

Vraća posljednju komponentu puta (naziv datoteke) kao QString, bez ikakvog dijela puta do direktorija.

Vidi također fileNameView(), baseName(), i suffix().

QStringView FilePath::fileNameView() const

Vraća zadnju komponentu puta (naziv datoteke) kao QStringView, bez ikakvog dijela puta do direktorija.

Vidi također fileName().

QString FilePath::fileNameWithPathComponents(int pathComponents) const

Vraća naziv datoteke uključujući vodeće komponente direktorija iz pathComponents.

  • Ako je pathComponents 0, vraća se samo naziv datoteke.
  • Ako je pathComponents -1, vraća se cijela putanja.
  • Ako ima manje komponenti puta nego što je pathComponents, vraća se puni URL-olik niz.

qint64 FilePath::fileSize() const

Vraća veličinu datoteke u bajtima ili 0 ako se veličina ne može odrediti.

[static] Utils::FilePath FilePath::fromFileInfo(const QFileInfo &info)

Konstruira FilePath iz info.

[static] Utils::FilePath FilePath::fromParts(const QStringView scheme, const QStringView host, const QStringView path)

Konstruira FilePath iz dijelova scheme, host i path.

Vidi također scheme(), host(), i path().

[static] Utils::FilePath FilePath::fromPathComponents(const QList<QStringView> &components)

Izrađuje lokalni FilePath spajanjem zadane putanje components s '/'.

Ako je components prazan, vraća se prazan FilePath. Ako je prva komponenta '/', dobiveni put bit će apsolutni.

Vidi također pathComponents().

[static] Utils::FilePath FilePath::fromPathPart(const QStringView path)

Konstruira lokalni FilePath, pri čemu je samo dio puta postavljen na path. Dijelovi sheme i domaćina ostavljeni su prazni.

[static] Utils::FilePath FilePath::fromSettings(const QVariant &variant)

Konstruira FilePath iz QVariant variant , kako ih pohranjuje toSettings().

Vidi također toSettings() i fromVariant().

[static] Utils::FilePath FilePath::fromString(const QString &filepath)

Konstruira FilePath iz filepath

filepath se ne provjerava na valjanost. Može se navesti u sljedećim oblicima:

  • /neki/apsolutni/lokalni/put
  • neki/relativni/put
  • shema://host/apsolutna/staza
  • scheme://host/./relativni/put

    Napomena: ./ je doslovni dio puta

Dekodiranje se događa tijekom parsiranja filepath Sljedeća sekvenca %25 u dijelu hosta zamjenjuje se s % u nazivu hosta, a sekvenca %2f u dijelu hosta zamjenjuje se s / u nazivu hosta.

Dio puta može se sastojati od više dijelova odvojenih /, neovisno o platformi ili datotečnom sustavu.

Za stvaranje objekata FilePath iz nizova koji mogu sadržavati nazadne kose crte kao razdjelnik puta, upotrijebite fromUserInput.

Vidi također toFSPathString, toUserOutput i fromUserInput.

[static] Utils::FilePath FilePath::fromStringWithExtension(const QString &filepath, const QString &defaultExtension)

Konstruira se FilePath iz filepath. defaultExtension se dodaje na filepath ako taj već nema ekstenziju.

filepath Ne provjerava se valjanost.

[static] Utils::FilePath FilePath::fromUrl(const QUrl &url)

Konstruira FilePath iz url.

Vidi također toUrl().

[static] Utils::FilePath FilePath::fromUserInput(const QString &filePath)

Konstruira FilePath iz filePath

Staza filePath se čisti, a ~ se zamjenjuje početnom stazom.

[static] Utils::FilePath FilePath::fromUtf8(const char *filename, int filenameSize = -1)

Konstruira FilePath iz filename pomoću filenameSize, koji je kodiran u UTF-8.

filename Valjanost se ne provjerava.

[static] Utils::FilePath FilePath::fromVariant(const QVariant &variant)

Konstruira FilePath iz variant.

Vidi također toVariant().

QString FilePath::group() const

Vraća naziv grupe koja posjeduje ovu datoteku, ili praznu nulu ako nije dostupan.

Vidi također groupId() i owner()

uint FilePath::groupId() const

Vraća numerički ID grupe koja posjeduje ovu datoteku, ili 0 ako nije dostupan.

Vidi također group() i ownerId().

Vraća true ako datoteka na ovoj putanji ima više od jedne tvrde poveznice.

QStringView FilePath::host() const

Vraća dio imena domaćina FilePath a koji identificira udaljeni datotečni sustav.

Vraća prazan QStringView za lokalne putanje.

Vidi također scheme(), path(), i fromParts().

Utils::FilePath FilePath::intern() const

Vraća kopiju s interniranim podacima.

bool FilePath::isAbsolutePath() const

Provjerava je li put apsolutni.

Vraća true ako putanja započinje s kosom crtom, ili s slovom i dvotočkom, ili s dvotočkom i kosom crtom.

Napomena: Ovo je neovisno o platformi na kojoj Qt Creator trenutno radi, pa se ovo ne mora nužno podudarati s definicijom apsolutne putanje na toj platformi. Koristite s oprezom i pokušajte izbjeći.

Vidi također isRelativePath().

bool FilePath::isChildOf(const Utils::FilePath &s) const

Vraća istinito ako je FilePath dijete s.

bool FilePath::isEmpty() const

Vraća true ako je dio staze prazan. Shema i domaćin se ne uzimaju u obzir.

bool FilePath::isExecutableFile() const

Vraća boolean koji označava je li ovo izvršna datoteka.

bool FilePath::isLocal() const

Vraća " true " ako ova putanja upućuje na lokalni datotečni sustav (bez sheme ili sa shemom "file").

bool FilePath::isNewerThan(const QDateTime &timeStamp) const

Vraća true ako je ova datoteka ili direktorij noviji od timeStamp.

Za direktorij provjera se ponavlja na sve sadržane datoteke i vraća true ako je bilo koja od njih novija od timeStamp.

bool FilePath::isRelativePath() const

Provjerava je li put relativan.

Vraća true ako putanja ne započinje ni s crticom, ni s slovom i dvotočkom, ni s dvotočkom i crticom.

Napomena: Ovo je neovisno o platformi na kojoj Qt Creator trenutno radi, pa se ovo ne mora nužno podudarati s definicijom relativne staze te platforme. Koristite s oprezom i pokušajte to izbjeći.

Vidi također isAbsolutePath().

bool FilePath::isResourceFile() const

Vraća true ako se ova putanja odnosi na Qt resursnu datoteku, tj. ako ima shemu "qrc" ili ako njezina putanja započinje s ':'.

bool FilePath::isRootPath() const

Vraća true ako je ova putanja korijen datotečnog sustava (na primjer, "/" na Unixu ili "C:/" na Windowsima).

bool FilePath::isSameDevice(const Utils::FilePath &other) const

Vraća true ako other upućuje na isti uređaj (šemu i domaćina) kao ova staza.

bool FilePath::isSameExecutable(const Utils::FilePath &other) const

Vraća true ako se other odnosi na istu izvršnu datoteku kao ova putanja, uzimajući u obzir moguće platformsko-specifične nastavke poput ".exe" ili ".bat".

Vidi također isSameFile().

bool FilePath::isSameFile(const Utils::FilePath &other) const

Vraća true ako se other odnosi na istu datoteku kao ova putanja.

Dvije putanje mogu upućivati na istu datoteku čak i ako nizu nisu jednaki, na primjer kada se koristi simbolna poveznica ili druga metoda pristupa. Ova funkcija koristi ID datoteke uređaja za usporedbu kada se putanje razlikuju.

Vidi također isSameExecutable() i isSameDevice().

bool FilePath::isWritableDir() const

Vraća boolean koji označava je li ovo direktorij u koji se može pisati.

bool FilePath::isWritableFile() const

Vraća boolean koji označava je li datoteka zapisaiva.

[static] void FilePath::iterateDirectories(const Utils::FilePaths &dirs, const Utils::FilePath::IterateDirCallback &callBack, const Utils::FileFilter &filter)

Pokreće callBack na svakom unosu direktorija koji odgovara filter u svakom od dirs.

Vidi također iterateDirectory().

void FilePath::iterateDirectory(const Utils::FilePath::IterateDirCallback &callBack, const Utils::FileFilter &filter) const

Pokreće callBack na svakom unosu direktorija koji odgovara filter.

QDateTime FilePath::lastModified() const

Vraća datum i vrijeme kada je ova datoteka ili direktorij zadnji put izmijenjen.

Vraća neispravan QDateTime ako se vrijeme izmjene ne može odrediti.

Utils::Result<Utils::FilePath> FilePath::localSource() const

Vraća FilePath koji predstavlja istu datoteku dostupnu iz lokalnog datotečnog sustava, ili rezultat pogreške ako takvo mapiranje nije dostupno.

Za lokalne putanje vraća *this. Za udaljene putanje konzultira se hook uređaja.

Utils::Result<> FilePath::makeWritable() const

Dodaje dozvolu za pisanje vlasniku ove datoteke.

Vraća uspješno Result<> pri uspjehu ili rezultat pogreške pri neuspjehu.

Vidi također setPermissions() i permissions()

QString FilePath::nativePath() const

Vraća p QString u za prosljeđivanje nativnih naredbi ciljanog sustava, bez prefiksa uređaja.

Konvertira razdjelnike u izvorni format sustava kojem ova putanja pripada.

Utils::OsType FilePath::osType() const

Vraća tip operativnog sustava uređaja kojem pripada ova putanja.

Za lokalne putanje vraća tip operativnog sustava hosta. Za udaljene putanje upituje tip operativnog sustava uređaja.

QString FilePath::owner() const

Vraća ime korisnika koji posjeduje ovu datoteku, ili praznu nulu ako nije dostupno.

Vidi također ownerId() i group()

uint FilePath::ownerId() const

Vraća numerički ID korisnika vlasnika ove datoteke, ili 0 ako nije dostupan.

Vidi također owner() i groupId().

Utils::FilePath FilePath::parentDir() const

Pronalazi nadređeni direktorij putanje datoteke.

Vraća prazan put datoteke ako je put datoteke već direktorij na korijenskoj razini.

Vraća putanju datoteke s uklonjenim posljednjim segmentom.

QString FilePath::path() const

Vraća dio puta FilePath -a kao QString, koristeći ravne crtice.

Vidi također pathView(), scheme(), i host().

Utils::FilePath FilePath::pathAppended(const QString &path) const

Vraća ovu putanju s dodanim ' path ', spojeno '/'.

Backslashes u path normaliziraju se u forward slashes. To je ekvivalentno operator/(path).

Vidi također stringAppended() i operator/().

QChar FilePath::pathComponentSeparator() const

Vraća razdjelnik komponenti staze za ovu stazu.

Vraća razdjelnik komponenti staze.

QList<QStringView> FilePath::pathComponents() const

Vraća putanju podijeljenu na komponente na granicama '/'.

Na Windows putanjama, slovo pogona (na primjer "C:") i korijenski crtica vraćaju se kao zasebne vodeće komponente.

Početni '/' vraća se kao jedna komponenta '/'.

Vidi također fromPathComponents().

QChar FilePath::pathListSeparator() const

Vraća razdjelnik popisa putanja za operativni sustav ove putanje: ';' na Windowsu, ':' drugdje.

QStringView FilePath::pathView() const

Vraća dio puta FilePath a kao QStringView, koristeći ravne crtice.

Vidi također path(), scheme(), i host().

QFileDevice::Permissions FilePath::permissions() const

Vraća dozvole ove datoteke ili direktorija.

Vraća prazan skup dozvola ako se ne mogu odrediti.

Vidi također setPermissions() i makeWritable().

std::optional<Utils::FilePath> FilePath::prefixRemoved(const QString &str) const

Vraća ovu stazu s uklonjenim str s početka dijela staze, ili std::nullopt ako staza ne počinje s str.

Utils::TextEncoding FilePath::processStdErrEncoding() const

Vraća tekstno kodiranje koje procesi na uređaju koriste za standardnu pogrešku.

Utils::TextEncoding FilePath::processStdOutEncoding() const

Vraća enkodiranje teksta koje procesi na uređaju koriste za standardni izlaz.

std::optional<Utils::FilePath> FilePath::refersToExecutableFile(Utils::FilePath::MatchScope matchScope) const

Vraća boolean koji označava hoće li se proces s ovom FilePath-ovom nativnom putanjom vjerojatno pokrenuti.

matchScopeOvo je općenito ekvivalentno funkciji isExecutableFile(). Na Windowsima može dodati razne nastavke ovisno o postavkama sustava.

Utils::FilePath FilePath::relativeChildPath(const Utils::FilePath &parent) const

Vraća relativnu putanju od parent do ovog.

Vraća prazan FilePath ako ovo nije podređeno parent. Rezultat nikada ne započinje s "../". Ako ovo nije pod parent, upotrijebite relativePathFromDir() umjesto toga.

Vidi također relativePathFromDir() i isChildOf().

QString FilePath::relativeNativePathFromDir(const Utils::FilePath &anchorDir) const

Vraća relativnu putanju od anchorDir do ove, koristeći nativni razdjelnik putanja operativnog sustava.

Primjer upotrebe:

FilePath filePath("C:/foo/b/ar/file.txt");
QString relativePath = filePath.relativePathFromDir(FilePath("C:\\foo\\c"));
qDebug() << relativePath;

Izlaz za otklanjanje pogrešaka bit će "..\b\ar\file.txt".

Vidi također relativePathFromDir().

QString FilePath::relativePathFromDir(const Utils::FilePath &anchorDir) const

Vraća relativnu putanju FilePath -a iz direktorija anchorDir. FilePath i anchor directory mogu biti datoteke ili direktoriji.

Primjer upotrebe:

FilePath filePath("/foo/b/ar/file.txt");
QString relativePath = filePath.relativePathFromDir(FilePath("/foo/c"));
qDebug() << relativePath;

Izlaz za otklanjanje pogrešaka bit će "../b/ar/file.txt".

Vidi također relativeNativePathFromDir().

[static] void FilePath::removeDuplicates(Utils::FilePaths &files)

Uklanja duplikate iz e files a na licu mjesta, čuvajući redoslijed.

Utils::Result<> FilePath::removeFile() const

Uklanja datoteku na ovoj lokaciji.

Vraća uspješan rezultat Result<> pri uspjehu ili rezultat pogreške pri neuspjehu.

Vidi također removeRecursively().

Utils::Result<> FilePath::removeRecursively() const

Uklanja direktorij na koji se ovaj filePath odnosi i njegove poddirektorije rekursivno.

Utils::Result<> FilePath::renameFile(const Utils::FilePath &target) const

Premješta (preimenuje) ovu datoteku u target.

Ako je target na istom uređaju, koristi se nativno preimenovanje. Inače se datoteka kopira, a izvor se briše. Vraća uspješan rezultat Result<> pri uspjehu ili rezultat pogreške pri neuspjehu.

Vidi također copyFile() i removeFile().

Utils::FilePath FilePath::resolvePath(const QString &tail) const

Dodaje tail ako je tail relativna staza, ili zamjenjuje samo dio staze s tail ako je apsolutna (očuvajući shemu i host ove staze).

Utils::FilePath FilePath::resolvePath(const Utils::FilePath &tail) const

Dodaje p tail u na ovo, ako je rep relativna putanja.

Vraća rep ako je rep apsolutni, inače vraća ovo + rep.

Rekurzivno rješava simboličke poveznice ako je ovo simbolička poveznica.

Za rješavanje simlinkova bilo gdje u putanji pogledajte canonicalPath. Za razliku od QFileInfo::canonicalFilePath(), ova će funkcija i dalje vratiti očekivanu najdublju ciljanu datoteku čak i ako je simlink nevezan.

Napomena: Maksimalna dubina rekurzije == 16.

Vraća putanju datoteke cilja simboličke poveznice.

QStringView FilePath::scheme() const

Vraća dio sheme FilePath a, kao što su "docker" ili "ssh".

Vraća prazan QStringView za lokalne putanje.

Vidi također host(), path(), i fromParts().

Utils::FilePaths FilePath::searchAllInDirectories(const Utils::FilePaths &dirs, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const

Vraća sve izvršne datoteke koje odgovaraju ovom nazivu datoteke, pronađene u bilo kojem od dirs, po želji filtrirane pomoću filter i s obradom nastavka izvršne datoteke kontroliranom pomoću matchScope.

Vidi također searchInDirectories() i searchAllInPath().

Utils::FilePaths FilePath::searchAllInPath() const

Pretražuje sve izvršne datoteke s ovim imenom u PATH-u povezanog uređaja.

Utils::FilePaths FilePath::searchAllInPath(const Utils::FilePaths &additionalDirs, Utils::FilePath::PathAmending amending = AppendToPath, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const

Pretražuje sve izvršne datoteke s ovim imenom u PATH-u povezanog uređaja, prošireno additionalDirs prema amending. Po želji filtrira rezultate pomoću filter i obrađuje sufikse prema matchScope.

Vidi također searchInPath() i searchAllInDirectories().

void FilePath::searchHereAndInParents(const std::function<IterationPolicy (const FilePath &)> &constraint) const

Prelazi kroz ovaj direktorij i njegove pretke, pozivajući constraint na svakom od njih.

Iteracija prestaje kad constraint vrati IterationPolicy::Stop ili se dođe do korijena.

Utils::FilePath FilePath::searchHereAndInParents(const QString &fileName, QDir::Filter type) const

Pretražuje datoteku ili direktorij naziva fileName tipa type u ovom direktoriju i svim njegovim prethodnim direktorijima.

Vraća prvi pronađeni odgovarajući zapis ili prazan FilePath ako nijedan nije pronađen.

Vidi također searchHereAndInParents(const QStringList &, QDir::Filter).

Utils::FilePath FilePath::searchHereAndInParents(const QStringList &fileNames, QDir::Filter type) const

fileNames Pretražuje sve datoteke ili direktorije tipa type u ovom direktoriju i svim njegovim prethodnim direktorijima.

Vraća prvi pronađeni podudaranje ili prazan FilePath ako nijedan nije pronađen.

Vidi također searchHereAndInParents(const QString &, QDir::Filter).

Utils::FilePath FilePath::searchInDirectories(const Utils::FilePaths &dirs, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const

Pretražite binarnu datoteku odgovarajuću ovom objektu na svakoj stavci direktorija koju je odredio dirs, usporedivši je s filter i matchScope putanje datoteke.

Primjer upotrebe:

binary = FilePath::fromUrl("docker://123/./make);
fullPath = binary.searchInDirectories(binary.deviceEnvironment().path());
assert(fullPath == FilePath::fromUrl("docker://123/usr/bin/make"))

Utils::FilePath FilePath::searchInPath() const

Pretražuje ovu izvršnu datoteku u PATH-u povezanog uređaja.

Utils::FilePath FilePath::searchInPath(const Utils::FilePaths &additionalDirs, Utils::FilePath::PathAmending amending = AppendToPath, const Utils::FilePathPredicate &filter = {}, Utils::FilePath::MatchScope matchScope = WithAnySuffix) const

Pretražuje ovu izvršnu datoteku u PATH-u povezanog uređaja, proširenom additionalDirs prema amending. Opcionalno filtrira rezultate pomoću filter i obrađuje sufikse prema matchScope.

Vraća praznu FilePath ako se izvršna datoteka ne pronađe.

Vidi također searchAllInPath() i searchInDirectories().

void FilePath::setParts(const QStringView scheme, const QStringView host, const QStringView path)

Postavlja dijelove sheme, domaćina i puta ove FilePath na scheme, host i path.

Vidi također fromParts(), scheme(), host(), i path().

Utils::Result<> FilePath::setPermissions(QFileDevice::Permissions permissions) const

Postavlja dozvole za ovu datoteku ili direktorij na permissions.

Vraća uspješan rezultat Result<> pri uspjehu ili rezultat pogreške pri neuspjehu.

Vidi također permissions() i makeWritable().

QString FilePath::shortNativePath() const

Vraća putanju s nativnim razdjelnicima, pri čemu se početni direktorij na Unixu skraćuje na '~'.

Ekvivalentno toUserOutput(), ali na Unixu prefiks direktorija za početnu mapu zamjenjuje se znakom '~'.

[static] void FilePath::sort(Utils::FilePaths &files)

Sortira files ekse leksikografski prema shemi, zatim po hostu, a potom po putu.

bool FilePath::startsWithDriveLetter() const

Vraća " true " ako putanja započinje slovom diska sustava Windows praćenim dvotočkom, na primjer: "C:".

Utils::FilePath FilePath::stringAppended(const QString &str) const

Vraća ponovno analiziranu putanju s str -om dodanim izravno na URL-ovsku niznu reprezentaciju, bez umetanja razdjelnika.

Vidi također pathAppended().

QString FilePath::suffix() const

Vraća sufiks (extenziju) datoteke.

Zadatak se sastoji od svih znakova u datoteci nakon (ali ne uključujući) posljednjeg '.'. U slučaju ".ui.qml" tretira se kao jedan nastavak.

Vidi također suffixView().

QStringView FilePath::suffixView() const

Vraća sufiks (proširenje) datoteke kao QStringView.

Zadnji nastavak se sastoji od svih znakova u datoteci nakon (ali ne uključujući) posljednjeg '.'. U slučaju ".ui.qml" tretirat će se kao jedan nastavak.

Utils::FilePath FilePath::symLinkTarget() const

Vraća praznu FilePath ako ovo nije simbolička poveznica.

std::optional<Utils::FilePath> FilePath::tailRemoved(const QString &str) const

Vraća ovu putanju s uklonjenim str s kraja dijela putanje, ili std::nullopt ako putanja ne završava s str.

Utils::Result<Utils::FilePath> FilePath::tmpDir() const

Vraća privremeni direktorij uređaja kojem pripada ova putanja.

Za lokalne putanje to je jednako kao QDir::tempPath(). Za udaljene uređaje provjeravaju se okolišne varijable TMPDIR, TEMP ili TMP redom, a na uređajima koji nisu Windows koristi se "/tmp" kao rezervna opcija.

QString FilePath::toFSPathString() const

Vraća QString za prosljeđivanje API-jima temeljenim na QString.

Ovo koristi postavku /__qtc_devices__/host/path.

Ovo radi u većini slučajeva i s udaljenim postavkama te QDir/QFileInfo itd., ali je sporije od izravne upotrebe FilePath i trebalo bi se koristiti samo kada je ispravno prebacivanje na FilePath preteško ili nemoguće, npr. kada se koriste vanjske biblioteke temeljene na Qt-u koje ne koriste FilePath.

Vidi također fromUserInput().

QFileInfo FilePath::toFileInfo() const

Vraća QFileInfo.

QVariant FilePath::toSettings() const

Vraća FilePath kao QVariant prikladan za pohranu u postavkama.

Vidi također fromSettings() i toVariant().

QUrl FilePath::toUrl() const

Vraća ovaj FilePath kao QUrl.

QString FilePath::toUrlishString() const

Vraća QString za prosljeđivanje API-ja temeljenih na QString.

Napomena: Ovo je zastarjeli API i treba ga zamijeniti proširenom upotrebom ispravnih FilePath ili, ako to nije moguće, toFSPathString().

Ovo koristi postavku shema://host/path i, zajedno s fromString, služi za prosljeđivanje FilePath kroz QString koristeći kodne putanje.

Rezultat nije koristan za upotrebu s QDir i QFileInfo te se uništava nekim operacijama poput QFileInfo::canonicalFile.

Vidi također toFSPathString().

QString FilePath::toUserOutput() const

Vraća n QString za prikaz korisniku, uključujući prefiks uređaja.

Konvertira razdjelnike u izvorni format sustava kojem ova staza pripada.

QVariant FilePath::toVariant() const

Vraća e FilePath kao varijantu.

Koristi se za tipski neovisne interne sučelje poput pohrane u QAbstractItemModelima.

[static] std::vector<Utils::Result<std::unique_ptr<Utils::FilePathWatcher>>> FilePath::watch(const Utils::FilePaths &paths)

Vraća FilePathWatcher za svaku zadanu putanju.

Vraćeni FilePathWatcher emitira signal kada se datoteka na toj putanji izmijeni, preimenuje ili izbriše. Signal se emitira u pozivajućem niti. Ako se pozove iz niti koji nije glavni, može proći neko vrijeme prije nego što se signal počne emitirati.

Vidi također FilePathWatcher.

Utils::FilePath FilePath::withExecutableSuffix() const

Vraća kopiju ove staze s dodanim sufiksom izvršne datoteke specifičnim za platformu, kao što je ".exe" na Windowsu.

Utils::FilePath FilePath::withNewMappedPath(const Utils::FilePath &newPath) const

Vraća putanju koja odgovara objektu newPath na istom uređaju kao i trenutni objekt.

Ovo može uključivati uređajsko-specifične prijevode, poput pretvaranja Windows stila putanja u Unix stil putanja uz odgovarajuće velika i mala slova datotečnog sustava ili rukovanje slovima pogona: C:/dev/src -> /c/dev/src

Primjer upotrebe:

localDir = FilePath("/tmp/workingdir");
executable = FilePath::fromUrl("docker://123/bin/ls")
realDir = executable.withNewMappedPath(localDir)
assert(realDir == FilePath::fromUrl("docker://123/tmp/workingdir"))

Utils::FilePath FilePath::withNewPath(const QString &newPath) const

Vraća FilePath s lokalnom putanjom newPath na istom uređaju kao i trenutni objekt.

Primjer upotrebe:

devicePath = FilePath("docker://123/tmp");
newPath = devicePath.withNewPath("/bin/ls");
assert(realDir == FilePath::fromUrl("docker://123/bin/ls"))

Utils::FilePath FilePath::withSuffix(const QString &suffix) const

Vraća kopiju ove putanje s suffix -om pridodanim doslovno na niz putanje.

Koristite ovo za dodavanje nastavaka poput ekstenzija datoteka. Za dodavanje direktorija umjesto toga upotrijebite pathAppended() ili operator/().

QString FilePath::withTildeHomePath() const

Vraća putanju s prefiksom korisnikova domašnjeg direktorija zamijenjenim znakom '~' na Unixu, što je ekvivalentno pozivanju toUrlishString() nakon čišćenja.

Na Windowsima ili za udaljene putanje vraća se nepromijenjen rezultat toUrlishString().

Utils::Result<qint64> FilePath::writeFileContents(const QByteArray &data) const

Piše " data " u datoteku, zamjenjujući bilo koji postojeći sadržaj.

Vraća broj bajtova uspješno napisanih ili rezultat pogreške.

Vidi također fileContents().

Utils::FilePath FilePath::operator/(const QString &str) const

Vraća ovu putanju s str pridodanim kao komponentom putanje, što je ekvivalentno pathAppended().

Vidi također pathAppended().

Utils::FilePath &FilePath::operator/=(const QString &str)

Dodaje str kao komponentu puta na ovom putu na licu mjesta i vraća referencu na njega.

Vidi također pathAppended() i operator/().

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.