  
          if (isIBase()) {
              out << "// skipped getService, registerAsService, registerForNotifications\n";
-@@ -876,11 +885,15 @@ void AST::generateCppSource(Formatter& out) const {
-             std::string package = iface->fqName().package()
-                     + iface->fqName().atVersion();
- 
-+#if 0 // M3E:
-             implementServiceManagerInteractions(out, iface->fqName(), package);
-+#endif
+@@ -880,7 +897,9 @@ void AST::generateCppSource(Formatter& out) const {
          }
      }
  

         generateCppPackageInclude(out, mPackage, iface->getProxyName());
         generateCppPackageInclude(out, mPackage, iface->getStubName());
         generateCppPackageInclude(out, mPackage, iface->getPassthroughName());
@@ -795,6 +796,9 @@ void AST::generateCppSource(Formatter& out) const {
                                       superType->fqName(),
                                       superType->fqName().getInterfaceProxyName());
         }

     out << "\n";
 
     enterLeaveNamespace(out, false /* enter */);
@@ -1734,6 +1753,7 @@ void AST::generateInterfaceSource(Formatter& out) const {
         if (iface == superType) {
             out << "return parent;\n";
         } else {
