Mir
mir_connection.h
Go to the documentation of this file.
1/*
2 * Copyright © 2012-2014 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 2 or 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 */
17
18#ifndef MIR_TOOLKIT_MIR_CONNECTION_H_
19#define MIR_TOOLKIT_MIR_CONNECTION_H_
20
22#include <mir_toolkit/common.h>
24
25#include <stdbool.h>
26
27#ifdef __cplusplus
32extern "C" {
33#endif
34
52 char const *server,
53 char const *app_name,
54 MirConnectedCallback callback,
55 void *context);
56
64MirConnection *mir_connect_sync(char const *server, char const *app_name);
65
73
83
89
97MIR_FOR_REMOVAL_IN_VERSION_1("use platform extensions instead");
98
109MIR_FOR_REMOVAL_IN_VERSION_1("use graphics module extension instead");
110
118 MirLifecycleEventCallback callback, void* context);
119
120
139 MirPingEventCallback callback, void* context);
140
141
147void mir_connection_pong(MirConnection* connection, int32_t serial);
148
160MIR_FOR_REMOVAL_IN_VERSION_1("use mir_connection_create_display_configuration instead");
161
172
184 MirConnection* connection,
185 MirDisplayConfigCallback callback, void* context);
186
192MIR_FOR_REMOVAL_IN_VERSION_1("use mir_display_config_release instead");
193
208MIR_FOR_REMOVAL_IN_VERSION_1("use mir_connection_apply_session_display_config instead");
209
222
233
256 MirConnection* connection,
257 MirDisplayConfiguration const* display_configuration)
258MIR_FOR_REMOVAL_IN_VERSION_1("use mir_connection_preview_base_display_configuration/mir_connection_confirm_base_display_configuration");
259
260
287 MirConnection* connection,
288 MirDisplayConfig const* configuration,
289 int timeout_seconds);
290
311 MirConnection* connection,
312 MirDisplayConfig const* configuration);
313
328 MirConnection* connection);
329
337MIR_FOR_REMOVAL_IN_VERSION_1("Use MirConnection * as the native display instead");
338
349 MirConnection *connection, void *egldisplay, void *eglconfig)
350MIR_FOR_REMOVAL_IN_VERSION_1("Use EGL directly, the EGL implementation will now set correct pixel format");
351
368 MirConnection* connection, MirPixelFormat* formats,
369 unsigned const int formats_size, unsigned int *num_valid_formats);
370
384 MirConnection* connection,
385 MirPlatformMessage const* request,
386 MirPlatformOperationCallback callback, void* context)
387MIR_FOR_REMOVAL_IN_VERSION_1("use platform specific extensions instead");
388
397
414 MirConnection* connection, MirInputConfig const* config);
415
434 MirConnection* connection, MirInputConfig const* config);
435
446
454
466 MirConnection* connection,
467 MirInputConfigCallback callback, void* context);
468
477 MirConnection* connection,
478 MirErrorCallback callback,
479 void* context);
480
489
499 MirConnection* connection,
500 void* context,
501 void (*enumerator)(void* context, char const* extension, int version));
502
503#ifdef __cplusplus
504}
506#endif
507
508#endif /* MIR_TOOLKIT_MIR_CONNECTION_H_ */
#define MIR_FOR_REMOVAL_IN_VERSION_1(message)
Definition: deprecations.h:30
void mir_connection_pong(MirConnection *connection, int32_t serial)
Respond to a ping event.
void(* MirLifecycleEventCallback)(MirConnection *connection, MirLifecycleState state, void *context)
Callback called when a lifecycle event/callback is requested from the running server.
Definition: client_types.h:131
void(* MirPingEventCallback)(MirConnection *connection, int32_t serial, void *context)
Callback called when the server pings for responsiveness testing.
Definition: client_types.h:143
void(* MirInputConfigCallback)(MirConnection *connection, void *context)
Callback called when a change of input devices has occurred.
Definition: client_types.h:492
MirDisplayConfig * mir_connection_create_display_configuration(MirConnection *connection)
Query the display.
void mir_connection_get_graphics_module(MirConnection *connection, MirModuleProperties *properties) MIR_FOR_REMOVAL_IN_VERSION_1("use graphics module extension instead")
Query graphics platform module.
void mir_connection_set_input_config_change_callback(MirConnection *connection, MirInputConfigCallback callback, void *context)
Register a callback to be called when the input devices change.
void mir_connection_remove_session_display_config(MirConnection *connection)
Remove the display configuration for the connection.
unsigned mir_get_client_api_version()
Returns client API version.
void mir_connection_set_base_input_config(MirConnection *connection, MirInputConfig const *config)
Set the input configuration as base configuration.
struct MirDisplayConfig MirDisplayConfig
Definition: client_types.h:53
MirWaitHandle * mir_connection_set_base_display_config(MirConnection *connection, MirDisplayConfiguration const *display_configuration) MIR_FOR_REMOVAL_IN_VERSION_1("use mir_connection_preview_base_display_configuration/mir_connection_confirm_base_display_configuration")
Set the base display configuration.
MirConnection * mir_connect_sync(char const *server, char const *app_name)
Perform a mir_connect() but also wait for and return the result.
void mir_connection_set_ping_event_callback(MirConnection *connection, MirPingEventCallback callback, void *context)
Register a callback for server ping events.
void * MirEGLNativeDisplayType
Definition: client_types.h:40
void mir_connection_enumerate_extensions(MirConnection *connection, void *context, void(*enumerator)(void *context, char const *extension, int version))
Enumerates the supported extensions.
void mir_connection_release(MirConnection *connection)
Release a connection to the Mir server.
void mir_connection_apply_session_input_config(MirConnection *connection, MirInputConfig const *config)
Apply the input configuration for the connection.
MirPixelFormat the EGL implementation will now set correct pixel format
Definition: mir_connection.h:350
void(* MirErrorCallback)(MirConnection *connection, MirError const *error, void *context)
Definition: client_types.h:562
bool mir_connection_is_valid(MirConnection *connection)
Test for a valid connection.
void(* MirDisplayConfigCallback)(MirConnection *connection, void *context)
Callback called when a display config change has occurred.
Definition: client_types.h:154
MirWaitHandle * mir_connect(char const *server, char const *app_name, MirConnectedCallback callback, void *context)
Request a connection to the Mir server.
void mir_connection_set_lifecycle_event_callback(MirConnection *connection, MirLifecycleEventCallback callback, void *context)
Register a callback to be called when a Lifecycle state change occurs.
MirDisplayConfiguration * mir_connection_create_display_config(MirConnection *connection) MIR_FOR_REMOVAL_IN_VERSION_1("use mir_connection_create_display_configuration instead")
Query the display.
void mir_connection_set_display_config_change_callback(MirConnection *connection, MirDisplayConfigCallback callback, void *context)
Register a callback to be called when the hardware display configuration changes.
void mir_connection_get_available_surface_formats(MirConnection *connection, MirPixelFormat *formats, unsigned const int formats_size, unsigned int *num_valid_formats)
Get the list of possible formats that a surface can be created with.
void(* MirConnectedCallback)(MirConnection *connection, void *client_context)
Callback to be passed when issuing a mir_connect request.
Definition: client_types.h:89
void mir_input_config_destroy(MirInputConfig const *config) MIR_FOR_REMOVAL_IN_VERSION_1("use mir_input_config_release instead")
void mir_connection_confirm_base_display_configuration(MirConnection *connection, MirDisplayConfig const *configuration)
Confirm a base configuration change initiated by mir_connection_preview_base_display_configuration()
struct MirWaitHandle MirWaitHandle
Returned by asynchronous functions.
Definition: client_types.h:79
void mir_connection_cancel_base_display_configuration_preview(MirConnection *connection)
Cancel a pending base display configuration preview.
MirInputConfig * mir_connection_create_input_config(MirConnection *connection)
Create a snapshot of the attached input devices and device configurations.
struct MirPlatformMessage MirPlatformMessage
Definition: client_types.h:81
MirPixelFormat mir_connection_get_egl_pixel_format(MirConnection *connection, void *egldisplay, void *eglconfig) MIR_FOR_REMOVAL_IN_VERSION_1("Use EGL directly
Get the exact MirPixelFormat to use in creating a surface for a chosen EGLConfig.
MirEGLNativeDisplayType mir_connection_get_egl_native_display(MirConnection *connection) MIR_FOR_REMOVAL_IN_VERSION_1("Use MirConnection * as the native display instead")
Get a display type that can be used with EGL.
MirPixelFormat
32-bit pixel formats (8888): The order of components in the enum matches the order of the components ...
Definition: common.h:245
void(* MirPlatformOperationCallback)(MirConnection *connection, MirPlatformMessage *reply, void *context)
Callback called when a platform operation completes.
Definition: client_types.h:480
void mir_input_config_release(MirInputConfig const *config)
Release this snapshot of the input configuration.
void mir_connection_preview_base_display_configuration(MirConnection *connection, MirDisplayConfig const *configuration, int timeout_seconds)
Preview a new base display configuration.
void mir_connection_apply_session_display_config(MirConnection *connection, MirDisplayConfig const *display_config)
Apply the display config for the connection.
void mir_connection_get_platform(MirConnection *connection, MirPlatformPackage *platform_package) MIR_FOR_REMOVAL_IN_VERSION_1("use platform extensions instead")
Query platform-specific data and/or file descriptors that are required to initialize GL/EGL features.
struct MirConnection MirConnection
Definition: client_types.h:41
void mir_connection_set_error_callback(MirConnection *connection, MirErrorCallback callback, void *context)
Register a callback to be called on non-fatal errors.
MirWaitHandle * mir_connection_apply_display_config(MirConnection *connection, MirDisplayConfiguration *display_configuration) MIR_FOR_REMOVAL_IN_VERSION_1("use mir_connection_apply_session_display_config instead")
Apply the display configuration.
char const * mir_connection_get_error_message(MirConnection *connection)
Retrieve a text description of the last error.
void mir_display_config_destroy(MirDisplayConfiguration *display_configuration) MIR_FOR_REMOVAL_IN_VERSION_1("use mir_display_config_release instead")
Destroy the DisplayConfiguration resource acquired from mir_connection_create_display_config.
MirWaitHandle * mir_connection_platform_operation(MirConnection *connection, MirPlatformMessage const *request, MirPlatformOperationCallback callback, void *context) MIR_FOR_REMOVAL_IN_VERSION_1("use platform specific extensions instead")
Perform a platform specific operation.
struct MirInputConfig MirInputConfig
Definition: client_types.h:406
Definition: client_types.h:381
Retrieved information about a loadable module.
Definition: client_types.h:254
Definition: client_types.h:238

Copyright © 2012-2022 Canonical Ltd.
Generated on Sat 3 Dec 14:36:51 UTC 2022
This documentation is licensed under the GPL version 2 or 3.