Quota information abstraction.
More...
#include <QuotaInfo.hpp>
|
| class | Exception |
| | QuotaInfo exceptions. More...
|
| |
| class | FS |
| | Helper class to hold the device string and (optional) the fs type (to be able to do better selection on the quota method to use). More...
|
| |
|
| enum | Type { Usr_
, Grp_
} |
| | Type of quota information.
|
| |
|
| | QuotaInfo (FS const &fs, int const id=Sys::geteuid(), Type const type=Usr_, std::string const &strPath="") |
| |
|
std::string | getMethod () const |
| | Get method string of utilized method.
|
| |
|
unsigned long | getBlockHL () const |
| | Hard limit of disk blocks.
|
| |
|
unsigned long | getBlockSL () const |
| | Soft limit of disk blocks.
|
| |
|
unsigned long | getBlocks () const |
| | Current block usage.
|
| |
|
unsigned long | getINodeHL () const |
| | Hard limit of inodes.
|
| |
|
unsigned long | getINodeSL () const |
| | Soft limit of inodes.
|
| |
|
unsigned long | getINodes () const |
| | Current inode usage.
|
| |
|
time_t | getBlockTL () const |
| | Block timer limit.
|
| |
|
time_t | getINodeTL () const |
| | Inodes timer limit.
|
| |
|
bool | getFree (unsigned long const limit, unsigned long const blocks, unsigned long &free) const |
| | Helper for getFree* methods.
|
| |
|
bool | getFreeBlocksHL (unsigned long &free) const |
| | Get free blocks from hard limit. False, if there is no hard limit.
|
| |
|
bool | getFreeBlocksSL (unsigned long &free) const |
| | Get free blocks from soft limit. False, if there is no soft limit.
|
| |
|
bool | getFreeINodesHL (unsigned long &free) const |
| | Get free indoes from hard limit. False, if there is no hard limit.
|
| |
|
bool | getFreeInodesSL (unsigned long &free) const |
| | Get free inodes from soft limit. False, if there is no soft limit.
|
| |
|
| static FS | file2fs (std::string const &fName, std::string const &tab="/proc/mounts") |
| | Get FS information from any file in that fs. More...
|
| |
Quota information abstraction.
May be extended easily be adding new methods:
- Add a new private methodXXX method (e.g. methodWinFake) that somehow sets all the quota values.
- Add it to the method vector (see constructor of QuotaInfo::Methods).
- Todo:
- : The interface is focused on linux "standard" quota interface. Interface should rather be most powerful, with lesser implementations falling back to sane defaults.
- Todo:
- : Nicer way to find out what interface to use rather then testing on by one (check "quota" source).
◆ QuotaInfo()
| UI::Util::QuotaInfo::QuotaInfo |
( |
FS const & |
fs, |
|
|
int const |
id = Sys::geteuid(), |
|
|
Type const |
type = Usr_, |
|
|
std::string const & |
strPath = "" |
|
) |
| |
- Parameters
-
| fs | Device name (std::string - implicit) or file system (FS). |
| id | ID as in quotactl(2), normally a user or group ID. |
| type | Type (user or group) of quota info to retrieve. |
| strPath | Extra parameter for windows "quota". |
References UI_THROW.
◆ file2fs()
| QuotaInfo::FS UI::Util::QuotaInfo::file2fs |
( |
std::string const & |
fName, |
|
|
std::string const & |
tab = "/proc/mounts" |
|
) |
| |
|
static |
Get FS information from any file in that fs.
- Note
- : This method is potentially NOT thread-safe (uses getmntent under linux).
References UI_THROW.
The documentation for this class was generated from the following files: