[vala/wip/dbusgen: 5/6] Clean up



commit 0f98aefd57ca92c156afc3be00631a2e127b169f
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Thu Nov 23 15:21:48 2017 +0100

    Clean up

 configure.ac                                 |    3 +-
 dbusgen/.gitignore                           |    2 +-
 dbusgen/Makefile.am                          |   33 +++---
 dbusgen/{dbusgen.pc.in => valadbusgen.pc.in} |    6 +-
 dbusgen/valadbusgen.vala                     |   47 ++++-----
 dbusgen/valadbusnamespacestrategy.vala       |    7 +-
 dbusgen/valadbusparser.vala                  |  138 ++++++++++++-------------
 dbusgen/valadbusvariantmodule.vala           |   29 +++---
 8 files changed, 124 insertions(+), 141 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 379dbfd..416e78f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -153,6 +153,8 @@ AC_CONFIG_FILES([Makefile
            doc/manual/Makefile
            doc/manual/version.xml
            gobject-introspection/Makefile
+           dbusgen/valadbusgen.pc
+           dbusgen/Makefile
            vapigen/vapigen.pc
            vapigen/Makefile
            vapigen/vala-gen-introspect/Makefile
@@ -167,7 +169,6 @@ AC_CONFIG_FILES([Makefile
            valadoc/doclets/gtkdoc/Makefile
            valadoc/icons/Makefile
            valadoc/tests/Makefile
-           dbusgen/Makefile
 ])
 
 AC_OUTPUT
diff --git a/dbusgen/.gitignore b/dbusgen/.gitignore
index e932362..a5294aa 100644
--- a/dbusgen/.gitignore
+++ b/dbusgen/.gitignore
@@ -1 +1 @@
-dbusgen
+valadbusgen
diff --git a/dbusgen/Makefile.am b/dbusgen/Makefile.am
index 1ef577b..d5175eb 100644
--- a/dbusgen/Makefile.am
+++ b/dbusgen/Makefile.am
@@ -9,25 +9,25 @@ AM_CPPFLAGS = \
        $(NULL)
 
 bin_PROGRAMS = \
-       dbusgen \
+       valadbusgen \
        $(NULL)
 
-BUILT_SOURCES = dbusgen.vala.stamp
+BUILT_SOURCES = valadbusgen.vala.stamp
 
-dbusgen_VALASOURCES = \
+valadbusgen_VALASOURCES = \
        valadbusgen.vala \
        valadbusparser.vala \
        valadbusvariantmodule.vala \
        valadbusnamespacestrategy.vala \
        $(NULL)
 
-dbusgen_SOURCES = \
-       dbusgen.vala.stamp \
-       $(dbusgen_VALASOURCES:.vala=.c) \
+valadbusgen_SOURCES = \
+       valadbusgen.vala.stamp \
+       $(valadbusgen_VALASOURCES:.vala=.c) \
        $(NULL)
 
 
-dbusgen.vala.stamp: $(dbusgen_VALASOURCES)
+valadbusgen.vala.stamp: $(valadbusgen_VALASOURCES)
        $(VALA_V)$(VALAC) \
                $(VALAFLAGS) \
                -C \
@@ -39,35 +39,34 @@ dbusgen.vala.stamp: $(dbusgen_VALASOURCES)
        @touch $@
 
 
-dbusgen_LDADD = \
+valadbusgen_LDADD = \
        $(GLIB_LIBS) \
        $(top_builddir)/vala/libvala@PACKAGE_SUFFIX@.la \
        $(NULL)
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = dbusgen@PACKAGE_SUFFIX@.pc
+pkgconfig_DATA = valadbusgen@PACKAGE_SUFFIX@.pc
 
-dbusgen@PACKAGE_SUFFIX@.pc: dbusgen.pc
+valadbusgen@PACKAGE_SUFFIX@.pc: valadbusgen.pc
        cp $< $@
 
 EXTRA_DIST = \
-       $(dbusgen_VALASOURCES) \
-       dbusgen.vala.stamp \
-       vapicheck.vala.stamp \
+       $(valadbusgen_VALASOURCES) \
+       valadbusgen.vala.stamp \
        $(NULL)
 
 CLEANFILES = \
-       dbusgen@PACKAGE_SUFFIX@.pc
+       valadbusgen@PACKAGE_SUFFIX@.pc
        $(NULL)
 
 if ENABLE_UNVERSIONED
 install-exec-hook:
-       cd $(DESTDIR)$(bindir) && $(LN_S) -f dbusgen@PACKAGE_SUFFIX@$(EXEEXT) dbusgen$(EXEEXT)
+       cd $(DESTDIR)$(bindir) && $(LN_S) -f valadbusgen@PACKAGE_SUFFIX@$(EXEEXT) valadbusgen$(EXEEXT)
 
 install-data-hook:
-       cd $(DESTDIR)$(pkgconfigdir) && $(LN_S) -f dbusgen@PACKAGE_SUFFIX@.pc dbusgen.pc
+       cd $(DESTDIR)$(pkgconfigdir) && $(LN_S) -f valadbusgen@PACKAGE_SUFFIX@.pc valadbusgen.pc
 endif
 
 MAINTAINERCLEANFILES = \
-       $(dbusgen_VALASOURCES:.vala=.c) \
+       $(valadbusgen_VALASOURCES:.vala=.c) \
        $(NULL)
diff --git a/dbusgen/dbusgen.pc.in b/dbusgen/valadbusgen.pc.in
similarity index 69%
rename from dbusgen/dbusgen.pc.in
rename to dbusgen/valadbusgen.pc.in
index ecd54ce..4a286a0 100644
--- a/dbusgen/dbusgen.pc.in
+++ b/dbusgen/valadbusgen.pc.in
@@ -6,10 +6,10 @@ datarootdir=@datarootdir@
 datadir=@datadir@
 includedir=@includedir@
 
-vapigen=${bindir}/vapigen@PACKAGE_SUFFIX@
+vapigen=${bindir}/valadbusgen@PACKAGE_SUFFIX@
 vapidir=${datadir}/vala/vapi
 vapidir_versioned=${datadir}/vala@PACKAGE_SUFFIX@/vapi
 
-Name: vapigen
-Description: Vala API Generator
+Name: valadbusgen
+Description: Vala DBus Interface Generator
 Version: @VERSION@
diff --git a/dbusgen/valadbusgen.vala b/dbusgen/valadbusgen.vala
index 1a18b68..441045d 100644
--- a/dbusgen/valadbusgen.vala
+++ b/dbusgen/valadbusgen.vala
@@ -24,17 +24,16 @@
 
 using GLib;
 
-public class Vala.DBUSGen {
-       
-       
+public class Vala.DBusGen {
+
        public class ConcatenationStrategy : NamespaceStrategy {
-               
+
                public override string? get_namespace (string ns) {
                        return null;
                }
-               
+
                public override string get_name (string ns) {
-                       
+
                        string[] parts = ns.split(".");
                        StringBuilder capitalized_name = new StringBuilder();
                        foreach (string part in parts) {
@@ -47,7 +46,7 @@ public class Vala.DBUSGen {
                }
 
        }
-       
+
        static string directory;
        static bool version;
        static bool quiet_mode = false;
@@ -75,7 +74,7 @@ public class Vala.DBUSGen {
                { "", 0, 0, OptionArg.FILENAME_ARRAY, ref sources, null, "FILE..." },
                { null }
        };
-       
+
        private int quit () {
                if (context.report.get_errors () == 0) {
                        if (!quiet_mode) {
@@ -89,7 +88,7 @@ public class Vala.DBUSGen {
                        return 1;
                }
        }
-       
+
        private int run () {
                context = new CodeContext ();
 
@@ -97,7 +96,7 @@ public class Vala.DBUSGen {
                context.vapi_directories = vapi_directories;
                context.report.set_verbose_errors (!quiet_mode);
                CodeContext.push (context);
-               
+
                context.profile = Profile.GOBJECT;
                context.add_define ("GOBJECT");
                context.target_glib_major = 2;
@@ -107,7 +106,6 @@ public class Vala.DBUSGen {
                        context.add_define ("GLIB_2_%d".printf (i));
                }
 
-
                context.add_external_package ("glib-2.0");
                context.add_external_package ("gobject-2.0");
 
@@ -117,11 +115,10 @@ public class Vala.DBUSGen {
                        }
                        packages = null;
                }
-               
+
                if (context.report.get_errors () > 0) {
                        return quit ();
                }
-               
 
                var valaparser = new Parser ();
                valaparser.parse (context);
@@ -130,7 +127,6 @@ public class Vala.DBUSGen {
                        return quit ();
                }
 
-
                foreach (string source in sources) {
                        if (FileUtils.test (source, FileTest.EXISTS) && source.has_suffix (".xml")) {
                                var source_file = new SourceFile (context, SourceFileType.SOURCE, source);
@@ -140,7 +136,7 @@ public class Vala.DBUSGen {
                                Report.error (null, "%s not found".printf (source));
                        }
                }
-               
+
                if (context.report.get_errors () > 0) {
                        return quit ();
                }
@@ -149,23 +145,22 @@ public class Vala.DBUSGen {
                parser.dbus_timeout = dbus_timeout;
                parser.namespace_strategy = new ConcatenationStrategy ();
                parser.parse (context);
-               
+
                if (context.report.get_errors () > 0) {
                        return quit ();
-               }                               
+               }
 
                context.check ();
-               
+
                if (context.report.get_errors () > 0) {
                        return quit ();
-               }                               
+               }
 
                var interface_writer = new CodeWriter (CodeWriterType.FAST);
-               
-               
+
                foreach (SourceFile source in context.get_source_files ()) {
                        string filename = Path.get_basename (source.filename);
-                       
+
                        if (filename.has_suffix (".xml")) {
                                if (directory != null) {
                                        filename = Path.build_path ("/", directory, filename + ".vala");
@@ -176,7 +171,7 @@ public class Vala.DBUSGen {
 
                return quit ();
        }
-       
+
        static int main (string[] args) {
                Intl.setlocale (LocaleCategory.ALL, "");
                try {
@@ -199,8 +194,8 @@ public class Vala.DBUSGen {
                        stderr.printf ("No source file specified.\n");
                        return 1;
                }
-               
-               var vapigen = new DBUSGen ();
-               return vapigen.run ();
+
+               var DBusGen = new DBusGen ();
+               return DBusGen.run ();
        }
 }
diff --git a/dbusgen/valadbusnamespacestrategy.vala b/dbusgen/valadbusnamespacestrategy.vala
index b200856..3c95f1b 100644
--- a/dbusgen/valadbusnamespacestrategy.vala
+++ b/dbusgen/valadbusnamespacestrategy.vala
@@ -19,11 +19,10 @@
  * Author:
  *     Chris Daley <chebizarro gmail com>
  */
- 
+
 public abstract class Vala.NamespaceStrategy {
-       
+
        public abstract string? get_namespace (string ns);
-       
+
        public abstract string get_name (string ns);
-       
 }
diff --git a/dbusgen/valadbusparser.vala b/dbusgen/valadbusparser.vala
index 5029d35..b1649bd 100644
--- a/dbusgen/valadbusparser.vala
+++ b/dbusgen/valadbusparser.vala
@@ -28,26 +28,26 @@ using GLib;
 public class Vala.DBusParser : CodeVisitor {
 
        private CodeContext context;
-       
+
        private DBusVariantModule dbus_module;
-       
+
        private SourceFile current_source_file;
-       
+
        private CodeNode current_node;
        private Namespace current_ns;
        private Interface current_iface;
        private Callable current_method;
        private Parameter current_param;
        private Property current_property;
-       
+
        private MarkupReader reader;
-       
+
        private MarkupTokenType current_token;
        private SourceLocation begin;
        private SourceLocation end;
-       
+
        public int dbus_timeout { get; set; }
-       
+
        public NamespaceStrategy namespace_strategy { get; set; }
 
        /**
@@ -60,9 +60,9 @@ public class Vala.DBusParser : CodeVisitor {
 
                this.context = context;
                current_ns = context.root;
-               
+
                dbus_module = new DBusVariantModule (context);
-               
+
                context.accept (this);
        }
 
@@ -71,7 +71,7 @@ public class Vala.DBusParser : CodeVisitor {
                        parse_file (source_file);
                }
        }
-       
+
        private void parse_file (SourceFile source_file) {
 
                this.current_source_file = source_file;
@@ -82,22 +82,22 @@ public class Vala.DBusParser : CodeVisitor {
                next ();
                next ();
                next ();
-               
+
                parse_node ();
                this.current_source_file = null;
-               
+
                this.reader = null;
-               
+
        }
-       
+
        private void parse_node () {
                start_element ("node");
-               
+
                next ();
 
                while (current_token == MarkupTokenType.START_ELEMENT) {
-                       
-                       switch (reader.name) {          
+
+                       switch (reader.name) {
                                case "interface":
                                        parse_namespace ();
                                        parse_interface ();
@@ -110,62 +110,60 @@ public class Vala.DBusParser : CodeVisitor {
                                        break;
                        }
                }
-               
+
                end_element ("node");
        }
 
-       
        private void parse_namespace () {
                string? name = reader.get_attribute ("name");
-               
+
                if (name == null) {
                        Report.error (get_current_src (), "Interface declarations require a name attribute");
                        return;
                }
 
                string? ns_name = namespace_strategy.get_namespace (name);
-               
+
                if (ns_name != null) {
                        var ns = new Namespace (ns_name, get_current_src ());
                        current_ns.add_namespace (ns);
                        current_ns = ns;
-               }               
+               }
        }
-       
+
        private void parse_interface () {
                start_element ("interface");
 
                string? name = reader.get_attribute ("name");
-               
+
                if (name == null) {
                        Report.error (get_current_src (), "Interface declarations require a name attribute");
                        return;
                }
-               
+
                string iface_name = namespace_strategy.get_name (name);
-               
+
                current_node = current_iface = new Interface (iface_name, get_current_src ());
-               
-               
+
                current_iface.access = SymbolAccessibility.PUBLIC;
                current_iface.add_prerequisite (new ObjectType ((ObjectTypeSymbol) dbus_module.gobject_type));
                current_iface.set_attribute_string ("DBus", "name", name);
                current_iface.set_attribute_integer ("DBus", "timeout", dbus_timeout);
-               
+
                current_ns.add_interface (current_iface);
-               
+
                next ();
-               
+
                parse_interface_body ();
-               
+
                end_element ("interface");
-               
+
        }
 
        private void parse_interface_body () {
-                               
+
                while (current_token == MarkupTokenType.START_ELEMENT) {
-                               
+
                        switch (reader.name) {
                                case "annotation":
                                        parse_annotation ();
@@ -188,16 +186,16 @@ public class Vala.DBusParser : CodeVisitor {
 
        private void parse_annotation () {
                start_element ("annotation");
-               
+
                string? anno = reader.get_attribute ("name");
 
                if (anno == null) {
                        Report.error (get_current_src (), "Annotations require a name attribute");
                        return;
                }
-               
+
                switch (anno) {
-                       
+
                        case "org.freedesktop.DBus.Deprecated":
                                current_node.set_attribute_bool ("Version", "deprecated", true);
                                string? replaced_by = reader.get_attribute ("replaced-by");
@@ -215,46 +213,46 @@ public class Vala.DBusParser : CodeVisitor {
                                        current_node.set_attribute_bool ("DBus", "no_reply", true);
                                }
                                break;
-                       default: 
+                       default:
                                break;
                }
-               
+
                next ();
-               
+
                end_element ("annotation");
        }
 
        private void parse_method () {
                start_element ("method");
                string? name = reader.get_attribute ("name");
-               
+
                SourceReference src = new SourceReference (current_source_file, begin, end);
 
                if (name == null) {
                        Report.error (src, "Interface method declarations require a name attribute");
                        return;
                }
-               
+
                DataType return_type = new VoidType ();
-                               
+
                current_node = current_method = new Method (name, return_type, src);
                current_iface.add_method ((Method)current_method);
                ((Method)current_method).is_abstract = true;
                ((Method)current_method).access = SymbolAccessibility.PUBLIC;
-               
+
                next ();
-               
+
                parse_method_body ();
-               
+
                end_element ("method");
        }
 
        private void parse_property () {
-               
+
                start_element ("property");
 
                Map<string,string> attribs = reader.get_attributes ();
-               
+
                if (attribs["name"] == null) {
                        Report.error (get_current_src (), "Interface property declarations require a name 
attribute");
                        return;
@@ -267,7 +265,6 @@ public class Vala.DBusParser : CodeVisitor {
 
                DataType type = dbus_module.get_dbus_type (attribs["type"]);
 
-               
                PropertyAccessor get_access = null;
                PropertyAccessor set_access = null;
 
@@ -277,11 +274,11 @@ public class Vala.DBusParser : CodeVisitor {
                if (attribs["access"] == "write" || attribs["access"] == "readwrite") {
                        set_access = new PropertyAccessor (false, true, false, type, null, get_current_src 
());
                }
-               
+
                current_node = current_property = new Property (attribs["name"], type, get_access, 
set_access, get_current_src ());
                current_property.is_abstract = true;
                current_iface.add_property (current_property);
-               
+
                next ();
 
                while (current_token == MarkupTokenType.START_ELEMENT) {
@@ -291,13 +288,13 @@ public class Vala.DBusParser : CodeVisitor {
                }
 
                end_element ("property");
-               
+
        }
-       
+
        private void parse_method_body () {
-               
+
                while (current_token == MarkupTokenType.START_ELEMENT) {
-               
+
                        switch (reader.name) {
                                case "annotation":
                                        parse_annotation ();
@@ -314,41 +311,41 @@ public class Vala.DBusParser : CodeVisitor {
 
        private void parse_arg () {
                start_element ("arg");
-               
+
                Map<string,string> attribs = reader.get_attributes ();
-                               
+
                if (attribs["name"] == null) {
                        Report.error (get_current_src () , "Formal Parameters require names");
                        return;
                }
-                               
+
                var type = dbus_module.get_dbus_type (attribs["type"]);
                type.value_owned = false;
 
                current_node = current_param = new Parameter (attribs["name"], type, get_current_src ());
-               
+
                current_method.add_parameter (current_param);
-               
+
                if (current_method is Method) {
                        if (attribs["direction"] != null && attribs["direction"] == "out") {
                                current_param.direction = ParameterDirection.OUT;
                                type.value_owned = true;
                        }
                }
-               
+
                next ();
                end_element ("arg");
        }
-       
+
        private void parse_extension () {
                next ();
        }
 
        private void parse_signal () {
                start_element ("signal");
-               
+
                string? name = reader.get_attribute ("name");
-               
+
                if (name == null) {
                        Report.error (get_current_src (), "Interface signal declarations require a name 
attribute");
                        return;
@@ -359,19 +356,18 @@ public class Vala.DBusParser : CodeVisitor {
                ((Signal)current_node).access = SymbolAccessibility.PUBLIC;
 
                next ();
-               
+
                parse_method_body ();
-               
+
                end_element ("signal");
        }
 
-
        private void next () {
                current_token = reader.read_token (out begin, out end);
        }
-       
+
        private void start_element (string name) {
-               
+
                if (current_token != MarkupTokenType.START_ELEMENT || reader.name != name) {
                        // error
                        Report.error (get_current_src (), "expected start element of `%s'".printf (name));
@@ -386,7 +382,6 @@ public class Vala.DBusParser : CodeVisitor {
                next ();
        }
 
-
        private SourceReference get_current_src () {
                return new SourceReference (this.current_source_file, begin, end);
        }
@@ -408,5 +403,4 @@ public class Vala.DBusParser : CodeVisitor {
                }
        }
 
-       
 }
diff --git a/dbusgen/valadbusvariantmodule.vala b/dbusgen/valadbusvariantmodule.vala
index a01803c..d4f2046 100644
--- a/dbusgen/valadbusvariantmodule.vala
+++ b/dbusgen/valadbusvariantmodule.vala
@@ -21,9 +21,9 @@
  */
 
 public class Vala.DBusVariantModule {
-       
+
        private CodeContext context;
-       
+
        public Symbol root_symbol;
 
        public DataType void_type = new VoidType ();
@@ -75,13 +75,12 @@ public class Vala.DBusVariantModule {
        public TypeSymbol type_module_type;
        public TypeSymbol dbus_proxy_type;
 
-
        public DBusVariantModule (CodeContext context) {
-               
+
                this.context = context;
 
                root_symbol = context.root;
-               
+
                bool_type = new BooleanType ((Struct) root_symbol.scope.lookup ("bool"));
                char_type = new IntegerType ((Struct) root_symbol.scope.lookup ("char"));
                uchar_type = new IntegerType ((Struct) root_symbol.scope.lookup ("uchar"));
@@ -135,8 +134,7 @@ public class Vala.DBusVariantModule {
 
                mutex_type = grecmutex_type;
        }
-       
-       
+
        public DataType? get_dbus_type (string type) {
                if (VariantType.string_is_valid (type)) {
                        VariantType vrnt = new VariantType (type);
@@ -146,12 +144,11 @@ public class Vala.DBusVariantModule {
                        string emessage = "The Variant Type string: %s is invalid".printf (type);
                        Report.error (null, emessage);
                        return null;
-               }               
+               }
        }
-       
+
        private DataType get_variant_type (VariantType type) {
-               
-               
+
                if (type.equal (VariantType.BOOLEAN)) {
                        return bool_type;
                } else if (type.equal (VariantType.BYTE)) {
@@ -179,19 +176,18 @@ public class Vala.DBusVariantModule {
                } else if (type.equal (VariantType.VARIANT) || type.equal (VariantType.ANY) || type.equal 
(VariantType.BASIC) || type.equal (VariantType.MAYBE) || type.equal (VariantType.TUPLE)) {
                        return new ObjectType ((ObjectTypeSymbol) gvariant_type);
                }
-               
+
                return new ObjectType ((ObjectTypeSymbol) gvariant_type);
 
-               
                if (type.equal (VariantType.UNIT)) {
                        return string_type;
                } else if (type.equal (VariantType.MAYBE)) {
                        return string_type;
                } else if (type.equal (VariantType.OBJECT_PATH_ARRAY) || type.equal (VariantType.ARRAY) || 
type.equal (VariantType.STRING_ARRAY) || type.equal (VariantType.BYTESTRING_ARRAY)) {
-                       
+
                        var element = new ObjectType ((ObjectTypeSymbol) gvariant_type); //get_variant_type 
(type.element ());
                        return new ArrayType (element, 0, null);
-               
+
                } else if (type.equal (VariantType.DICT_ENTRY)) {
                        return string_type;
                } else if (type.equal (VariantType.DICTIONARY)) {
@@ -203,8 +199,7 @@ public class Vala.DBusVariantModule {
                } else if (type.equal (VariantType.HANDLE)) {
                        return string_type;
                }
-               
-               
+
        }
 
 }


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