Generalized cpp method generation.

Change-Id: Ia91d03eaadae79eb5508e3fc57817bcf1cf9f1aa
diff --git a/AST.h b/AST.h
index cd13ac9..57676a1 100644
--- a/AST.h
+++ b/AST.h
@@ -144,8 +144,20 @@
     status_t generateTypeSource(
             Formatter &out, const std::string &ifaceName) const;
 
-    status_t generateHeaderMethodSignatures(
-            Formatter &out, bool abstract) const;
+    enum MethodLocation {
+        PROXY_HEADER,
+        STUB_HEADER
+    };
+
+    status_t generateMethods(Formatter &out,
+                             const std::string &className,
+                             MethodLocation type) const;
+    status_t generateStubMethod(Formatter &out,
+                                const std::string &className,
+                                const Method *method) const;
+    status_t generateProxyMethod(Formatter &out,
+                                 const std::string &className,
+                                 const Method *method) const;
 
     status_t generateProxySource(
             Formatter &out, const std::string &baseName) const;