New tests.
[mono.git] / mcs / tools / svcutil / Driver.cs
index af22f105696030c74efe96dc4b3b2dac3e5d9f26..d365aca1a6dfdb0718ebe0d3ee2606604e0aedf8 100644 (file)
@@ -6,6 +6,7 @@ using System.Reflection;
 using System.ServiceModel;
 using System.ServiceModel.Channels;
 using System.ServiceModel.Description;
+using System.ServiceModel.Dispatcher;
 using System.Collections.ObjectModel;
 using System.Xml;
 using System.Xml.Schema;
@@ -92,8 +93,18 @@ namespace Mono.ServiceContractTool
                                generator.GenerateServiceContractType (se.Contract);*/
 
                        Collection<ContractDescription> contracts = importer.ImportAllContracts ();
-                       foreach (ContractDescription cd in contracts)
-                               generator.GenerateServiceContractType (cd);
+                       foreach (ContractDescription cd in contracts) {
+                               if (co.GenerateMoonlightProxy) {
+                                       var moonctx = new MoonlightChannelBaseContext ();
+                                       cd.Behaviors.Add (new MoonlightChannelBaseContractExtension (moonctx));
+                                       foreach (var od in cd.Operations)
+                                               od.Behaviors.Add (new MoonlightChannelBaseOperationExtension (moonctx));
+                                       generator.GenerateServiceContractType (cd);
+                                       moonctx.Fixup ();
+                               }
+                               else
+                                       generator.GenerateServiceContractType (cd);
+                       }
 
                        /*if (cns.Types.Count == 0) {
                                Console.Error.WriteLine ("Argument assemblies have no types.");