sbuild Namespace Reference


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  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
 Configuration file parser. More...
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  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...

Typedefs

typedef basic_nostream< char > nostream
 A null ostream.
typedef basic_nostream< wchar_t > wnostream
 A wide null ostream.
typedef parse_error< parse_value_error_codeparse_value_error
typedef std::vector< std::string > string_list
 A string vector.

Enumerations

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

dirstreamoperator>> (dirstream &stream, direntry &entry)
 The overloaded extraction operator.
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 (sbuild::DebugLevel level)
 Log a debug message.
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.
std::ostream & log_debug (DebugLevel level)
 Log a debug message.
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

DebugLevel debug_level = sbuild::DEBUG_NONE
 The debugging level in use.
nostream cnull
 A null ostream.


Typedef Documentation

typedef basic_nostream<char> sbuild::nostream

A null ostream.

typedef basic_nostream<wchar_t> sbuild::wnostream

A wide null ostream.

typedef parse_error<parse_value_error_code> sbuild::parse_value_error

typedef std::vector<std::string> sbuild::string_list

A string vector.


Enumeration Type Documentation

enum sbuild::DebugLevel

Debugging level.

Enumerator:
DEBUG_NONE  No debugging.
DEBUG_NOTICE  Notification messages.
DEBUG_INFO  Informational messages.
DEBUG_WARNING  Warning messages.
DEBUG_CRITICAL  Critical messages.

enum sbuild::parse_value_error_code

Enumerator:
BAD_VALUE  The value could not be parsed.


Function Documentation

dirstream & sbuild::operator>> ( dirstream stream,
direntry entry 
)

The overloaded extraction operator.

This is used to pull direntries from a dirstream.

Parameters:
stream the dirstream to get input from.
entry the direntry to set.
Returns:
the dirstream.

std::ostream & sbuild::log_info (  ) 

Log an informational message.

Returns:
an ostream.

std::ostream & sbuild::log_warning (  ) 

Log a warning message.

Returns:
an ostream.

Here is the caller graph for this function:

std::ostream & sbuild::log_error (  ) 

Log an error message.

Returns:
an ostream.

Here is the caller graph for this function:

std::ostream& sbuild::log_debug ( DebugLevel  level  ) 

Log a debug message.

Parameters:
level the debug level of the message being logged.
Returns:
an ostream. This will be a valid stream if level is greater or equal to debug_level, or else a null stream will be returned, resulting in no output.

Here is the caller graph for this function:

void sbuild::log_exception_warning ( std::exception const &  e  ) 

Log an exception as a warning.

Parameters:
e the exception to log.

Here is the caller graph for this function:

void sbuild::log_exception_error ( std::exception const &  e  ) 

Log an exception as an error.

Parameters:
e the exception to log.

Here is the caller graph for this function:

std::ostream& sbuild::log_debug ( DebugLevel  level  ) 

Log a debug message.

Parameters:
level the debug level of the message being logged.
Returns:
an ostream. This will be a valid stream if level is greater or equal to debug_level, or else a null stream will be returned, resulting in no output.

Here is the caller graph for this function:

void sbuild::parse_value ( std::string const &  value,
bool &  parsed_value 
)

Parse a boolean value.

Parameters:
value the value to parse.
parsed_value the variable to store the parsed value.
Returns:
true on success, false on failure.

Here is the caller graph for this function:

void sbuild::parse_value ( std::string const &  value,
std::string &  parsed_value 
)

Parse a string value.

Parameters:
value the value to parse.
parsed_value the variable to store the parsed value.
Returns:
true on success, false on failure.

template<typename T>
void sbuild::parse_value ( std::string const &  value,
T &  parsed_value 
)

Parse a value of type T.

Parameters:
value the value to parse.
parsed_value the variable to store the parsed value.
Returns:
true on success, false on failure.

Here is the call graph for this function:

std::string sbuild::basename ( std::string  name,
char  separator = '/' 
)

Strip the directory path from a filename.

This is similar to basename(3).

Parameters:
name the filename to strip of its path.
separator the separation delimiting directories.
Returns:
the base name.

std::string sbuild::dirname ( std::string  name,
char  separator = '/' 
)

Strip the fileame from a pathname.

This is similar to dirname(3).

Parameters:
name the path to strip of its filename.
separator the separation delimiting directories.
Returns:
the directory name.

std::string sbuild::normalname ( std::string  name,
char  separator = '/' 
)

Normalise a pathname.

This strips all trailing separators, and duplicate separators within a path.

Parameters:
name the path to normalise.
separator the separation delimiting directories.
Returns:
the normalised name.

bool sbuild::is_absname ( std::string const &  name  ) 

Check if a pathname is absolute.

Parameters:
name the path to check.
Returns:
true if the name is absolute or false if it is not, or if name is empty.

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.

Parameters:
list the list to concatenate.
separator the delimiting character.
Returns:
a string.

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.

Parameters:
value the string to split.
separator the delimiting character or characters.
Returns:
a string_list.
Todo:
Provide an alternative that splits the string in place using an iterator interface.

Here is the caller graph for this function:

std::wstring sbuild::widen_string ( std::string const &  str,
std::locale  locale 
)

Widen a string.

The narrow string is converted into a wide string. Note that any conversion error will cause the string to be clipped at the point of error.

Parameters:
str the string to widen.
locale the locale to use for the conversion.
Returns:
a wide string.

std::string sbuild::narrow_string ( std::wstring const &  str,
std::locale  locale 
)

Narrow a string.

The wide string is converted into a narrow string. Note that any conversion error will cause the string to be clipped at the point of error.

Parameters:
str the string to narrow.
locale the locale to use for the conversion.
Returns:
a narrow string.

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.

Parameters:
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.
Returns:
the absolute path of the program, or an empty string if the program could not be found.

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.

Parameters:
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.

Parameters:
strv the string vector to delete.

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.

Parameters:
file the program to execute.
command the arguments to pass to the executable.
env the environment.
Returns:
the return value of the execve system call on failure.


Variable Documentation

sbuild::DebugLevel sbuild::debug_level = sbuild::DEBUG_NONE

The debugging level in use.

sbuild::nostream sbuild::cnull

A null ostream.


Generated on Mon Sep 11 23:18:13 2006 for schroot by  doxygen 1.4.7