E-MailRelay
src
gnet
gexceptionsource.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2001-2023 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. The default
46
///< implementation returns the empty string.
47
48
virtual
~ExceptionSource
() ;
49
///< Destructor.
50
51
public
:
52
ExceptionSource
() = default ;
53
ExceptionSource
(
const
ExceptionSource
& ) = delete ;
54
ExceptionSource
(
ExceptionSource
&& ) = delete ;
55
ExceptionSource
& operator=(
const
ExceptionSource
& ) = delete ;
56
ExceptionSource
& operator=(
ExceptionSource
&& ) = delete ;
57
} ;
58
59
#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:1144
Generated by
1.9.3