SObjectizer  5.5
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 () SO_5_NOEXCEPT=default
 
virtual void log_exception (const std::exception &event_exception, const std::string &coop_name)=0
 Log the exception caught. More...
 
virtual void on_install (event_exception_logger_unique_ptr_t previous_logger)
 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 ( )
virtualdefault

Member Function Documentation

◆ log_exception()

virtual void so_5::event_exception_logger_t::log_exception ( const std::exception &  event_exception,
const std::string &  coop_name 
)
pure virtual

Log the exception caught.

Attention
This method will be marked as noexcept in v.5.6.0
Parameters
event_exceptionException caught.
coop_nameName of cooperation 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)
virtual

Installation hook.

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

Default implementation simply erases the old logger.

Attention
This method will be 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: