~mir-team/mir/x11-multi-window

« back to all changes in this revision

Viewing changes to src/include/client/mir/input/input_platform.h

  • Committer: Andreas Pokorny
  • Date: 2017-02-15 14:45:41 UTC
  • mto: This revision was merged to the branch mainline in revision 4036.
  • Revision ID: andreas.pokorny@canonical.com-20170215144541-f0i749qairmbt9yv
mirserver: remove android-input and mirserver parts no longer neede

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright © 2013 Canonical Ltd.
3
 
 *
4
 
 * This program is free software: you can redistribute it and/or modify
5
 
 * it under the terms of the GNU Lesser General Public License version 3 as
6
 
 * 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 Lesser General Public License for more details.
12
 
 *
13
 
 * You should have received a copy of the GNU Lesser General Public License
14
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
 
 *
16
 
 * Authored by: Robert Carr <robert.carr@canonical.com>
17
 
 */
18
 
 
19
 
#ifndef MIR_INPUT_RECEIVER_PLATFORM_H_
20
 
#define MIR_INPUT_RECEIVER_PLATFORM_H_
21
 
 
22
 
#include "mir_toolkit/event.h"
23
 
 
24
 
#include <memory>
25
 
#include <functional>
26
 
 
27
 
namespace mir
28
 
{
29
 
namespace dispatch
30
 
{
31
 
class Dispatchable;
32
 
}
33
 
namespace input
34
 
{
35
 
namespace receiver
36
 
{
37
 
class InputReceiverThread;
38
 
class InputReceiverReport;
39
 
class XKBMapper;
40
 
 
41
 
// Interface for MirWindow to construct input dispatcher threads.
42
 
class InputPlatform
43
 
{
44
 
public:
45
 
    virtual ~InputPlatform() = default;
46
 
 
47
 
    virtual std::shared_ptr<dispatch::Dispatchable> create_input_receiver(
48
 
        int fd, std::shared_ptr<XKBMapper> const& xkb_mapper, std::function<void(MirEvent*)> const& callback) = 0;
49
 
 
50
 
    static std::shared_ptr<InputPlatform> create();
51
 
    static std::shared_ptr<InputPlatform> create(std::shared_ptr<InputReceiverReport> const& report);
52
 
 
53
 
protected:
54
 
    InputPlatform() = default;
55
 
    InputPlatform(const InputPlatform&) = delete;
56
 
    InputPlatform& operator=(const InputPlatform&) = delete;
57
 
};
58
 
}
59
 
}
60
 
}  // namespace mir
61
 
 
62
 
#endif  // MIR_INPUT_RECEIVER_PLATFORM_H_