Mir
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
src
server
frontend
message_receiver.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2013 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License version 3,
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by: Kevin DuBois <kevin.dubois@canonical.com>
17
*/
18
#ifndef MIR_FRONTEND_MESSAGE_RECEIVER_H_
19
#define MIR_FRONTEND_MESSAGE_RECEIVER_H_
20
21
#include <functional>
22
#include <boost/asio.hpp>
23
24
namespace
mir
25
{
26
namespace
frontend
27
{
28
namespace
detail
29
{
30
class
MessageReceiver
31
{
32
public
:
33
//receive message from the socket. 'handler' will be called when 'buffer' has been filled with exactly 'size'
34
typedef
std::function<void(boost::system::error_code const&, size_t)>
MirReadHandler
;
35
virtual
void
async_receive_msg
(
MirReadHandler
const
& handler, boost::asio::streambuf& buffer,
size_t
size
) = 0;
36
virtual
pid_t
client_pid
() = 0;
37
38
protected
:
39
MessageReceiver
() =
default
;
40
virtual
~MessageReceiver
() =
default
;
41
MessageReceiver
(
MessageReceiver
const
&) =
delete
;
42
MessageReceiver
&
operator=
(
MessageReceiver
const
&) =
delete
;
43
};
44
45
}
46
}
47
}
48
#endif
/* MIR_FRONTEND_MESSAGE_RECEIVER_H_ */
Copyright © 2012,2013 Canonical Ltd.
Generated on Wed Oct 30 18:52:19 UTC 2013