summaryrefslogtreecommitdiff
path: root/chromeos-dbus-bindings/adaptor_generator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos-dbus-bindings/adaptor_generator.cc')
-rw-r--r--chromeos-dbus-bindings/adaptor_generator.cc23
1 files changed, 16 insertions, 7 deletions
diff --git a/chromeos-dbus-bindings/adaptor_generator.cc b/chromeos-dbus-bindings/adaptor_generator.cc
index 0f980b5..1916534 100644
--- a/chromeos-dbus-bindings/adaptor_generator.cc
+++ b/chromeos-dbus-bindings/adaptor_generator.cc
@@ -86,7 +86,7 @@ void AdaptorGenerator::GenerateInterfaceAdaptor(
text->AddLine(StringPrintf("class %s {", class_name.c_str()));
text->AddLineWithOffset("public:", kScopeOffset);
text->PushOffset(kBlockOffset);
- AddConstructor(class_name, itf_name, text);
+ AddConstructor(interface, class_name, itf_name, text);
AddRegisterWithDBusObject(itf_name, interface, text);
AddSendSignalMethods(interface, text);
AddPropertyMethodImplementation(interface, text);
@@ -107,9 +107,11 @@ void AdaptorGenerator::GenerateInterfaceAdaptor(
AddSignalDataMembers(interface, text);
AddPropertyDataMembers(interface, text);
- text->AddLine(StringPrintf(
- "%s* interface_; // Owned by container of this adapter.",
- itf_name.c_str()));
+ if (!interface.methods.empty()) {
+ text->AddLine(StringPrintf(
+ "%s* interface_; // Owned by container of this adapter.",
+ itf_name.c_str()));
+ }
text->AddBlankLine();
text->AddLine(StringPrintf("DISALLOW_COPY_AND_ASSIGN(%s);",
@@ -122,11 +124,18 @@ void AdaptorGenerator::GenerateInterfaceAdaptor(
}
// static
-void AdaptorGenerator::AddConstructor(const string& class_name,
+void AdaptorGenerator::AddConstructor(const Interface& interface,
+ const string& class_name,
const string& itf_name,
IndentedText *text) {
- text->AddLine(StringPrintf("%s(%s* interface) : interface_(interface) {}",
- class_name.c_str(), itf_name.c_str()));
+ if (interface.methods.empty()) {
+ text->AddLine(StringPrintf("%s(%s* /* interface */) {}",
+ class_name.c_str(), itf_name.c_str()));
+
+ } else {
+ text->AddLine(StringPrintf("%s(%s* interface) : interface_(interface) {}",
+ class_name.c_str(), itf_name.c_str()));
+ }
}
// static