Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Functions | Variables
mir Namespace Reference

All things Mir. More...

Namespaces

 client
 The client-side library implementation namespace.
 
 compositor
 Compositing. Combining renderables into a display image.
 
 draw
 
 examples
 
 frontend
 Frontend interface. Mediates the interaction between client processes and the core of the mir system.
 
 geometry
 Basic geometry types. Types for dimensions, displacements, etc. and the operations that they support.
 
 graphics
 Graphics subsystem. Mediates interaction between core system and the graphics environment.
 
 input
 
 logging
 
 options
 System options. Interface for extracting configuration options from wherever they may be (e.g. program arguments, config files or environment variables).
 
 protobuf
 subsystem dealing with Google protobuf protocol.
 
 raii
 Utilities for exception safe use of paired function calls.
 
 report
 
 scene
 Management of Surface objects. Includes the model (SurfaceStack and Surface classes) and controller (SurfaceController) elements of an MVC design.
 
 shell
 
 test
 
 thread
 
 time
 
 udev
 

Classes

class  AbnormalExit
 
class  AsioMainLoop
 
class  BasicObservers
 
class  CachedPtr
 
class  DefaultEmergencyCleanup
 
class  DefaultServerConfiguration
 
class  DefaultServerStatusListener
 
class  DisplayChanger
 
class  DisplayServer
 
class  EmergencyCleanup
 
class  EmergencyCleanupRegistry
 
class  FatalErrorStrategy
 
class  Fd
 
struct  fd_reception_error
 
struct  IntOwnedFd
 
class  IntWrapper
 
class  MainLoop
 
class  RecursiveReadLock
 
class  RecursiveReadWriteMutex
 a recursive read-write mutex. More...
 
class  RecursiveWriteLock
 
class  ServerActionQueue
 
class  ServerConfiguration
 
class  ServerStatusListener
 
class  SharedLibrary
 
class  SharedLibraryProberReport
 
struct  socket_disconnected_error
 
struct  socket_error
 
class  VariableLengthArray
 

Typedefs

typedef std::function< void()> EmergencyCleanupHandler
 
typedef std::function< void()> ServerAction
 

Functions

bool socket_error_is_transient (int error_code)
 
void send_fds (mir::Fd const &socket, std::vector< mir::Fd > const &fd)
 
void receive_data (mir::Fd const &socket, void *buffer, size_t bytes_requested, std::vector< mir::Fd > &fds)
 
std::vector< std::shared_ptr
< SharedLibrary > > 
libraries_for_path (std::string const &path, SharedLibraryProberReport &report)
 
void set_thread_name (std::string const &name)
 
SharedLibrary const * load_library (std::string const &libname)
 
template<typename Tag , typename ValueType >
std::ostream & operator<< (std::ostream &out, IntWrapper< Tag, ValueType > const &value)
 
template<typename Tag , typename ValueType >
bool operator== (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
bool operator!= (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
bool operator<= (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
bool operator>= (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
bool operator< (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
void fatal_error_except (char const *reason,...)
 Throws an exception that will typically kill the Mir server and propagate from mir::run_mir. More...
 
void fatal_error_abort (char const *reason,...)
 An alternative to fatal_error_except() that kills the program and dump core as cleanly as possible. More...
 
void report_exception (std::ostream &out)
 Call this from a catch block (and only from a catch block) to write error information to an output stream. More...
 
void run_mir (ServerConfiguration &config, std::function< void(DisplayServer &)> init)
 Run a DisplayServer with the supplied configuration. More...
 
void terminate_with_current_exception ()
 

Variables

const char *const default_server_socket = init()
 
void(* fatal_error )(char const *reason,...)
 fatal_error() is strictly for "this should never happen" situations that you cannot recover from. More...
 

Detailed Description

All things Mir.

Typedef Documentation

typedef std::function<void()> mir::EmergencyCleanupHandler
typedef std::function<void()> mir::ServerAction

Function Documentation

void mir::fatal_error_abort ( char const *  reason,
  ... 
)

An alternative to fatal_error_except() that kills the program and dump core as cleanly as possible.

Parameters
[in]reasonA printf-style format string.
void mir::fatal_error_except ( char const *  reason,
  ... 
)

Throws an exception that will typically kill the Mir server and propagate from mir::run_mir.

Parameters
[in]reasonA printf-style format string.
std::vector< std::shared_ptr< mir::SharedLibrary > > mir::libraries_for_path ( std::string const &  path,
mir::SharedLibraryProberReport report 
)
mir::SharedLibrary const * mir::load_library ( std::string const &  libname)
template<typename Tag , typename ValueType >
bool mir::operator!= ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename Tag , typename ValueType >
bool mir::operator< ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename Tag , typename ValueType >
std::ostream& mir::operator<< ( std::ostream &  out,
IntWrapper< Tag, ValueType > const &  value 
)
template<typename Tag , typename ValueType >
bool mir::operator<= ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename Tag , typename ValueType >
bool mir::operator== ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename Tag , typename ValueType >
bool mir::operator>= ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
void mir::receive_data ( mir::Fd const &  socket,
void *  buffer,
size_t  bytes_requested,
std::vector< mir::Fd > &  fds 
)
void mir::report_exception ( std::ostream &  out)

Call this from a catch block (and only from a catch block) to write error information to an output stream.

void mir::run_mir ( ServerConfiguration &  config,
std::function< void(DisplayServer &)>  init 
)

Run a DisplayServer with the supplied configuration.

init will be called after constructing the server, but before invoking DisplayServer::run() The server will be stopped on receipt of SIGTERM or SIGINT This function does not return until the server has stopped.

void mir::send_fds ( mir::Fd const &  socket,
std::vector< mir::Fd > const &  fd 
)
void mir::set_thread_name ( std::string const &  name)
bool mir::socket_error_is_transient ( int  error_code)
void mir::terminate_with_current_exception ( )

Variable Documentation

const char *const mir::default_server_socket = init()
void(* mir::fatal_error)(char const *reason,...)

fatal_error() is strictly for "this should never happen" situations that you cannot recover from.

By default it points at fatal_error_except(). Note the reason parameter is a simple char* so its value is clearly visible in stack trace output.

Parameters
[in]reasonA printf-style format string.

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Oct 10 14:07:14 UTC 2014