E-MailRelay

gclientptr.cpp
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 gclientptr.cpp
19///
20
21#include "gdef.h"
22#include "gclientptr.h"
23
24 GNet::ClientPtrBase::ClientPtrBase()
25= default;
26
27 void GNet::ClientPtrBase::connectSignals( Client & client )
28{
29 client.eventSignal().connect( G::Slot::slot(*this,&ClientPtrBase::eventSlot) ) ;
30}
31
32 G::Slot::Signal<const std::string&> & GNet::ClientPtrBase::deletedSignal()
33{
34 return m_deleted_signal ;
35}
36
37 G::Slot::Signal<const std::string&,const std::string&,const std::string&> & GNet::ClientPtrBase::eventSignal()
38{
39 return m_event_signal ;
40}
41
42 G::Slot::Signal<const std::string&> & GNet::ClientPtrBase::deleteSignal()
43{
44 return m_delete_signal ;
45}
46
47 void GNet::ClientPtrBase::disconnectSignals( Client & client ) noexcept
48{
49 client.eventSignal().disconnect() ;
50}
51
52 void GNet::ClientPtrBase::eventSlot( const std::string & s1 , const std::string & s2 , const std::string & s3 )
53{
54 m_event_signal.emit( std::string(s1) , std::string(s2) , std::string(s3) ) ;
55}
56
GNet::ClientPtrBase::connectSignals
void connectSignals(Client &)
Connects the given client's signals to this object's slots.
Definition: gclientptr.cpp:27
GNet::ClientPtrBase::disconnectSignals
void disconnectSignals(Client &) noexcept
Disconnects the given client's signals from this object's slots.
Definition: gclientptr.cpp:47
GNet::ClientPtrBase::deletedSignal
G::Slot::Signal< const std::string & > & deletedSignal()
A signal that is triggered after deleteSignal() once the client has been deleted and the ClientPtr is...
Definition: gclientptr.cpp:32
GNet::ClientPtrBase::ClientPtrBase
ClientPtrBase()
Default constructor.
GNet::ClientPtrBase::deleteSignal
G::Slot::Signal< const std::string & > & deleteSignal()
A signal that is triggered as the client is deleted following an exception handled by this class.
Definition: gclientptr.cpp:42
GNet::ClientPtrBase::eventSignal
G::Slot::Signal< const std::string &, const std::string &, const std::string & > & eventSignal()
See GNet::Client::eventSignal().
Definition: gclientptr.cpp:37
GNet::Client
A class for making an outgoing connection to a remote server, with support for socket-level protocols...
Definition: gclient.h:75
GNet::Client::eventSignal
G::Slot::Signal< const std::string &, const std::string &, const std::string & > & eventSignal() noexcept
Returns a signal that indicates that something interesting has happened.
Definition: gclient.cpp:86
gclientptr.h
G::Slot::slot
Slot< Args... > slot(TSink &sink, void(TSink::*method)(Args...))
A factory function for Slot objects.
Definition: gslot.h:201
G::Slot::Signal< const std::string & >