summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Volz <andreas.volz@tux-style.com>2011-11-29 21:10:41 +0100
committerAndreas Volz <andreas.volz@tux-style.com>2011-11-29 21:10:41 +0100
commitcee7aaca54802b7ee5fdac84808712f709ea7405 (patch)
tree19b1764cf7504017b568e148191bf5274c22ffdb
parent0522a1eb295db561126291b8bd6cf3d9aeeef655 (diff)
downloaddbus-c++-cee7aaca54802b7ee5fdac84808712f709ea7405.tar.gz
NO FUNCTIONAL CHANGES!!
Only reformated stupid astyle formating; it seems the code inside a string confused astyle...
-rw-r--r--tools/generator_utils.cpp274
1 files changed, 137 insertions, 137 deletions
diff --git a/tools/generator_utils.cpp b/tools/generator_utils.cpp
index 2ccf313..19df2b3 100644
--- a/tools/generator_utils.cpp
+++ b/tools/generator_utils.cpp
@@ -42,140 +42,140 @@ const char *dbus_includes = "\n\
#include <cassert>\n\
";
- void underscorize(string &str)
- {
- for (unsigned int i = 0; i < str.length(); ++i)
- {
- if (!isalpha(str[i]) && !isdigit(str[i])) str[i] = '_';
- }
- }
-
- string stub_name(string name)
- {
- underscorize(name);
-
- return "_" + name + "_stub";
- }
-
- const char *atomic_type_to_string(char t)
- {
- static struct
- {
- char type;
- const char *name;
- } atos[] =
- {
- { 'y', "uint8_t" },
- { 'b', "bool" },
- { 'n', "int16_t" },
- { 'q', "uint16_t" },
- { 'i', "int32_t" },
- { 'u', "uint32_t" },
- { 'x', "int64_t" },
- { 't', "uint64_t" },
- { 'd', "double" },
- { 's', "std::string" },
- { 'o', "::DBus::Path" },
- { 'g', "::DBus::Signature" },
- { 'v', "::DBus::Variant" },
- { '\0', "" }
- };
- int i;
-
- for (i = 0; atos[i].type; ++i)
- {
- if (atos[i].type == t) break;
- }
- return atos[i].name;
- }
-
- static void _parse_signature(const string &signature, string &type, unsigned int &i, bool only_once = false)
- {
- /*cout << "signature: " << signature << endl;
- cout << "type: " << type << endl;
- cout << "i: " << i << ", signature[i]: " << signature[i] << endl;*/
-
- for (; i < signature.length(); ++i)
- {
- switch (signature[i])
- {
- case 'a':
- {
- switch (signature[++i])
- {
- case '{':
- {
- type += "std::map< ";
- ++i;
- _parse_signature(signature, type, i);
- type += " >";
-
- break;
- }
- case '(':
- {
- type += "std::vector< ::DBus::Struct< ";
- ++i;
- _parse_signature(signature, type, i);
- type += " > >";
-
- break;
- }
- default:
- {
- type += "std::vector< ";
- _parse_signature(signature, type, i, true);
-
- type += " >";
-
- break;
- }
- }
- break;
- }
- case '(':
- {
- type += "::DBus::Struct< ";
- ++i;
-
- _parse_signature(signature, type, i);
-
- type += " >";
- break;
- }
- case ')':
- case '}':
- {
- return;
- }
- default:
- {
- const char *atom = atomic_type_to_string(signature[i]);
- if (!atom)
- {
- cerr << "invalid signature" << endl;
- exit(-1);
- }
- type += atom;
-
- break;
- }
- }
-
- if (only_once)
- return;
-
- if (i + 1 < signature.length() && signature[i + 1] != ')' && signature[i + 1] != '}')
- {
- type += ", ";
- }
- }
- }
-
- string signature_to_type(const string &signature)
- {
- string type;
- unsigned int i = 0;
- _parse_signature(signature, type, i);
- return type;
- }
+void underscorize(string &str)
+{
+ for (unsigned int i = 0; i < str.length(); ++i)
+ {
+ if (!isalpha(str[i]) && !isdigit(str[i])) str[i] = '_';
+ }
+}
+
+string stub_name(string name)
+{
+ underscorize(name);
+
+ return "_" + name + "_stub";
+}
+
+const char *atomic_type_to_string(char t)
+{
+ static struct
+ {
+ char type;
+ const char *name;
+ } atos[] =
+ {
+ { 'y', "uint8_t" },
+ { 'b', "bool" },
+ { 'n', "int16_t" },
+ { 'q', "uint16_t" },
+ { 'i', "int32_t" },
+ { 'u', "uint32_t" },
+ { 'x', "int64_t" },
+ { 't', "uint64_t" },
+ { 'd', "double" },
+ { 's', "std::string" },
+ { 'o', "::DBus::Path" },
+ { 'g', "::DBus::Signature" },
+ { 'v', "::DBus::Variant" },
+ { '\0', "" }
+ };
+ int i;
+
+ for (i = 0; atos[i].type; ++i)
+ {
+ if (atos[i].type == t) break;
+ }
+ return atos[i].name;
+}
+
+static void _parse_signature(const string &signature, string &type, unsigned int &i, bool only_once = false)
+{
+ /*cout << "signature: " << signature << endl;
+ cout << "type: " << type << endl;
+ cout << "i: " << i << ", signature[i]: " << signature[i] << endl;*/
+
+ for (; i < signature.length(); ++i)
+ {
+ switch (signature[i])
+ {
+ case 'a':
+ {
+ switch (signature[++i])
+ {
+ case '{':
+ {
+ type += "std::map< ";
+ ++i;
+ _parse_signature(signature, type, i);
+ type += " >";
+
+ break;
+ }
+ case '(':
+ {
+ type += "std::vector< ::DBus::Struct< ";
+ ++i;
+ _parse_signature(signature, type, i);
+ type += " > >";
+
+ break;
+ }
+ default:
+ {
+ type += "std::vector< ";
+ _parse_signature(signature, type, i, true);
+
+ type += " >";
+
+ break;
+ }
+ }
+ break;
+ }
+ case '(':
+ {
+ type += "::DBus::Struct< ";
+ ++i;
+
+ _parse_signature(signature, type, i);
+
+ type += " >";
+ break;
+ }
+ case ')':
+ case '}':
+ {
+ return;
+ }
+ default:
+ {
+ const char *atom = atomic_type_to_string(signature[i]);
+ if (!atom)
+ {
+ cerr << "invalid signature" << endl;
+ exit(-1);
+ }
+ type += atom;
+
+ break;
+ }
+ }
+
+ if (only_once)
+ return;
+
+ if (i + 1 < signature.length() && signature[i + 1] != ')' && signature[i + 1] != '}')
+ {
+ type += ", ";
+ }
+ }
+}
+
+string signature_to_type(const string &signature)
+{
+ string type;
+ unsigned int i = 0;
+ _parse_signature(signature, type, i);
+ return type;
+}