[glib/gdbus-codegen-exporting-2-64: 1/2] gdbus-codegen: Decorate symbols in headers



commit 5e93b9e59813104b80ef6321c83eab41512b04b3
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Fri Apr 17 18:01:54 2020 +0800

    gdbus-codegen: Decorate symbols in headers
    
    This decorates the generated functions in the headers that are generated
    by gdbus-codegen so that we may be able to export those symbols using
    compiler directives, if needed, by overriding the definitions of the
    decoration macros.

 gio/gdbus-2.0/codegen/codegen.py | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
---
diff --git a/gio/gdbus-2.0/codegen/codegen.py b/gio/gdbus-2.0/codegen/codegen.py
index d71299ebe..a4ad29819 100644
--- a/gio/gdbus-2.0/codegen/codegen.py
+++ b/gio/gdbus-2.0/codegen/codegen.py
@@ -171,9 +171,12 @@ class HeaderCodeGenerator:
                 self.outfile.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%s, g_object_unref)\n' % (i.camel_name))
                 self.outfile.write('#endif\n')
                 self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %s_get_type (void) G_GNUC_CONST;\n'%(i.name_lower))
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GDBusInterfaceInfo *%s_interface_info (void);\n'%(i.name_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('guint %s_override_properties (GObjectClass *klass, guint 
property_id_begin);\n'%(i.name_lower))
             self.outfile.write('\n')
 
@@ -182,6 +185,7 @@ class HeaderCodeGenerator:
                 self.outfile.write('\n')
                 self.outfile.write('/* D-Bus method call completion functions: */\n')
                 for m in i.methods:
+                    self.outfile.write('_GLIB_EXTERN\n')
                     if m.deprecated:
                         self.outfile.write('G_GNUC_DEPRECATED ')
                     self.outfile.write('void %s_complete_%s (\n'
@@ -200,6 +204,7 @@ class HeaderCodeGenerator:
                 self.outfile.write('\n')
                 self.outfile.write('/* D-Bus signal emissions functions: */\n')
                 for s in i.signals:
+                    self.outfile.write('_GLIB_EXTERN\n')
                     if s.deprecated:
                         self.outfile.write('G_GNUC_DEPRECATED ')
                     self.outfile.write('void %s_emit_%s (\n'
@@ -216,6 +221,7 @@ class HeaderCodeGenerator:
                 self.outfile.write('/* D-Bus method calls: */\n')
                 for m in i.methods:
                     # async begin
+                    self.outfile.write('_GLIB_EXTERN\n')
                     if m.deprecated:
                         self.outfile.write('G_GNUC_DEPRECATED ')
                     self.outfile.write('void %s_call_%s (\n'
@@ -233,6 +239,7 @@ class HeaderCodeGenerator:
                                        '    gpointer user_data);\n')
                     self.outfile.write('\n')
                     # async finish
+                    self.outfile.write('_GLIB_EXTERN\n')
                     if m.deprecated:
                         self.outfile.write('G_GNUC_DEPRECATED ')
                     self.outfile.write('gboolean %s_call_%s_finish (\n'
@@ -246,6 +253,7 @@ class HeaderCodeGenerator:
                                        '    GError **error);\n')
                     self.outfile.write('\n')
                     # sync
+                    self.outfile.write('_GLIB_EXTERN\n')
                     if m.deprecated:
                         self.outfile.write('G_GNUC_DEPRECATED ')
                     self.outfile.write('gboolean %s_call_%s_sync (\n'
@@ -273,14 +281,17 @@ class HeaderCodeGenerator:
                 self.outfile.write('/* D-Bus property accessors: */\n')
                 for p in i.properties:
                     # getter
+                    self.outfile.write('_GLIB_EXTERN\n')
                     if p.deprecated:
                         self.outfile.write('G_GNUC_DEPRECATED ')
                     self.outfile.write('%s%s_get_%s (%s *object);\n'%(p.arg.ctype_in, i.name_lower, 
p.name_lower, i.camel_name))
                     if p.arg.free_func != None:
+                        self.outfile.write('_GLIB_EXTERN\n')
                         if p.deprecated:
                             self.outfile.write('G_GNUC_DEPRECATED ')
                         self.outfile.write('%s%s_dup_%s (%s *object);\n'%(p.arg.ctype_in_dup, i.name_lower, 
p.name_lower, i.camel_name))
                     # setter
+                    self.outfile.write('_GLIB_EXTERN\n')
                     if p.deprecated:
                         self.outfile.write('G_GNUC_DEPRECATED ')
                     self.outfile.write('void %s_set_%s (%s *object, %svalue);\n'%(i.name_lower, 
p.name_lower, i.camel_name, p.arg.ctype_in, ))
@@ -313,6 +324,7 @@ class HeaderCodeGenerator:
             self.outfile.write('  GDBusProxyClass parent_class;\n')
             self.outfile.write('};\n')
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %s_proxy_get_type (void) G_GNUC_CONST;\n'%(i.name_lower))
             self.outfile.write('\n')
             if self.generate_autocleanup in ('objects', 'all'):
@@ -320,6 +332,7 @@ class HeaderCodeGenerator:
                 self.outfile.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sProxy, g_object_unref)\n' % 
(i.camel_name))
                 self.outfile.write('#endif\n')
                 self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             if i.deprecated:
                 self.outfile.write('G_GNUC_DEPRECATED ')
             self.outfile.write('void %s_proxy_new (\n'
@@ -331,12 +344,14 @@ class HeaderCodeGenerator:
                                '    GAsyncReadyCallback  callback,\n'
                                '    gpointer             user_data);\n'
                                %(i.name_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             if i.deprecated:
                 self.outfile.write('G_GNUC_DEPRECATED ')
             self.outfile.write('%s *%s_proxy_new_finish (\n'
                                '    GAsyncResult        *res,\n'
                                '    GError             **error);\n'
                                %(i.camel_name, i.name_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             if i.deprecated:
                 self.outfile.write('G_GNUC_DEPRECATED ')
             self.outfile.write('%s *%s_proxy_new_sync (\n'
@@ -348,6 +363,7 @@ class HeaderCodeGenerator:
                                '    GError             **error);\n'
                                %(i.camel_name, i.name_lower))
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             if i.deprecated:
                 self.outfile.write('G_GNUC_DEPRECATED ')
             self.outfile.write('void %s_proxy_new_for_bus (\n'
@@ -359,12 +375,14 @@ class HeaderCodeGenerator:
                                '    GAsyncReadyCallback  callback,\n'
                                '    gpointer             user_data);\n'
                                %(i.name_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             if i.deprecated:
                 self.outfile.write('G_GNUC_DEPRECATED ')
             self.outfile.write('%s *%s_proxy_new_for_bus_finish (\n'
                                '    GAsyncResult        *res,\n'
                                '    GError             **error);\n'
                                %(i.camel_name, i.name_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             if i.deprecated:
                 self.outfile.write('G_GNUC_DEPRECATED ')
             self.outfile.write('%s *%s_proxy_new_for_bus_sync (\n'
@@ -404,6 +422,7 @@ class HeaderCodeGenerator:
             self.outfile.write('  GDBusInterfaceSkeletonClass parent_class;\n')
             self.outfile.write('};\n')
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %s_skeleton_get_type (void) G_GNUC_CONST;\n'%(i.name_lower))
             self.outfile.write('\n')
             if self.generate_autocleanup in ('objects', 'all'):
@@ -411,6 +430,7 @@ class HeaderCodeGenerator:
                 self.outfile.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sSkeleton, g_object_unref)\n' % 
(i.camel_name))
                 self.outfile.write('#endif\n')
                 self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             if i.deprecated:
                 self.outfile.write('G_GNUC_DEPRECATED ')
             self.outfile.write('%s *%s_skeleton_new (void);\n'%(i.camel_name, i.name_lower))
@@ -436,6 +456,7 @@ class HeaderCodeGenerator:
                                '  GTypeInterface parent_iface;\n'
                                '};\n'
                                '\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %sobject_get_type (void) G_GNUC_CONST;\n'
                                '\n'
                                %(self.ns_lower))
@@ -445,11 +466,13 @@ class HeaderCodeGenerator:
                 self.outfile.write('#endif\n')
                 self.outfile.write('\n')
             for i in self.ifaces:
+                self.outfile.write('_GLIB_EXTERN\n')
                 if i.deprecated:
                     self.outfile.write('G_GNUC_DEPRECATED ')
                 self.outfile.write('%s *%sobject_get_%s (%sObject *object);\n'
                                    %(i.camel_name, self.ns_lower, i.name_upper.lower(), self.namespace))
             for i in self.ifaces:
+                self.outfile.write('_GLIB_EXTERN\n')
                 if i.deprecated:
                     self.outfile.write('G_GNUC_DEPRECATED ')
                 self.outfile.write('%s *%sobject_peek_%s (%sObject *object);\n'
@@ -478,6 +501,7 @@ class HeaderCodeGenerator:
             self.outfile.write('  GDBusObjectProxyClass parent_class;\n')
             self.outfile.write('};\n')
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %sobject_proxy_get_type (void) G_GNUC_CONST;\n'%(self.ns_lower))
             self.outfile.write('\n')
             if self.generate_autocleanup in ('objects', 'all'):
@@ -485,6 +509,7 @@ class HeaderCodeGenerator:
                 self.outfile.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectProxy, g_object_unref)\n' % 
(self.namespace))
                 self.outfile.write('#endif\n')
                 self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('%sObjectProxy *%sobject_proxy_new (GDBusConnection *connection, const gchar 
*object_path);\n'%(self.namespace, self.ns_lower))
             self.outfile.write('\n')
             self.outfile.write('#define %sTYPE_OBJECT_SKELETON (%sobject_skeleton_get_type 
())\n'%(self.ns_upper, self.ns_lower))
@@ -510,6 +535,7 @@ class HeaderCodeGenerator:
             self.outfile.write('  GDBusObjectSkeletonClass parent_class;\n')
             self.outfile.write('};\n')
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %sobject_skeleton_get_type (void) G_GNUC_CONST;\n'%(self.ns_lower))
             self.outfile.write('\n')
             if self.generate_autocleanup in ('objects', 'all'):
@@ -517,9 +543,11 @@ class HeaderCodeGenerator:
                 self.outfile.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectSkeleton, g_object_unref)\n' % 
(self.namespace))
                 self.outfile.write('#endif\n')
                 self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('%sObjectSkeleton *%sobject_skeleton_new (const gchar *object_path);\n'
                                %(self.namespace, self.ns_lower))
             for i in self.ifaces:
+                self.outfile.write('_GLIB_EXTERN\n')
                 if i.deprecated:
                     self.outfile.write('G_GNUC_DEPRECATED ')
                 self.outfile.write('void %sobject_skeleton_set_%s (%sObjectSkeleton *object, %s 
*interface_);\n'
@@ -556,10 +584,13 @@ class HeaderCodeGenerator:
                 self.outfile.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectManagerClient, g_object_unref)\n' 
% (self.namespace))
                 self.outfile.write('#endif\n')
                 self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %sobject_manager_client_get_type (void) 
G_GNUC_CONST;\n'%(self.ns_lower))
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GType %sobject_manager_client_get_proxy_type (GDBusObjectManagerClient 
*manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);\n'%(self.ns_lower))
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('void %sobject_manager_client_new (\n'
                                '    GDBusConnection        *connection,\n'
                                '    GDBusObjectManagerClientFlags  flags,\n'
@@ -569,10 +600,12 @@ class HeaderCodeGenerator:
                                '    GAsyncReadyCallback     callback,\n'
                                '    gpointer                user_data);\n'
                                %(self.ns_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GDBusObjectManager *%sobject_manager_client_new_finish (\n'
                                '    GAsyncResult        *res,\n'
                                '    GError             **error);\n'
                                %(self.ns_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GDBusObjectManager *%sobject_manager_client_new_sync (\n'
                                '    GDBusConnection        *connection,\n'
                                '    GDBusObjectManagerClientFlags  flags,\n'
@@ -582,6 +615,7 @@ class HeaderCodeGenerator:
                                '    GError                **error);\n'
                                %(self.ns_lower))
             self.outfile.write('\n')
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('void %sobject_manager_client_new_for_bus (\n'
                                '    GBusType                bus_type,\n'
                                '    GDBusObjectManagerClientFlags  flags,\n'
@@ -591,10 +625,12 @@ class HeaderCodeGenerator:
                                '    GAsyncReadyCallback     callback,\n'
                                '    gpointer                user_data);\n'
                                %(self.ns_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GDBusObjectManager *%sobject_manager_client_new_for_bus_finish (\n'
                                '    GAsyncResult        *res,\n'
                                '    GError             **error);\n'
                                %(self.ns_lower))
+            self.outfile.write('_GLIB_EXTERN\n')
             self.outfile.write('GDBusObjectManager *%sobject_manager_client_new_for_bus_sync (\n'
                                '    GBusType                bus_type,\n'
                                '    GDBusObjectManagerClientFlags  flags,\n'


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]