[telepathy-qt4/master] qt4-client-gen: allow visibility of generated classes to be controlled

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Dec 3 09:42:01 PST 2009


---
 TelepathyQt4/Makefile.am |    1 +
 tools/qt4-client-gen.py  |   10 +++++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/TelepathyQt4/Makefile.am b/TelepathyQt4/Makefile.am
index db8ccf7..384d2b3 100644
--- a/TelepathyQt4/Makefile.am
+++ b/TelepathyQt4/Makefile.am
@@ -509,6 +509,7 @@ _gen/cli-%.h _gen/cli-%-body.hpp: _gen/spec-%.xml \
 		--ifacexml=$< \
 		--extraincludes='<TelepathyQt4/Types>' \
 		--must-define='IN_TELEPATHY_QT4_HEADER' \
+		--visibility=TELEPATHY_QT4_EXPORT \
 		$$mainiface
 
 _gen/%.moc.hpp: %.h _gen/constants.h _gen/types.h
diff --git a/tools/qt4-client-gen.py b/tools/qt4-client-gen.py
index 869f833..6325340 100644
--- a/tools/qt4-client-gen.py
+++ b/tools/qt4-client-gen.py
@@ -40,6 +40,7 @@ class Generator(object):
             self.must_define = opts.get('--must-define', None)
             self.dbus_proxy = opts.get('--dbus-proxy',
                     'Tp::DBusProxy')
+            self.visibility = opts.get('--visibility', '')
             ifacedom = xml.dom.minidom.parse(opts['--ifacexml'])
             specdom = xml.dom.minidom.parse(opts['--specxml'])
         except KeyError, k:
@@ -149,7 +150,7 @@ namespace %s
  *
  * Proxy class providing a 1:1 mapping of the D-Bus interface "%(dbusname)s."
  */
-class TELEPATHY_QT4_EXPORT %(name)s : public Tp::AbstractInterface
+class %(visibility)s %(name)s : public Tp::AbstractInterface
 {
     Q_OBJECT
 
@@ -195,7 +196,9 @@ public:
 """ % {'name' : name,
        'headercmd' : get_headerfile_cmd(self.realinclude, self.prettyinclude),
        'groupcmd' : self.group and (' * \\ingroup %s\n' % self.group),
-       'dbusname' : dbusname})
+       'dbusname' : dbusname,
+       'visibility': self.visibility,
+       })
 
         self.b("""
 %(name)s::%(name)s(const QString& busName, const QString& objectPath, QObject *parent)
@@ -505,6 +508,7 @@ if __name__ == '__main__':
              'extraincludes=',
              'mainiface=',
              'must-define=',
-             'dbus-proxy='])
+             'dbus-proxy=',
+             'visibility='])
 
     Generator(dict(options))()
-- 
1.5.6.5



More information about the telepathy-commits mailing list