E-MailRelay

gexceptionsource.h
Go to the documentation of this file.
1//
2// Copyright (C) 2001-2021 Graeme Walker <graeme_walker@users.sourceforge.net>
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
16// ===
17///
18/// \file gexceptionsource.h
19///
20
21#ifndef G_NET_EXCEPTION_SOURCE_H
22#define G_NET_EXCEPTION_SOURCE_H
23
24#include "gdef.h"
25
26 namespace GNet
27{
28 class ExceptionSource ;
29}
30
31//| \class GNet::ExceptionSource
32/// A mixin base class that identifies the source of an exception
33/// when delivered to GNet::ExceptionHandler and optionally provides
34/// an indentifier for logging purposes.
35///
36/// The primary motivation is to allow a Server to manage its
37/// ServerPeer list when one of them throws an exception.
38///
39 class GNet::ExceptionSource
40{
41 public:
42 virtual std::string exceptionSourceId() const ;
43 ///< Returns an identifying string for logging purposes,
44 ///< or the empty string. This typically provides the
45 ///< remote peer's network address.
46
47 virtual ~ExceptionSource() ;
48 ///< Destructor.
49
50 public:
51 ExceptionSource() = default ;
52 ExceptionSource( const ExceptionSource & ) = delete ;
53 ExceptionSource( ExceptionSource && ) = delete ;
54 void operator=( const ExceptionSource & ) = delete ;
55 void operator=( ExceptionSource && ) = delete ;
56} ;
57
58#endif
GNet::ExceptionSource
A mixin base class that identifies the source of an exception when delivered to GNet::ExceptionHandle...
Definition: gexceptionsource.h:40
GNet::ExceptionSource::~ExceptionSource
virtual ~ExceptionSource()
Destructor.
Definition: gexceptionsource.cpp:30
GNet::ExceptionSource::exceptionSourceId
virtual std::string exceptionSourceId() const
Returns an identifying string for logging purposes, or the empty string.
Definition: gexceptionsource.cpp:25
GNet
Network classes.
Definition: gdef.h:1115