/usr/include/kmountpoint.h is in kdelibs5-dev 4:4.8.4-4+deb7u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | /*
This file is part of the KDE libraries
Copyright (c) 2003 Waldo Bastian <bastian@kde.org>
2007 David Faure <faure@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License version 2 as published by the Free Software Foundation.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef KMOUNTPOINT_H
#define KMOUNTPOINT_H
#include <kdecore_export.h>
#include <ksharedptr.h>
#include <QtCore/QStringList>
/**
* The KMountPoint class provides information about mounted and unmounted disks.
* It provides a system independent interface to fstab.
*
* @author Waldo Bastian <bastian@kde.org>
*/
class KDECORE_EXPORT KMountPoint : public KShared
{
public:
typedef KSharedPtr<KMountPoint> Ptr;
/**
* List of mount points.
*/
class KDECORE_EXPORT List : public QList<Ptr>
{
public:
List();
/**
* Find the mountpoint on which resides @p path
* For instance if /home is a separate partition, findByPath("/home/user/blah")
* will return /home
* @param path the path to check
* @return the mount point of the given file
*/
Ptr findByPath(const QString& path) const;
/**
* Returns the mount point associated with @p device,
* i.e. the one where mountedFrom() == @p device
* (after symlink resolution).
* @return the mountpoint, or 0 if this device doesn't exist or isn't mounted
*/
Ptr findByDevice(const QString& device) const;
};
public:
/**
* Flags that specify which additional details should be fetched for each mountpoint.
* BasicInfoNeeded: only the basic details: mountedFrom, mountPoint, mountType.
* NeedMountOptions: also fetch the options used when mounting, see mountOptions.
* NeedRealDeviceName: also fetch the device name (with symlinks resolved), see realDeviceName.
*/
enum DetailsNeededFlag { BasicInfoNeeded = 0, NeedMountOptions = 1, NeedRealDeviceName = 2 };
Q_DECLARE_FLAGS(DetailsNeededFlags, DetailsNeededFlag)
/**
* This function gives a list of all possible mountpoints. (fstab)
* @param infoNeeded Flags that specify which additional information
* should be fetched.
*/
static List possibleMountPoints(DetailsNeededFlags infoNeeded = BasicInfoNeeded);
/**
* This function gives a list of all currently used mountpoints. (mtab)
* @param infoNeeded Flags that specify which additional information
* should be fetched.
*/
static List currentMountPoints(DetailsNeededFlags infoNeeded = BasicInfoNeeded);
/**
* Where this filesystem gets mounted from.
* This can refer to a device, a remote server or something else.
*/
QString mountedFrom() const;
/**
* Canonical name of the device where the filesystem got mounted from.
* (Or empty, if not a device)
* Only available when the NeedRealDeviceName flag was set.
*/
QString realDeviceName() const;
/**
* Path where the filesystem is mounted or can be mounted.
*/
QString mountPoint() const;
/**
* Type of filesystem
*/
QString mountType() const;
/**
* Options used to mount the filesystem.
* Only available when the NeedMountOptions flag was set.
*/
QStringList mountOptions() const;
/**
* Checks if the filesystem that is probably slow (nfs mounts).
* @return true if the filesystem is probably slow
*/
bool probablySlow() const;
enum FileSystemFlag { SupportsChmod, SupportsChown, SupportsUTime,
SupportsSymlinks, CaseInsensitive };
/**
* Checks the capabilities of the filesystem.
* @param flag the flag to check
* @return true if the filesystem has that flag, false if not
*
* The availables flags are:
* @li SupportsChmod: returns true if the filesystem supports chmod
* (e.g. msdos filesystems return false)
* @li SupportsChown: returns true if the filesystem supports chown
* (e.g. msdos filesystems return false)
* @li SupportsUtime: returns true if the filesystems supports utime
* (e.g. msdos filesystems return false)
* @li SupportsSymlinks: returns true if the filesystems supports symlinks
* (e.g. msdos filesystems return false)
* @li CaseInsensitive: returns true if the filesystem treats
* "foo" and "FOO" as being the same file (true for msdos systems)
*
*/
bool testFileSystemFlag(FileSystemFlag flag) const;
/**
* Destructor
*/
~KMountPoint();
private:
/**
* Constructor
*/
KMountPoint();
class Private;
Private * const d;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(KMountPoint::DetailsNeededFlags)
#endif // KMOUNTPOINT_H
|