[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