Mir
mir_display_server.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2015 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser 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 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: Alberto Aguirre <alberto.aguirre@canonical.com>
17  */
18 
19 #ifndef MIR_CLIENT_RPC_DISPLAY_SERVER_H_
20 #define MIR_CLIENT_RPC_DISPLAY_SERVER_H_
21 
23 #include <memory>
24 
25 namespace mir
26 {
27 namespace client
28 {
29 namespace rpc
30 {
31 class MirBasicRpcChannel;
32 
34 {
35 public:
36  DisplayServer(std::shared_ptr<mir::client::rpc::MirBasicRpcChannel> const& channel);
37 
38  void connect(
39  mir::protobuf::ConnectParameters const* request,
40  mir::protobuf::Connection* response,
41  google::protobuf::Closure* done) override;
42  void disconnect(
43  mir::protobuf::Void const* request,
44  mir::protobuf::Void* response,
45  google::protobuf::Closure* done) override;
46  void create_surface(
47  mir::protobuf::SurfaceParameters const* request,
48  mir::protobuf::Surface* response,
49  google::protobuf::Closure* done) override;
50  void modify_surface(
51  mir::protobuf::SurfaceModifications const* request,
52  mir::protobuf::Void* response,
53  google::protobuf::Closure* done) override;
54  void next_buffer(
55  mir::protobuf::SurfaceId const* request,
56  mir::protobuf::Buffer* response,
57  google::protobuf::Closure* done) override;
58  void release_surface(
59  mir::protobuf::SurfaceId const* request,
60  mir::protobuf::Void* response,
61  google::protobuf::Closure* done) override;
62  void platform_operation(
63  mir::protobuf::PlatformOperationMessage const* request,
64  mir::protobuf::PlatformOperationMessage* response,
65  google::protobuf::Closure* done) override;
66  void configure_surface(
67  mir::protobuf::SurfaceSetting const* request,
68  mir::protobuf::SurfaceSetting* response,
69  google::protobuf::Closure* done) override;
70  void configure_display(
71  mir::protobuf::DisplayConfiguration const* request,
72  mir::protobuf::DisplayConfiguration* response,
73  google::protobuf::Closure* done) override;
74  void create_screencast(
75  mir::protobuf::ScreencastParameters const* request,
76  mir::protobuf::Screencast* response,
77  google::protobuf::Closure* done) override;
78  void screencast_buffer(
79  mir::protobuf::ScreencastId const* request,
80  mir::protobuf::Buffer* response,
81  google::protobuf::Closure* done) override;
82  void release_screencast(
83  mir::protobuf::ScreencastId const* request,
84  mir::protobuf::Void* response,
85  google::protobuf::Closure* done) override;
87  mir::protobuf::BufferStreamParameters const* request,
88  mir::protobuf::BufferStream* response,
89  google::protobuf::Closure* done) override;
91  mir::protobuf::BufferStreamId const* request,
92  mir::protobuf::Void* response,
93  google::protobuf::Closure* done) override;
94  void configure_cursor(
95  mir::protobuf::CursorSetting const* request,
96  mir::protobuf::Void* response,
97  google::protobuf::Closure* done) override;
99  mir::protobuf::SocketFDRequest const* request,
100  mir::protobuf::SocketFD* response,
101  google::protobuf::Closure* done) override;
103  mir::protobuf::PromptSessionParameters const* request,
104  mir::protobuf::Void* response,
105  google::protobuf::Closure* done) override;
106  void stop_prompt_session(
107  mir::protobuf::Void const* request,
108  mir::protobuf::Void* response,
109  google::protobuf::Closure* done) override;
110  void exchange_buffer(
111  mir::protobuf::BufferRequest const* request,
112  mir::protobuf::Buffer* response,
113  google::protobuf::Closure* done) override;
114  void submit_buffer(
115  mir::protobuf::BufferRequest const* request,
116  mir::protobuf::Void* response,
117  google::protobuf::Closure* done) override;
118  void allocate_buffers(
119  mir::protobuf::BufferAllocation const* request,
120  mir::protobuf::Void* response,
121  google::protobuf::Closure* done) override;
122  void release_buffers(
123  mir::protobuf::BufferRelease const* request,
124  mir::protobuf::Void* response,
125  google::protobuf::Closure* done) override;
127  mir::protobuf::SurfaceId const* request,
128  mir::protobuf::PersistentSurfaceId* response,
129  google::protobuf::Closure* done) override;
130  void pong(
131  mir::protobuf::PingEvent const* request,
132  mir::protobuf::Void* response,
133  google::protobuf::Closure* done) override;
135  mir::protobuf::StreamConfiguration const* request,
136  mir::protobuf::Void* response,
137  google::protobuf::Closure* done) override;
138 private:
139  std::shared_ptr<mir::client::rpc::MirBasicRpcChannel> const channel;
140 };
141 }
142 }
143 }
144 
145 #endif //MIR_CLIENT_RPC_DISPLAY_SERVER_H_
void platform_operation(mir::protobuf::PlatformOperationMessage const *request, mir::protobuf::PlatformOperationMessage *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:73
All things Mir.
Definition: atomic_callback.h:25
IntWrapper< detail::SessionsSurfaceIdTag > SurfaceId
Definition: surface_id.h:29
IntWrapper< detail::SessionsBufferStreamIdTag > BufferStreamId
Definition: buffer_stream_id.h:29
void screencast_buffer(mir::protobuf::ScreencastId const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:101
void release_surface(mir::protobuf::SurfaceId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:66
void configure_surface(mir::protobuf::SurfaceSetting const *request, mir::protobuf::SurfaceSetting *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:80
void submit_buffer(mir::protobuf::BufferRequest const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:164
void new_fds_for_prompt_providers(mir::protobuf::SocketFDRequest const *request, mir::protobuf::SocketFD *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:136
void configure_display(mir::protobuf::DisplayConfiguration const *request, mir::protobuf::DisplayConfiguration *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:87
void release_screencast(mir::protobuf::ScreencastId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:108
void disconnect(mir::protobuf::Void const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:38
void configure_buffer_stream(mir::protobuf::StreamConfiguration const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:199
void release_buffers(mir::protobuf::BufferRelease const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:178
void create_surface(mir::protobuf::SurfaceParameters const *request, mir::protobuf::Surface *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:45
void create_buffer_stream(mir::protobuf::BufferStreamParameters const *request, mir::protobuf::BufferStream *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:115
void allocate_buffers(mir::protobuf::BufferAllocation const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:171
void stop_prompt_session(mir::protobuf::Void const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:150
void pong(mir::protobuf::PingEvent const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:192
void release_buffer_stream(mir::protobuf::BufferStreamId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:122
void next_buffer(mir::protobuf::SurfaceId const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:59
void connect(mir::protobuf::ConnectParameters const *request, mir::protobuf::Connection *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:31
void modify_surface(mir::protobuf::SurfaceModifications const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:52
void start_prompt_session(mir::protobuf::PromptSessionParameters const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:143
void create_screencast(mir::protobuf::ScreencastParameters const *request, mir::protobuf::Screencast *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:94
void request_persistent_surface_id(mir::protobuf::SurfaceId const *request, mir::protobuf::PersistentSurfaceId *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:185
void configure_cursor(mir::protobuf::CursorSetting const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:129
Definition: display_server.h:28
Definition: mir_display_server.h:33
void exchange_buffer(mir::protobuf::BufferRequest const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done) override
Definition: mir_display_server.cpp:157

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015