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_PROTOBUF_DISPLAY_SERVER_H_
20 #define MIR_PROTOBUF_DISPLAY_SERVER_H_
21 
22 #include "mir_protobuf.pb.h"
23 
24 namespace mir
25 {
26 namespace protobuf
27 {
29 {
30 
31 public:
32  virtual ~DisplayServer() = default;
33 
34  virtual void connect(
35  mir::protobuf::ConnectParameters const* request,
36  mir::protobuf::Connection* response,
37  google::protobuf::Closure* done) = 0;
38  virtual void disconnect(
39  mir::protobuf::Void const* request,
40  mir::protobuf::Void* response,
41  google::protobuf::Closure* done) = 0;
42  virtual void create_surface(
43  mir::protobuf::SurfaceParameters const* request,
44  mir::protobuf::Surface* response,
45  google::protobuf::Closure* done) = 0;
46  virtual void modify_surface(
47  mir::protobuf::SurfaceModifications const* request,
48  mir::protobuf::Void* response,
49  google::protobuf::Closure* done) = 0;
50  virtual void next_buffer(
51  mir::protobuf::SurfaceId const* request,
52  mir::protobuf::Buffer* response,
53  google::protobuf::Closure* done) = 0;
54  virtual void release_surface(
55  mir::protobuf::SurfaceId const* request,
56  mir::protobuf::Void* response,
57  google::protobuf::Closure* done) = 0;
58  virtual void platform_operation(
59  mir::protobuf::PlatformOperationMessage const* request,
60  mir::protobuf::PlatformOperationMessage* response,
61  google::protobuf::Closure* done) = 0;
62  virtual void configure_surface(
63  mir::protobuf::SurfaceSetting const* request,
64  mir::protobuf::SurfaceSetting* response,
65  google::protobuf::Closure* done) = 0;
66  virtual void configure_display(
67  mir::protobuf::DisplayConfiguration const* request,
68  mir::protobuf::DisplayConfiguration* response,
69  google::protobuf::Closure* done) = 0;
70  virtual void set_base_display_configuration(
71  mir::protobuf::DisplayConfiguration const* request,
72  mir::protobuf::Void* response,
73  google::protobuf::Closure* done) = 0;
74  virtual void create_screencast(
75  mir::protobuf::ScreencastParameters const* request,
76  mir::protobuf::Screencast* response,
77  google::protobuf::Closure* done) = 0;
78  virtual void screencast_buffer(
79  mir::protobuf::ScreencastId const* request,
80  mir::protobuf::Buffer* response,
81  google::protobuf::Closure* done) = 0;
82  virtual void release_screencast(
83  mir::protobuf::ScreencastId const* request,
84  mir::protobuf::Void* response,
85  google::protobuf::Closure* done) = 0;
86  virtual void create_buffer_stream(
87  mir::protobuf::BufferStreamParameters const* request,
88  mir::protobuf::BufferStream* response,
89  google::protobuf::Closure* done) = 0;
90  virtual void release_buffer_stream(
91  mir::protobuf::BufferStreamId const* request,
92  mir::protobuf::Void* response,
93  google::protobuf::Closure* done) = 0;
94  virtual void configure_cursor(
95  mir::protobuf::CursorSetting const* request,
96  mir::protobuf::Void* response,
97  google::protobuf::Closure* done) = 0;
98  virtual void new_fds_for_prompt_providers(
99  mir::protobuf::SocketFDRequest const* request,
100  mir::protobuf::SocketFD* response,
101  google::protobuf::Closure* done) = 0;
102  virtual void start_prompt_session(
103  mir::protobuf::PromptSessionParameters const* request,
104  mir::protobuf::Void* response,
105  google::protobuf::Closure* done) = 0;
106  virtual void stop_prompt_session(
107  mir::protobuf::Void const* request,
108  mir::protobuf::Void* response,
109  google::protobuf::Closure* done) = 0;
110  virtual void exchange_buffer(
111  mir::protobuf::BufferRequest const* request,
112  mir::protobuf::Buffer* response,
113  google::protobuf::Closure* done) = 0;
114  virtual void submit_buffer(
115  mir::protobuf::BufferRequest const* request,
116  mir::protobuf::Void* response,
117  google::protobuf::Closure* done) = 0;
118  virtual void allocate_buffers(
119  mir::protobuf::BufferAllocation const* request,
120  mir::protobuf::Void* response,
121  google::protobuf::Closure* done) = 0;
122  virtual void release_buffers(
123  mir::protobuf::BufferRelease const* request,
124  mir::protobuf::Void* response,
125  google::protobuf::Closure* done) = 0;
126  virtual void request_persistent_surface_id(
127  mir::protobuf::SurfaceId const* request,
128  mir::protobuf::PersistentSurfaceId* response,
129  google::protobuf::Closure* done) = 0;
130  virtual void pong(
131  mir::protobuf::PingEvent const* request,
132  mir::protobuf::Void* response,
133  google::protobuf::Closure* done) = 0;
134  virtual void configure_buffer_stream(
135  mir::protobuf::StreamConfiguration const* request,
136  mir::protobuf::Void* response,
137  google::protobuf::Closure* done) = 0;
138  virtual void raise_surface(
139  mir::protobuf::RaiseRequest const* request,
140  mir::protobuf::Void* response,
141  google::protobuf::Closure* done) = 0;
142 
143 protected:
144  DisplayServer() = default;
145 
146 private:
147  DisplayServer(DisplayServer const&) = delete;
148  void operator=(DisplayServer const&) = delete;
149 };
150 }
151 }
152 
153 #endif //MIR_PROTOBUF_DISPLAY_SERVER_H_
154 
virtual void request_persistent_surface_id(mir::protobuf::SurfaceId const *request, mir::protobuf::PersistentSurfaceId *response, google::protobuf::Closure *done)=0
All things Mir.
Definition: atomic_callback.h:25
IntWrapper< detail::SessionsSurfaceIdTag > SurfaceId
Definition: surface_id.h:29
virtual void disconnect(mir::protobuf::Void const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void configure_buffer_stream(mir::protobuf::StreamConfiguration const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
IntWrapper< detail::SessionsBufferStreamIdTag > BufferStreamId
Definition: buffer_stream_id.h:29
virtual void connect(mir::protobuf::ConnectParameters const *request, mir::protobuf::Connection *response, google::protobuf::Closure *done)=0
virtual void new_fds_for_prompt_providers(mir::protobuf::SocketFDRequest const *request, mir::protobuf::SocketFD *response, google::protobuf::Closure *done)=0
virtual void pong(mir::protobuf::PingEvent const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void release_buffer_stream(mir::protobuf::BufferStreamId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void screencast_buffer(mir::protobuf::ScreencastId const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done)=0
virtual void configure_cursor(mir::protobuf::CursorSetting const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void configure_display(mir::protobuf::DisplayConfiguration const *request, mir::protobuf::DisplayConfiguration *response, google::protobuf::Closure *done)=0
virtual void set_base_display_configuration(mir::protobuf::DisplayConfiguration const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void next_buffer(mir::protobuf::SurfaceId const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done)=0
virtual void exchange_buffer(mir::protobuf::BufferRequest const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done)=0
virtual void configure_surface(mir::protobuf::SurfaceSetting const *request, mir::protobuf::SurfaceSetting *response, google::protobuf::Closure *done)=0
virtual void release_buffers(mir::protobuf::BufferRelease const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void create_surface(mir::protobuf::SurfaceParameters const *request, mir::protobuf::Surface *response, google::protobuf::Closure *done)=0
virtual void start_prompt_session(mir::protobuf::PromptSessionParameters const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual ~DisplayServer()=default
virtual void create_screencast(mir::protobuf::ScreencastParameters const *request, mir::protobuf::Screencast *response, google::protobuf::Closure *done)=0
virtual void submit_buffer(mir::protobuf::BufferRequest const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void create_buffer_stream(mir::protobuf::BufferStreamParameters const *request, mir::protobuf::BufferStream *response, google::protobuf::Closure *done)=0
virtual void platform_operation(mir::protobuf::PlatformOperationMessage const *request, mir::protobuf::PlatformOperationMessage *response, google::protobuf::Closure *done)=0
virtual void raise_surface(mir::protobuf::RaiseRequest const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void release_surface(mir::protobuf::SurfaceId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void allocate_buffers(mir::protobuf::BufferAllocation const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
Definition: display_server.h:28
virtual void release_screencast(mir::protobuf::ScreencastId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void stop_prompt_session(mir::protobuf::Void const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0
virtual void modify_surface(mir::protobuf::SurfaceModifications const *request, mir::protobuf::Void *response, google::protobuf::Closure *done)=0

Copyright © 2012-2015 Canonical Ltd.
Generated on Wed Mar 30 00:29:56 UTC 2016