[Spice-commits] common/client_demarshallers.h common/demarshallers.h common/Makefile.am common/meson.build python_modules/demarshal.py tests/test-marshallers.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Oct 15 12:34:56 UTC 2018


 common/Makefile.am          |    2 +-
 common/demarshallers.h      |   16 ++++++++++------
 common/meson.build          |    2 +-
 python_modules/demarshal.py |    1 +
 tests/test-marshallers.c    |    2 +-
 5 files changed, 14 insertions(+), 9 deletions(-)

New commits:
commit 2060672e8126ed9086dac6b70a4b138c106084a8
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Fri Sep 28 14:23:40 2018 +0100

    Create common header for demarshallers declarations
    
    Code generated for demarshallers define and declare some types and
    functions.
    However these types and functions are also declared separately in other
    headers (currently spice-common/client_demarshallers.h and
    spice/server/demarshallers.h) resulting in potential ABI mismatch if the
    different declarations do not match.
    Using a common header shared between generated code and code using
    these functions prevent potentially multiple different declarations.
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Christophe Fergeau <cfergeau at redhat.com>

diff --git a/common/Makefile.am b/common/Makefile.am
index d8e30d1..da0d941 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -21,6 +21,7 @@ libspice_common_la_SOURCES =		\
 	backtrace.h			\
 	canvas_utils.c			\
 	canvas_utils.h			\
+	demarshallers.h			\
 	draw.h				\
 	lines.c				\
 	lines.h				\
@@ -63,7 +64,6 @@ EXTRA_libspice_common_la_SOURCES = 	\
 	$(NULL)
 
 libspice_common_client_la_SOURCES =		\
-	client_demarshallers.h			\
 	client_marshallers.h			\
 	ssl_verify.c				\
 	ssl_verify.h				\
diff --git a/common/client_demarshallers.h b/common/demarshallers.h
similarity index 62%
rename from common/client_demarshallers.h
rename to common/demarshallers.h
index 43c7e7d..0accb62 100644
--- a/common/client_demarshallers.h
+++ b/common/demarshallers.h
@@ -14,8 +14,8 @@
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */
-#ifndef _H_DEMARSHAL
-#define _H_DEMARSHAL
+#ifndef COMMON_DEMARSHALLERS_H_
+#define COMMON_DEMARSHALLERS_H_
 
 #include <stddef.h>
 #include <spice/macros.h>
@@ -23,12 +23,16 @@
 SPICE_BEGIN_DECLS
 
 typedef void (*message_destructor_t)(uint8_t *message);
-typedef uint8_t * (*spice_parse_channel_func_t)(uint8_t *message_start, uint8_t *message_end, uint16_t message_type, int minor,
-						size_t *size_out, message_destructor_t *free_message);
+typedef uint8_t * (*spice_parse_channel_func_t)(uint8_t *message_start, uint8_t *message_end,
+                                                uint16_t message_type, int minor,
+                                                size_t *size_out,
+                                                message_destructor_t *free_message);
 
-spice_parse_channel_func_t spice_get_server_channel_parser(uint32_t channel, unsigned int *max_message_type);
+spice_parse_channel_func_t
+spice_get_server_channel_parser(uint32_t channel, unsigned int *max_message_type);
+spice_parse_channel_func_t
+spice_get_client_channel_parser(uint32_t channel, unsigned int *max_message_type);
 
 SPICE_END_DECLS
 
 #endif
-
diff --git a/common/meson.build b/common/meson.build
index 36ba43b..6ac55dc 100644
--- a/common/meson.build
+++ b/common/meson.build
@@ -6,6 +6,7 @@ spice_common_sources = [
   'backtrace.h',
   'canvas_utils.c',
   'canvas_utils.h',
+  'demarshallers.h',
   'draw.h',
   'lines.c',
   'lines.h',
@@ -57,7 +58,6 @@ if spice_common_generate_client_code
   ]
 
   spice_common_client_sources = [
-    'client_demarshallers.h',
     'client_marshallers.h',
     'ssl_verify.c',
     'ssl_verify.h',
diff --git a/python_modules/demarshal.py b/python_modules/demarshal.py
index 6fe3c66..36213b1 100644
--- a/python_modules/demarshal.py
+++ b/python_modules/demarshal.py
@@ -1229,6 +1229,7 @@ def write_includes(writer):
     writer.writeln("#include <spice/protocol.h>")
     writer.writeln("#include <spice/macros.h>")
     writer.writeln('#include <common/mem.h>')
+    writer.writeln('#include <common/demarshallers.h>')
     writer.newline()
     writer.writeln("#ifdef _MSC_VER")
     writer.writeln("#pragma warning(disable:4101)")
diff --git a/tests/test-marshallers.c b/tests/test-marshallers.c
index 02fbcd1..a70ac95 100644
--- a/tests/test-marshallers.c
+++ b/tests/test-marshallers.c
@@ -22,7 +22,7 @@
 #include <string.h>
 
 #include <common/marshaller.h>
-#include <common/client_demarshallers.h>
+#include <common/demarshallers.h>
 #include "generated_test_enums.h"
 #include "generated_test_marshallers.h"
 


More information about the Spice-commits mailing list