[vala/wip/dbusgen: 402/403] WIP dbusgen: Add namespace options
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/wip/dbusgen: 402/403] WIP dbusgen: Add namespace options
- Date: Wed, 18 Aug 2021 13:04:45 +0000 (UTC)
commit e42bc36dadf06741fe413b15c51ae17b9cf4c24d
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Thu Sep 20 10:57:10 2018 +0200
WIP dbusgen: Add namespace options
dbusgen/valadbusgen.vala | 14 ++++++++++++--
dbusgen/valadbusnamespacestrategy.vala | 1 +
dbusgen/valadbusparser.vala | 2 +-
dbusgen/valadbusvariantmodule.vala | 2 ++
doc/valadbusgen.1 | 9 +++++++++
5 files changed, 25 insertions(+), 3 deletions(-)
---
diff --git a/dbusgen/valadbusgen.vala b/dbusgen/valadbusgen.vala
index f0ceb2bc1..e659e0189 100644
--- a/dbusgen/valadbusgen.vala
+++ b/dbusgen/valadbusgen.vala
@@ -29,7 +29,7 @@ public class Vala.DBusGen {
public class ConcatenationStrategy : NamespaceStrategy {
public override string? get_namespace (string ns) {
- return null;
+ return root_name;
}
public override string get_name (string ns) {
@@ -58,6 +58,11 @@ public class Vala.DBusGen {
[CCode (array_length = false, array_null_terminated = true)]
static string[] packages;
static int dbus_timeout = 120000;
+ static string root_namespace;
+ [CCode (array_length = false, array_null_terminated = true)]
+ static string[] rename_namespaces;
+ [CCode (array_length = false, array_null_terminated = true)]
+ static string[] strip_namespaces;
CodeContext context;
@@ -66,6 +71,9 @@ public class Vala.DBusGen {
{ "pkg", 0, 0, OptionArg.STRING_ARRAY, ref packages, "Include binding for PACKAGE",
"PACKAGE..." },
{ "directory", 'd', 0, OptionArg.FILENAME, ref directory, "Output directory", "DIRECTORY" },
{ "disable-warnings", 0, 0, OptionArg.NONE, ref disable_warnings, "Disable warnings", null },
+ { "namespace", 'n', 0, OptionArg.STRING, ref root_namespace, "Name of the parent namespace",
null },
+ { "rename-namespace", 0, 0, OptionArg.STRING_ARRAY, ref rename_namespaces, "Namespace to
rename to", "SOURCE_NS:TARGET_NS..." },
+ { "strip-namespace", 0, 0, OptionArg.STRING_ARRAY, ref strip_namespaces, "Namespace to
strip", "NAMESPACE..." },
{ "dbus-timeout", 0, 0, OptionArg.INT, ref dbus_timeout, "DBus timeout", null },
{ "version", 0, 0, OptionArg.NONE, ref version, "Display version number", null },
{ "quiet", 'q', 0, OptionArg.NONE, ref quiet_mode, "Do not print messages to the console",
null },
@@ -152,7 +160,9 @@ public class Vala.DBusGen {
var parser = new DBusParser ();
parser.dbus_timeout = dbus_timeout;
- parser.namespace_strategy = new ConcatenationStrategy ();
+ parser.namespace_strategy = new ConcatenationStrategy () {
+ root_name = root_namespace
+ };
parser.parse (context);
if (context.report.get_errors () > 0) {
diff --git a/dbusgen/valadbusnamespacestrategy.vala b/dbusgen/valadbusnamespacestrategy.vala
index 3c95f1b6e..fc85d9ec9 100644
--- a/dbusgen/valadbusnamespacestrategy.vala
+++ b/dbusgen/valadbusnamespacestrategy.vala
@@ -21,6 +21,7 @@
*/
public abstract class Vala.NamespaceStrategy {
+ public string root_name { get; set; }
public abstract string? get_namespace (string ns);
diff --git a/dbusgen/valadbusparser.vala b/dbusgen/valadbusparser.vala
index 816913fbe..9b9287aab 100644
--- a/dbusgen/valadbusparser.vala
+++ b/dbusgen/valadbusparser.vala
@@ -127,7 +127,7 @@ public class Vala.DBusParser : CodeVisitor {
}
string? ns_name = namespace_strategy.get_namespace (name);
- if (ns_name != null) {
+ if (ns_name != null && current_ns.name != ns_name) {
var ns = new Namespace (ns_name, get_current_src ());
current_ns.add_namespace (ns);
current_ns = ns;
diff --git a/dbusgen/valadbusvariantmodule.vala b/dbusgen/valadbusvariantmodule.vala
index 42b08780a..38d1a4a8a 100644
--- a/dbusgen/valadbusvariantmodule.vala
+++ b/dbusgen/valadbusvariantmodule.vala
@@ -188,6 +188,8 @@ public class Vala.DBusVariantModule {
return array;
}
}
+ } else if (type.equal (VariantType.TUPLE)) {
+
}
Report.warning (null, "Unresolved type: %s".printf ((string) type.peek_string ()));
diff --git a/doc/valadbusgen.1 b/doc/valadbusgen.1
index a0404f7ef..07d8e82ea 100644
--- a/doc/valadbusgen.1
+++ b/doc/valadbusgen.1
@@ -29,6 +29,15 @@ Output directory
\fB\-\-disable\-warnings\fR
Disable warnings
.TP
+\fB\-n\fR, \fB\-\-namespace\fR
+Name of the parent namespace
+.TP
+\fB\-\-rename\-namespace\fR=\fI\,SOURCE_NS\/\fR:TARGET_NS...
+Namespace to rename to
+.TP
+\fB\-\-strip\-namespace\fR=\fI\,NAMESPACE\/\fR...
+Namespace to strip
+.TP
\fB\-\-dbus\-timeout\fR
DBus timeout
.TP
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]