[PATCH weston] sdk: be C++ friendly

Giulio Camuffo giuliocamuffo at gmail.com
Thu Mar 28 10:02:42 PDT 2013


This renames the weston_surface's private member to configure_private
and externs "C" the headers of the SDK.
---
 shared/config-parser.h |  8 ++++++++
 shared/matrix.h        |  8 ++++++++
 src/compositor.c       |  6 +++---
 src/compositor.h       | 10 +++++++++-
 src/shell.c            | 28 ++++++++++++++--------------
 tests/weston-test.c    |  8 ++++----
 6 files changed, 46 insertions(+), 22 deletions(-)

diff --git a/shared/config-parser.h b/shared/config-parser.h
index 314057a..1d0ee3f 100644
--- a/shared/config-parser.h
+++ b/shared/config-parser.h
@@ -23,6 +23,10 @@
 #ifndef CONFIGPARSER_H
 #define CONFIGPARSER_H
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 enum config_key_type {
 	CONFIG_KEY_INTEGER,		/* typeof data = int */
 	CONFIG_KEY_UNSIGNED_INTEGER,	/* typeof data = unsigned int */
@@ -69,5 +73,9 @@ int
 parse_options(const struct weston_option *options,
 	      int count, int *argc, char *argv[]);
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif /* CONFIGPARSER_H */
 
diff --git a/shared/matrix.h b/shared/matrix.h
index 47354f6..e5cf636 100644
--- a/shared/matrix.h
+++ b/shared/matrix.h
@@ -24,6 +24,10 @@
 #ifndef WESTON_MATRIX_H
 #define WESTON_MATRIX_H
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 enum weston_matrix_transform_type {
 	WESTON_MATRIX_TRANSFORM_TRANSLATE	= (1 << 0),
 	WESTON_MATRIX_TRANSFORM_SCALE		= (1 << 1),
@@ -71,4 +75,8 @@ inverse_transform(const double *LU, const unsigned *p, float *v);
 #  define MATRIX_TEST_EXPORT static
 #endif
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif /* WESTON_MATRIX_H */
diff --git a/src/compositor.c b/src/compositor.c
index eb8d473..52d6f90 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2271,7 +2271,7 @@ static void
 pointer_cursor_surface_configure(struct weston_surface *es,
 				 int32_t dx, int32_t dy, int32_t width, int32_t height)
 {
-	struct weston_seat *seat = es->private;
+	struct weston_seat *seat = es->configure_private;
 	int x, y;
 
 	if (width == 0)
@@ -2305,7 +2305,7 @@ pointer_unmap_sprite(struct weston_seat *seat)
 
 	wl_list_remove(&seat->sprite_destroy_listener.link);
 	seat->sprite->configure = NULL;
-	seat->sprite->private = NULL;
+	seat->sprite->configure_private = NULL;
 	seat->sprite = NULL;
 }
 
@@ -2347,7 +2347,7 @@ pointer_set_cursor(struct wl_client *client, struct wl_resource *resource,
 		      &seat->sprite_destroy_listener);
 
 	surface->configure = pointer_cursor_surface_configure;
-	surface->private = seat;
+	surface->configure_private = seat;
 	seat->sprite = surface;
 	seat->hotspot_x = x;
 	seat->hotspot_y = y;
diff --git a/src/compositor.h b/src/compositor.h
index dc03aeb..0ad60ef 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -24,6 +24,10 @@
 #ifndef _WAYLAND_SYSTEM_COMPOSITOR_H_
 #define _WAYLAND_SYSTEM_COMPOSITOR_H_
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 #include <pixman.h>
 #include <xkbcommon/xkbcommon.h>
 #include <wayland-server.h>
@@ -496,7 +500,7 @@ struct weston_surface {
 	 * are the sx and sy paramerters supplied to surface::attach .
 	 */
 	void (*configure)(struct weston_surface *es, int32_t sx, int32_t sy, int32_t width, int32_t height);
-	void *private;
+	void *configure_private;
 };
 
 enum weston_key_state_update {
@@ -880,4 +884,8 @@ weston_transformed_rect(int width, int height,
 			enum wl_output_transform transform,
 			pixman_box32_t rect);
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif
diff --git a/src/shell.c b/src/shell.c
index c6ff300..de5d6f6 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1676,7 +1676,7 @@ create_black_surface(struct weston_compositor *ec,
 	}
 
 	surface->configure = black_surface_configure;
-	surface->private = fs_surface;
+	surface->configure_private = fs_surface;
 	weston_surface_configure(surface, x, y, w, h);
 	weston_surface_set_color(surface, 0.0, 0.0, 0.0, 1);
 	pixman_region32_fini(&surface->opaque);
@@ -2142,7 +2142,7 @@ static struct shell_surface *
 get_shell_surface(struct weston_surface *surface)
 {
 	if (surface->configure == shell_surface_configure)
-		return surface->private;
+		return surface->configure_private;
 	else
 		return NULL;
 }
@@ -2165,7 +2165,7 @@ create_shell_surface(void *shell, struct weston_surface *surface,
 	}
 
 	surface->configure = shell_surface_configure;
-	surface->private = shsurf;
+	surface->configure_private = shsurf;
 
 	shsurf->shell = (struct desktop_shell *) shell;
 	shsurf->unresponsive = 0;
@@ -2322,7 +2322,7 @@ configure_static_surface(struct weston_surface *es, struct weston_layer *layer,
 static void
 background_configure(struct weston_surface *es, int32_t sx, int32_t sy, int32_t width, int32_t height)
 {
-	struct desktop_shell *shell = es->private;
+	struct desktop_shell *shell = es->configure_private;
 
 	configure_static_surface(es, &shell->background_layer, width, height);
 }
@@ -2344,7 +2344,7 @@ desktop_shell_set_background(struct wl_client *client,
 	}
 
 	surface->configure = background_configure;
-	surface->private = shell;
+	surface->configure_private = shell;
 	surface->output = output_resource->data;
 	desktop_shell_send_configure(resource, 0,
 				     surface_resource,
@@ -2355,7 +2355,7 @@ desktop_shell_set_background(struct wl_client *client,
 static void
 panel_configure(struct weston_surface *es, int32_t sx, int32_t sy, int32_t width, int32_t height)
 {
-	struct desktop_shell *shell = es->private;
+	struct desktop_shell *shell = es->configure_private;
 
 	configure_static_surface(es, &shell->panel_layer, width, height);
 }
@@ -2377,7 +2377,7 @@ desktop_shell_set_panel(struct wl_client *client,
 	}
 
 	surface->configure = panel_configure;
-	surface->private = shell;
+	surface->configure_private = shell;
 	surface->output = output_resource->data;
 	desktop_shell_send_configure(resource, 0,
 				     surface_resource,
@@ -2388,7 +2388,7 @@ desktop_shell_set_panel(struct wl_client *client,
 static void
 lock_surface_configure(struct weston_surface *surface, int32_t sx, int32_t sy, int32_t width, int32_t height)
 {
-	struct desktop_shell *shell = surface->private;
+	struct desktop_shell *shell = surface->configure_private;
 
 	if (width == 0)
 		return;
@@ -2433,7 +2433,7 @@ desktop_shell_set_lock_surface(struct wl_client *client,
 		      &shell->lock_surface_listener);
 
 	surface->configure = lock_surface_configure;
-	surface->private = shell;
+	surface->configure_private = shell;
 }
 
 static void
@@ -2858,7 +2858,7 @@ is_black_surface (struct weston_surface *es, struct weston_surface **fs_surface)
 {
 	if (es->configure == black_surface_configure) {
 		if (fs_surface)
-			*fs_surface = (struct weston_surface *)es->private;
+			*fs_surface = (struct weston_surface *)es->configure_private;
 		return true;
 	}
 	return false;
@@ -3413,7 +3413,7 @@ bind_desktop_shell(struct wl_client *client,
 static void
 screensaver_configure(struct weston_surface *surface, int32_t sx, int32_t sy, int32_t width, int32_t height)
 {
-	struct desktop_shell *shell = surface->private;
+	struct desktop_shell *shell = surface->configure_private;
 
 	if (width == 0)
 		return;
@@ -3445,7 +3445,7 @@ screensaver_set_surface(struct wl_client *client,
 	struct weston_output *output = output_resource->data;
 
 	surface->configure = screensaver_configure;
-	surface->private = shell;
+	surface->configure_private = shell;
 	surface->output = output;
 }
 
@@ -3524,7 +3524,7 @@ static struct input_panel_surface *
 get_input_panel_surface(struct weston_surface *surface)
 {
 	if (surface->configure == input_panel_configure) {
-		return surface->private;
+		return surface->configure_private;
 	} else {
 		return NULL;
 	}
@@ -3556,7 +3556,7 @@ create_input_panel_surface(struct desktop_shell *shell,
 		return NULL;
 
 	surface->configure = input_panel_configure;
-	surface->private = input_panel_surface;
+	surface->configure_private = input_panel_surface;
 
 	input_panel_surface->shell = shell;
 
diff --git a/tests/weston-test.c b/tests/weston-test.c
index 4dc2e5c..55c5da4 100644
--- a/tests/weston-test.c
+++ b/tests/weston-test.c
@@ -76,7 +76,7 @@ notify_pointer_position(struct weston_test *test, struct wl_resource *resource)
 static void
 test_surface_configure(struct weston_surface *surface, int32_t sx, int32_t sy, int32_t width, int32_t height)
 {
-	struct weston_test_surface *test_surface = surface->private;
+	struct weston_test_surface *test_surface = surface->configure_private;
 	struct weston_test *test = test_surface->test;
 
 	if (wl_list_empty(&surface->layer_link))
@@ -99,9 +99,9 @@ move_surface(struct wl_client *client, struct wl_resource *resource,
 	struct weston_test_surface *test_surface;
 
 	surface->configure = test_surface_configure;
-	if (surface->private == NULL)
-		surface->private = malloc(sizeof *test_surface);
-	test_surface = surface->private;
+	if (surface->configure_private == NULL)
+		surface->configure_private = malloc(sizeof *test_surface);
+	test_surface = surface->configure_private;
 	if (test_surface == NULL) {
 		wl_resource_post_no_memory(resource);
 		return;
-- 
1.8.2



More information about the wayland-devel mailing list