Classes | |
class | auth_conv_tty |
Authentication conversation handler for terminal devices. More... | |
class | auth_conv |
Authentication conversation handler interface. More... | |
class | auth_message |
Authentication messages. More... | |
class | auth |
Authentication handler. More... | |
class | basic_keyfile_parser |
class | basic_keyfile |
Configuration file parser. More... | |
class | chroot_block_device |
A chroot stored on an unmounted block device. More... | |
class | chroot_config |
Chroot configuration. More... | |
class | chroot_directory |
A chroot located in the filesystem. More... | |
class | chroot_file |
A chroot stored in a file archive (tar or zip). More... | |
class | chroot_lvm_snapshot |
A chroot stored on an LVM logical volume (LV). More... | |
class | chroot_plain |
A chroot located in the filesystem (mounts disabled). More... | |
class | chroot_source |
A chroot may offer a "source" chroot in addition to its normal "session" copy, to allow for maintenence of the source data. More... | |
class | chroot |
Common chroot data. More... | |
class | custom_error |
Custom error. More... | |
class | direntry |
An entry in a dirstream. More... | |
class | dirstream |
Access directories. More... | |
class | environment |
Container of environment variables. More... | |
class | error_base |
Error exception base class. More... | |
class | error |
Error exception class. More... | |
class | format_detail |
Format names and values for output. More... | |
class | keyfile_base |
Base class for key-value configuration file formats. More... | |
struct | keyfile_traits |
Traits class for an INI-style configuration file. More... | |
struct | keyfile_parser |
class | lock |
Advisory locking. More... | |
class | file_lock |
File lock. More... | |
class | device_lock |
Device lock. More... | |
class | basic_nbuf |
Null stream buffer. More... | |
class | basic_nostream |
Null output stream. More... | |
class | null |
Null. More... | |
class | parse_error |
Parse error. More... | |
class | personality |
Chroot personality. More... | |
class | regex |
POSIX extended regular expression. More... | |
class | run_parts |
Run all scripts or programs within a directory. More... | |
class | session |
Session handler. More... | |
class | date_base |
A date representation. More... | |
class | gmdate |
A date representation in UTC. More... | |
class | date |
A date representation in local time. More... | |
class | isodate |
A date representation in ISO-8601 format. More... | |
Typedefs | |
typedef parse_error< ctty_error_code > | ctty_error |
typedef basic_keyfile< keyfile_traits, keyfile_parser< keyfile_traits > > | keyfile |
Configuration file parser. | |
typedef basic_nostream< char > | nostream |
A null ostream. | |
typedef basic_nostream< wchar_t > | wnostream |
A wide null ostream. | |
typedef parse_error< parse_value_error_code > | parse_value_error |
typedef std::vector< std::string > | string_list |
A string vector. | |
Enumerations | |
enum | ctty_error_code { CTTY_CLOEXEC, CTTY_DUP } |
enum | DebugLevel { DEBUG_NONE = -1, DEBUG_NOTICE = 1, DEBUG_INFO = 2, DEBUG_WARNING = 3, DEBUG_CRITICAL = 4 } |
Debugging level. More... | |
enum | parse_value_error_code { BAD_VALUE } |
Functions | |
const int | CTTY_FILENO (open_ctty()) |
std::iostream | cctty (&cttybuf) |
dirstream & | operator>> (dirstream &stream, direntry &entry) |
The overloaded extraction operator. | |
const char * | gettext (const char *message) |
Get a translated message. | |
std::ostream & | log_info () |
Log an informational message. | |
std::ostream & | log_warning () |
Log a warning message. | |
std::ostream & | log_error () |
Log an error message. | |
std::ostream & | log_debug (DebugLevel level) |
Log a debug message. | |
std::ostream & | log_ctty_info () |
Log an informational message to the Controlling TTY. | |
std::ostream & | log_ctty_warning () |
Log a warning message to the Controlling TTY. | |
std::ostream & | log_ctty_error () |
Log an error message to the Controlling TTY. | |
void | log_exception_warning (std::exception const &e) |
Log an exception as a warning. | |
void | log_exception_error (std::exception const &e) |
Log an exception as an error. | |
void | log_ctty_exception_warning (std::exception const &e) |
Log an exception as a warning to the Controlling TTY. | |
void | log_ctty_exception_error (std::exception const &e) |
Log an exception as an error to the Controlling TTY. | |
void | log_unknown_exception_error () |
Log an unknown exception as an error. | |
void | parse_value (std::string const &value, bool &parsed_value) |
Parse a boolean value. | |
void | parse_value (std::string const &value, std::string &parsed_value) |
Parse a string value. | |
template<typename T> | |
void | parse_value (std::string const &value, T &parsed_value) |
Parse a value of type T. | |
std::string | basename (std::string name, char separator= '/') |
Strip the directory path from a filename. | |
std::string | dirname (std::string name, char separator= '/') |
Strip the fileame from a pathname. | |
std::string | normalname (std::string name, char separator= '/') |
Normalise a pathname. | |
bool | is_absname (std::string const &name) |
Check if a pathname is absolute. | |
std::string | string_list_to_string (string_list const &list, std::string const &separator) |
Convert a string_list into a string. | |
string_list | split_string (std::string const &value, std::string const &separator) |
Split a string into a string_list. | |
std::wstring | widen_string (std::string const &str, std::locale locale) |
Widen a string. | |
std::string | narrow_string (std::wstring const &str, std::locale locale) |
Narrow a string. | |
std::string | find_program_in_path (std::string const &program, std::string const &path, std::string const &prefix) |
Find a program in the PATH search path. | |
char ** | string_list_to_strv (string_list const &str) |
Create a string vector from a string_list. | |
void | strv_delete (char **strv) |
Delete a string vector. | |
int | exec (std::string const &file, string_list const &command, environment const &env) |
execve wrapper. | |
Variables | |
const int | CTTY_FILENO |
CTTY fd. | |
std::iostream | cctty |
CTTY stream. | |
DebugLevel | debug_level = sbuild::DEBUG_NONE |
The debugging level in use. | |
nostream | cnull |
A null ostream. |
typedef parse_error<ctty_error_code> sbuild::ctty_error |
Configuration file parser.
This class loads an INI-style configuration file from a file or stream. The format is documented in schroot.conf(5).
typedef basic_nostream<char> sbuild::nostream |
A null ostream.
typedef std::vector<std::string> sbuild::string_list |
A string vector.
typedef basic_nostream<wchar_t> sbuild::wnostream |
A wide null ostream.
enum sbuild::DebugLevel |
std::string sbuild::basename | ( | std::string | name, | |
char | separator = '/' | |||
) |
Strip the directory path from a filename.
This is similar to basename(3).
name | the filename to strip of its path. | |
separator | the separation delimiting directories. |
std::iostream sbuild::cctty | ( | & | cttybuf | ) |
const int sbuild::CTTY_FILENO | ( | open_ctty() | ) |
std::string sbuild::dirname | ( | std::string | name, | |
char | separator = '/' | |||
) |
Strip the fileame from a pathname.
This is similar to dirname(3).
name | the path to strip of its filename. | |
separator | the separation delimiting directories. |
int sbuild::exec | ( | std::string const & | file, | |
string_list const & | command, | |||
environment const & | env | |||
) |
execve wrapper.
Run the command specified by file (an absolute pathname), using command and env as the argv and environment, respectively.
file | the program to execute. | |
command | the arguments to pass to the executable. | |
env | the environment. |
std::string sbuild::find_program_in_path | ( | std::string const & | program, | |
std::string const & | path, | |||
std::string const & | prefix | |||
) |
Find a program in the PATH search path.
program | the program to search for. | |
path | the search path; typically the value of $PATH. | |
prefix | a directory prefix the add to the search path. This may be left empty to search the root filesystem. |
const char* sbuild::gettext | ( | const char * | message | ) | [inline] |
Get a translated message.
message | the message to translate. |
bool sbuild::is_absname | ( | std::string const & | name | ) |
Check if a pathname is absolute.
name | the path to check. |
std::ostream & sbuild::log_ctty_error | ( | ) |
void sbuild::log_ctty_exception_error | ( | std::exception const & | e | ) |
void sbuild::log_ctty_exception_warning | ( | std::exception const & | e | ) |
Log an exception as a warning to the Controlling TTY.
e | the exception to log. |
std::ostream & sbuild::log_ctty_info | ( | ) |
Log an informational message to the Controlling TTY.
std::ostream & sbuild::log_ctty_warning | ( | ) |
Log a warning message to the Controlling TTY.
std::ostream & sbuild::log_debug | ( | DebugLevel | level | ) |
Log a debug message.
level | the debug level of the message being logged. |
std::ostream & sbuild::log_error | ( | ) |
void sbuild::log_exception_error | ( | std::exception const & | e | ) |
void sbuild::log_exception_warning | ( | std::exception const & | e | ) |
Log an exception as a warning.
e | the exception to log. |
std::ostream & sbuild::log_info | ( | ) |
Log an informational message.
void sbuild::log_unknown_exception_error | ( | ) |
Log an unknown exception as an error.
std::ostream & sbuild::log_warning | ( | ) |
Log a warning message.
std::string sbuild::narrow_string | ( | std::wstring const & | str, | |
std::locale | locale | |||
) |
std::string sbuild::normalname | ( | std::string | name, | |
char | separator = '/' | |||
) |
Normalise a pathname.
This strips all trailing separators, and duplicate separators within a path.
name | the path to normalise. | |
separator | the separation delimiting directories. |
void sbuild::parse_value | ( | std::string const & | value, | |
T & | parsed_value | |||
) | [inline] |
Parse a value of type T.
value | the value to parse. | |
parsed_value | the variable to store the parsed value. |
void sbuild::parse_value | ( | std::string const & | value, | |
std::string & | parsed_value | |||
) |
Parse a string value.
value | the value to parse. | |
parsed_value | the variable to store the parsed value. |
void sbuild::parse_value | ( | std::string const & | value, | |
bool & | parsed_value | |||
) |
Parse a boolean value.
value | the value to parse. | |
parsed_value | the variable to store the parsed value. |
string_list sbuild::split_string | ( | std::string const & | value, | |
std::string const & | separator | |||
) |
Split a string into a string_list.
The string is split using separator as a delimiter.
value | the string to split. | |
separator | the delimiting character or characters. |
std::string sbuild::string_list_to_string | ( | string_list const & | list, | |
std::string const & | separator | |||
) |
Convert a string_list into a string.
The strings are concatenated using separator as a delimiter.
list | the list to concatenate. | |
separator | the delimiting character. |
char ** sbuild::string_list_to_strv | ( | string_list const & | str | ) |
Create a string vector from a string_list.
The strings in the vector, as well as the vector itself, are allocated with new, and should be freed as a whole with strv_delete.
str | the string_list to use. |
void sbuild::strv_delete | ( | char ** | strv | ) |
Delete a string vector.
The strings in the vector, as well as the vector itself, must have been previously allocated with new, for example sbuild::environment::get_strv.
strv | the string vector to delete. |
std::wstring sbuild::widen_string | ( | std::string const & | str, | |
std::locale | locale | |||
) |
std::iostream sbuild::cctty |
CTTY stream.
A stream to the Controlling TTY, or standard input if not available.
A null ostream.
const int sbuild::CTTY_FILENO |
CTTY fd.
The fd number of the Controlling TTY, or -1 if not available.
sbuild::DebugLevel sbuild::debug_level = sbuild::DEBUG_NONE |
The debugging level in use.