Mir
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
mir Namespace Reference

Namespaces

 compositor
 
 cookie
 
 detail
 
 dispatch
 
 draw
 
 events
 
 examples
 
 frontend
 
 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).
 
 raii
 Utilities for exception safe use of paired function calls.
 
 renderer
 
 scene
 
 shell
 
 time
 
 tools
 

Classes

class  AbnormalExit
 
class  CachedPtr
 
class  Executor
 An executor abstraction mostly compatible with C++ proposal N4414. More...
 
class  FatalErrorStrategy
 
class  Fd
 
struct  Flags
 
struct  IntOwnedFd
 
class  IntWrapper
 
class  LockableCallback
 
class  MainLoop
 
struct  ModuleDeleter
 
struct  ModuleProperties
 Describes a platform module. More...
 
class  ObserverRegistrar
 Register observers for a subsystem. More...
 
class  optional_value
 
class  PosixRWMutex
 Implementation of the Mutex and SharedMutex C++14 concepts via POSIX pthread rwlock. More...
 
class  Server
 Customise and run a Mir server. More...
 
class  ServerActionQueue
 
class  ServerStatusListener
 
class  SharedLibrary
 

Typedefs

using EventUPtr = std::unique_ptr< MirEvent, void(*)(MirEvent *)>
 
template<typename T >
using UniqueModulePtr = std::unique_ptr< T, ModuleDeleter< T >>
 Use UniqueModulePtr to ensure that your loadable libray outlives instances created within it. More...
 
typedef std::function< void()> ServerAction
 

Enumerations

enum  OptionType { OptionType::null, OptionType::integer, OptionType::string, OptionType::boolean }
 

Functions

std::ostream & operator<< (std::ostream &out, MirInputEventModifier modifier)
 
std::ostream & operator<< (std::ostream &out, MirKeyboardAction action)
 
std::ostream & operator<< (std::ostream &out, MirTouchAction action)
 
std::ostream & operator<< (std::ostream &out, MirTouchTooltype tool)
 
std::ostream & operator<< (std::ostream &out, MirPointerAction action)
 
std::ostream & operator<< (std::ostream &out, MirPromptSessionState state)
 
std::ostream & operator<< (std::ostream &out, MirOrientation orientation)
 
std::ostream & operator<< (std::ostream &out, MirSurfaceAttrib attribute) MIR_FOR_REMOVAL_IN_VERSION_1("use << with MirWindowAttrib instead")
 
std::ostream & operator<< (std::ostream &out, MirWindowAttrib attribute)
 
std::ostream & operator<< (std::ostream &out, MirSurfaceFocusState state) MIR_FOR_REMOVAL_IN_VERSION_1("use << with MirWindowFocusState instead")
 
std::ostream & operator<< (std::ostream &out, MirWindowFocusState state)
 
std::ostream & operator<< (std::ostream &out, MirSurfaceVisibility state) MIR_FOR_REMOVAL_IN_VERSION_1("use << with MirWindowVisibility instead")
 
std::ostream & operator<< (std::ostream &out, MirWindowVisibility state)
 
std::ostream & operator<< (std::ostream &out, MirSurfaceType type) MIR_FOR_REMOVAL_IN_VERSION_1("use << with MirWindowType instead")
 
std::ostream & operator<< (std::ostream &out, MirWindowType type)
 
std::ostream & operator<< (std::ostream &out, MirSurfaceState state) MIR_FOR_REMOVAL_IN_VERSION_1("use << with MirWindowState instead")
 
std::ostream & operator<< (std::ostream &out, MirWindowState state)
 
std::ostream & operator<< (std::ostream &out, MirPromptSessionEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirResizeEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirOrientationEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirInputEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirCloseWindowEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirKeymapEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirWindowEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirInputDeviceStateEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirWindowPlacementEvent const &event)
 
std::ostream & operator<< (std::ostream &out, MirEvent const &event)
 
template<typename ReferenceTypename , typename EntryPoint >
void assert_entry_point_signature (EntryPoint)
 
template<typename Enum >
constexpr Flags< Enum > operator| (Flags< Enum > flags, Enum e) noexcept
 
template<typename Enum >
constexpr Flags< Enum > operator| (Enum e, Flags< Enum > flags) noexcept
 
template<typename Enum >
constexpr Enum operator& (Enum e, Flags< Enum > flags) noexcept
 
template<typename Enum >
constexpr Enum operator& (Flags< Enum > flags, Enum e) noexcept
 
template<typename Enum >
constexpr bool operator== (Flags< Enum > flags, Enum e) noexcept
 
template<typename Enum >
constexpr bool operator== (Enum e, Flags< Enum > flags) noexcept
 
template<typename Enum >
constexpr bool contains (Flags< Enum > flags, Enum e) noexcept
 
void logv (logging::Severity sev, const char *component, char const *fmt, va_list va)
 
void log (logging::Severity sev, const char *component, char const *fmt,...)
 
void log (logging::Severity sev, const char *component, std::string const &message)
 
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...
 
template<typename Tag , typename ValueType >
std::ostream & operator<< (std::ostream &out, IntWrapper< Tag, ValueType > const &value)
 
template<typename Tag , typename ValueType >
constexpr bool operator== (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
constexpr bool operator!= (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
constexpr bool operator<= (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
constexpr bool operator>= (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename Tag , typename ValueType >
constexpr bool operator< (IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
 
template<typename T >
bool operator== (optional_value< T > const &lhs, optional_value< T > const &rhs)
 
template<typename T >
bool operator!= (optional_value< T > const &lhs, optional_value< T > const &rhs)
 
template<typename T >
bool operator== (optional_value< T > const &lhs, T const &rhs)
 
template<typename T >
bool operator!= (optional_value< T > const &lhs, T const &rhs)
 
template<typename T >
bool operator== (T const &lhs, optional_value< T > const &rhs)
 
template<typename T >
bool operator!= (T const &lhs, optional_value< T > const &rhs)
 
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 report_exception ()
 Call this from a catch block (and only from a catch block) to write error information to std:cerr. More...
 
void terminate_with_current_exception ()
 
void check_for_termination_exception ()
 called by main thread to rethrow any termination exception More...
 
void clear_termination_exception ()
 

Variables

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

Typedef Documentation

typedef std::unique_ptr< MirEvent, void(*)(MirEvent *)> mir::EventUPtr
typedef std::function<void()> mir::ServerAction
template<typename T >
using mir::UniqueModulePtr = typedef std::unique_ptr<T,ModuleDeleter<T>>

Use UniqueModulePtr to ensure that your loadable libray outlives instances created within it.

Use mir::make_module_ptr(...) or pass a function from your library to the constructor, to increase the lifetime of your library:

{
return mir::UniqueModulePtr<SomeInterface>(new Implementation, &library_entry_point);
}

The default constructor will not try to infer the dynamic library.

Enumeration Type Documentation

enum mir::OptionType
strong
Enumerator
null 
integer 
string 
boolean 

Function Documentation

template<typename ReferenceTypename , typename EntryPoint >
void mir::assert_entry_point_signature ( EntryPoint  )
void mir::check_for_termination_exception ( )

called by main thread to rethrow any termination exception

void mir::clear_termination_exception ( )
template<typename Enum >
constexpr bool mir::contains ( Flags< Enum >  flags,
Enum  e 
)
noexcept
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.
void mir::log ( logging::Severity  sev,
const char *  component,
char const *  fmt,
  ... 
)
void mir::log ( logging::Severity  sev,
const char *  component,
std::string const &  message 
)
void mir::logv ( logging::Severity  sev,
const char *  component,
char const *  fmt,
va_list  va 
)
template<typename Tag , typename ValueType >
constexpr bool mir::operator!= ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename T >
bool mir::operator!= ( optional_value< T > const &  lhs,
optional_value< T > const &  rhs 
)
inline
template<typename T >
bool mir::operator!= ( optional_value< T > const &  lhs,
T const &  rhs 
)
inline
template<typename T >
bool mir::operator!= ( T const &  lhs,
optional_value< T > const &  rhs 
)
inline
template<typename Enum >
constexpr Enum mir::operator& ( Enum  e,
Flags< Enum >  flags 
)
noexcept
template<typename Enum >
constexpr Enum mir::operator& ( Flags< Enum >  flags,
Enum  e 
)
noexcept
template<typename Tag , typename ValueType >
constexpr bool mir::operator< ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
std::ostream& mir::operator<< ( std::ostream &  out,
MirInputEventModifier  modifier 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirKeyboardAction  action 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirTouchAction  action 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirTouchTooltype  tool 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirPointerAction  action 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirPromptSessionState  state 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirOrientation  orientation 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirSurfaceAttrib  attribute 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirWindowAttrib  attribute 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirSurfaceFocusState  state 
)
template<typename Tag , typename ValueType >
std::ostream& mir::operator<< ( std::ostream &  out,
IntWrapper< Tag, ValueType > const &  value 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirWindowFocusState  state 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirSurfaceVisibility  state 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirWindowVisibility  state 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirSurfaceType  type 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirWindowType  type 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirSurfaceState  state 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirWindowState  state 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirPromptSessionEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirResizeEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirOrientationEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirInputEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirCloseWindowEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirKeymapEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirWindowEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirInputDeviceStateEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirWindowPlacementEvent const &  event 
)
std::ostream& mir::operator<< ( std::ostream &  out,
MirEvent const &  event 
)
template<typename Tag , typename ValueType >
constexpr bool mir::operator<= ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename Tag , typename ValueType >
constexpr bool mir::operator== ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename T >
bool mir::operator== ( optional_value< T > const &  lhs,
optional_value< T > const &  rhs 
)
inline
template<typename T >
bool mir::operator== ( optional_value< T > const &  lhs,
T const &  rhs 
)
inline
template<typename T >
bool mir::operator== ( T const &  lhs,
optional_value< T > const &  rhs 
)
inline
template<typename Enum >
constexpr bool mir::operator== ( Flags< Enum >  flags,
Enum  e 
)
noexcept
template<typename Enum >
constexpr bool mir::operator== ( Enum  e,
Flags< Enum >  flags 
)
noexcept
template<typename Tag , typename ValueType >
constexpr bool mir::operator>= ( IntWrapper< Tag, ValueType > const &  lhs,
IntWrapper< Tag, ValueType > const &  rhs 
)
inline
template<typename Enum >
constexpr Flags<Enum> mir::operator| ( Flags< Enum >  flags,
Enum  e 
)
noexcept
template<typename Enum >
constexpr Flags<Enum> mir::operator| ( Enum  e,
Flags< Enum >  flags 
)
noexcept
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.

Examples:
render_surfaces.cpp, server_example.cpp, and server_minimal.cpp.
void mir::report_exception ( )

Call this from a catch block (and only from a catch block) to write error information to std:cerr.

void mir::terminate_with_current_exception ( )

Variable Documentation

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-2016 Canonical Ltd.
Generated on Mon Jun 5 13:49:26 UTC 2017