diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/Makefile.am | 13 | ||||
-rw-r--r-- | src/common/common.vcxproj | 11 | ||||
-rw-r--r-- | src/common/common.vcxproj.filters | 9 | ||||
-rw-r--r-- | src/common/dbus/Makefile.am | 7 | ||||
-rw-r--r-- | src/common/dbus/dbus-plugin.c | 8 | ||||
-rw-r--r-- | src/common/dbus/example.c | 4 | ||||
-rw-r--r-- | src/common/dbus/marshallers.list | 1 | ||||
-rw-r--r-- | src/common/marshalers.list | 8 |
8 files changed, 42 insertions, 19 deletions
diff --git a/src/common/Makefile.am b/src/common/Makefile.am index 9c2d443e..8a177fa9 100644 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -62,7 +62,7 @@ endif noinst_PROGRAMS = make-te libhexchatcommon_a_SOURCES = cfgfiles.c chanopt.c ctcp.c dcc.c hexchat.c \ - history.c ignore.c inbound.c modes.c $(msproxy_c) network.c notify.c \ + history.c ignore.c inbound.c marshal.c modes.c $(msproxy_c) network.c notify.c \ outbound.c plugin.c plugin-timer.c proto-irc.c server.c servlist.c \ $(ssl_c) text.c tree.c url.c userlist.c util.c libhexchatcommon_a_CFLAGS = $(LIBPROXY_CFLAGS) @@ -72,4 +72,13 @@ textenums.h: textevents.h textevents.h: textevents.in make-te $(AM_V_GEN) ./make-te < textevents.in > textevents.h 2> textenums.h -BUILT_SOURCES = textenums.h textevents.h +marshal.h: marshalers.list + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_hexchat_marshal --header $(srcdir)/marshalers.list > $@ + +marshal.c: marshalers.list + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_hexchat_marshal --body $(srcdir)/marshalers.list > $@ + + +BUILT_SOURCES = textenums.h textevents.h marshal.c marshal.h + +CLEANFILES = $(BUILT_SOURCES) diff --git a/src/common/common.vcxproj b/src/common/common.vcxproj index 720faae7..17a8d829 100644 --- a/src/common/common.vcxproj +++ b/src/common/common.vcxproj @@ -24,6 +24,7 @@ <ClInclude Include="ignore.h" /> <ClInclude Include="inbound.h" /> <ClInclude Include="inet.h" /> + <ClInclude Include="marshal.h" /> <ClInclude Include="modes.h" /> <ClInclude Include="msproxy.h" /> <ClInclude Include="network.h" /> @@ -56,6 +57,7 @@ <ClCompile Include="identd.c" /> <ClCompile Include="ignore.c" /> <ClCompile Include="inbound.c" /> + <ClCompile Include="marshal.c" /> <ClCompile Include="modes.c" /> <ClCompile Include="msproxy.c" /> <ClCompile Include="network.c" /> @@ -156,15 +158,16 @@ </ImportGroup> <ItemDefinitionGroup> <PreBuildEvent> - <Command> - <![CDATA[ + <Command><![CDATA[ SET SOLUTIONDIR=$(SolutionDir)..\ powershell "$(SolutionDir)..\version-template.ps1" "$(SolutionDir)..\config-win32.h.tt" "$(SolutionDir)..\config-win32.h" powershell "$(SolutionDir)..\version-template.ps1" "$(SolutionDir)..\win32\version.txt.tt" "$(SolutionDir)..\win32\version.txt.tmp" REM version.txt must be in UTF-8 without trailing newline powershell "[string] $content = Get-Content '$(SolutionDir)..\win32\version.txt.tmp' -Encoding UTF8; [System.IO.File]::WriteAllText('$(SolutionDir)..\win32\version.txt', $content); Remove-Item '$(SolutionDir)..\win32\version.txt.tmp';" - ]]> - </Command> +"$(DepsRoot)\bin\glib-genmarshal.exe" --prefix=_hexchat_marshal --header "$(ProjectDir)marshalers.list" > "$(ProjectDir)marshal.h" +"$(DepsRoot)\bin\glib-genmarshal.exe" --prefix=_hexchat_marshal --body "$(ProjectDir)marshalers.list" > "$(ProjectDir)marshal.c" + + ]]></Command> </PreBuildEvent> </ItemDefinitionGroup> </Project> \ No newline at end of file diff --git a/src/common/common.vcxproj.filters b/src/common/common.vcxproj.filters index d543992d..800d8daa 100644 --- a/src/common/common.vcxproj.filters +++ b/src/common/common.vcxproj.filters @@ -110,6 +110,9 @@ <ClInclude Include="typedef.h"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="marshal.h"> + <Filter>Header Files</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <ClCompile Include="cfgfiles.c"> @@ -187,5 +190,11 @@ <ClCompile Include="hexchat.c"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="marshal.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <None Include="..\..\config-win32.h.tt" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/src/common/dbus/Makefile.am b/src/common/dbus/Makefile.am index bad6f611..4fa30452 100644 --- a/src/common/dbus/Makefile.am +++ b/src/common/dbus/Makefile.am @@ -7,12 +7,10 @@ libhexchatdbus_a_SOURCES = \ EXTRA_DIST = \ remote-object.xml \ - marshallers.list \ example.py \ org.hexchat.service.service.in BUILT_SOURCES = \ - marshallers.h \ remote-object-glue.h CLEANFILES = $(BUILT_SOURCES) @@ -20,15 +18,12 @@ CLEANFILES = $(BUILT_SOURCES) AM_CPPFLAGS = $(COMMON_CFLAGS) $(DBUS_CFLAGS) noinst_PROGRAMS = example -example_SOURCES = example.c +example_SOURCES = example.c example_LDADD = $(DBUS_LIBS) $(GLIB_LIBS) remote-object-glue.h: remote-object.xml $(AM_V_GEN) $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=remote_object --mode=glib-server --output=$@ $< -marshallers.h: marshallers.list - $(AM_V_GEN) $(LIBTOOL) --mode=execute $(GLIB_GENMARSHAL) --header --body $< > $@ - # Dbus service file servicedir = $(DBUS_SERVICES_DIR) service_in_files = org.hexchat.service.service.in diff --git a/src/common/dbus/dbus-plugin.c b/src/common/dbus/dbus-plugin.c index 62b83bb1..ce079982 100644 --- a/src/common/dbus/dbus-plugin.c +++ b/src/common/dbus/dbus-plugin.c @@ -241,7 +241,7 @@ static gboolean remote_object_send_modes (RemoteObject *obj, GError **error); #include "remote-object-glue.h" -#include "marshallers.h" +#include "../marshal.h" /* Useful functions */ @@ -317,7 +317,7 @@ remote_object_class_init (RemoteObjectClass *klass) G_SIGNAL_RUN_LAST, 0, NULL, NULL, - g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, G_TYPE_NONE, 4, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); @@ -327,7 +327,7 @@ remote_object_class_init (RemoteObjectClass *klass) G_SIGNAL_RUN_LAST, 0, NULL, NULL, - g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, G_TYPE_NONE, 4, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); @@ -337,7 +337,7 @@ remote_object_class_init (RemoteObjectClass *klass) G_SIGNAL_RUN_LAST, 0, NULL, NULL, - g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, G_TYPE_NONE, 3, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); diff --git a/src/common/dbus/example.c b/src/common/dbus/example.c index ee1833d3..c3ad4ff3 100644 --- a/src/common/dbus/example.c +++ b/src/common/dbus/example.c @@ -22,7 +22,7 @@ #include <config.h> #include <dbus/dbus-glib.h> #include <stdlib.h> -#include "marshallers.h" +#include "../marshal.c" #define DBUS_SERVICE "org.hexchat.service" #define DBUS_REMOTE "/org/hexchat/Remote" @@ -159,7 +159,7 @@ main (int argc, char **argv) g_print ("Server hook id=%d\n", server_id); dbus_g_object_register_marshaller ( - g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, G_TYPE_NONE, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_INVALID); diff --git a/src/common/dbus/marshallers.list b/src/common/dbus/marshallers.list deleted file mode 100644 index bc3c4ad5..00000000 --- a/src/common/dbus/marshallers.list +++ /dev/null @@ -1 +0,0 @@ -VOID:POINTER,POINTER,UINT,UINT diff --git a/src/common/marshalers.list b/src/common/marshalers.list new file mode 100644 index 00000000..0cafca81 --- /dev/null +++ b/src/common/marshalers.list @@ -0,0 +1,8 @@ +# xtext +VOID:OBJECT,OBJECT +VOID:POINTER,POINTER +# sexy-entry +BOOLEAN:STRING +OBJECT:OBJECT,OBJECT +# dbus-plugin & dbus-example +VOID:POINTER,POINTER,UINT,UINT |