SObjectizer  5.7
Public Member Functions | Private Member Functions | List of all members
so_5::event_exception_logger_t Class Referenceabstract

An interface for the exception logging. More...

#include <event_exception_logger.hpp>

Inheritance diagram for so_5::event_exception_logger_t:
so_5::anonymous_namespace{event_exception_logger.cpp}::std_event_exception_logger_t

Public Member Functions

 event_exception_logger_t ()=default
 
virtual ~event_exception_logger_t () noexcept=default
 
virtual void log_exception (const std::exception &event_exception, const coop_handle_t &coop) noexcept=0
 Log the exception caught. More...
 
virtual void on_install (event_exception_logger_unique_ptr_t previous_logger) noexcept
 Installation hook. More...
 

Private Member Functions

 event_exception_logger_t (const event_exception_logger_t &)=delete
 
 event_exception_logger_t (event_exception_logger_t &&)=delete
 
event_exception_logger_toperator= (const event_exception_logger_t &)=delete
 
event_exception_logger_toperator= (event_exception_logger_t &&)=delete
 

Detailed Description

An interface for the exception logging.

Exception logger should handle two actions:

  1. Installation of a logger into the SObjectizer Environment. The on_install() method could be reimplemented for this.
  2. Caught of an exception. The log_exception() method should be reimplemented for this.
Examples:
so_5/exception_logger/main.cpp.

Constructor & Destructor Documentation

◆ event_exception_logger_t() [1/3]

so_5::event_exception_logger_t::event_exception_logger_t ( const event_exception_logger_t )
privatedelete

◆ event_exception_logger_t() [2/3]

so_5::event_exception_logger_t::event_exception_logger_t ( event_exception_logger_t &&  )
privatedelete

◆ event_exception_logger_t() [3/3]

so_5::event_exception_logger_t::event_exception_logger_t ( )
default

◆ ~event_exception_logger_t()

virtual so_5::event_exception_logger_t::~event_exception_logger_t ( )
virtualdefaultnoexcept

Member Function Documentation

◆ log_exception()

virtual void so_5::event_exception_logger_t::log_exception ( const std::exception &  event_exception,
const coop_handle_t coop 
)
pure virtualnoexcept

Log the exception caught.

Attention
This method is marked as noexcept in v.5.6.0
Parameters
event_exceptionException caught.
coopCooperation to which agent is belong.

Implemented in so_5::anonymous_namespace{event_exception_logger.cpp}::std_event_exception_logger_t.

Examples:
so_5/exception_logger/main.cpp.

◆ on_install()

void so_5::event_exception_logger_t::on_install ( event_exception_logger_unique_ptr_t  previous_logger)
virtualnoexcept

Installation hook.

A new exception logger should decide what happened with the old logger.

Default implementation simply erases the old logger.

Attention
This method is marked as noexcept in v.5.6.0
Parameters
previous_loggerOld logger.

◆ operator=() [1/2]

event_exception_logger_t& so_5::event_exception_logger_t::operator= ( const event_exception_logger_t )
privatedelete

◆ operator=() [2/2]

event_exception_logger_t& so_5::event_exception_logger_t::operator= ( event_exception_logger_t &&  )
privatedelete

The documentation for this class was generated from the following files: