2 using System
.Reflection
;
3 using System
.Runtime
.Serialization
;
6 [assembly
: AssemblyTitle ("Mono service contract conversion tool")]
7 [assembly
: AssemblyDescription ("")]
8 [assembly
: AssemblyVersion ("0.1.0")]
9 [assembly
: AssemblyCopyright ("Copyright (C) 2006 Novell, Inc.")]
10 [assembly
: Mono
.UsageComplement("[metadataPath* | metadataUrl* | assemblyPath*]")]
11 [assembly
: Mono
.AdditionalInfo (@"
12 metadataPath : ws-mex file path.
13 metadataUrl: URL to ws-mex
14 assemblyPath: path to an assembly")]
16 namespace Mono
.ServiceContractTool
18 public enum OutputType
21 [EnumMember (Value
= "code")]
23 [EnumMember (Value
= "metadata")]
25 [EnumMember (Value
= "xmlSerializer")]
29 public class CommandLineOptions
: Options
31 public CommandLineOptions ()
35 //[Option ("Target directory to create files", 'd', "directory")]
36 public string TargetDirectory
;
38 [Option ("Output code filename", 'o', "out")]
39 public string OutputFilename
;
41 //[Option ("Target output type", 't', "target")]
42 public OutputType OutputType
= OutputType
.Code
;
44 //[Option ("Validate all service endpoints", 'v', "validate")]
47 [Option ("Configuration file names to generate", "config", MaxOccurs
= -1)]
48 public string [] ConfigFiles
;
51 public bool ChannelInterface
;
54 public bool GenerateProxy
;
56 [Option ("Generate async methods.", 'a', "async")]
57 public bool GenerateAsync
;
59 [Option ("Generate typed messages.", "typedMessage", "tm")]
60 public bool GenerateTypedMessages
;
62 [Option ("Generate types as internal.", 'i', "internal")]
63 public bool GenerateTypesAsInternal
;
65 [Option ("Do not generate config file.", "noConfig")]
68 [Option ("Specify target code language. 'csharp' By default.", 'l', "language")]
69 public string Language
= "csharp";
71 [Option ("Code namespace name to generate.", 'n', "namespace")]
72 public string Namespace
= String
.Empty
;
74 [Option ("Referenced assembly files", 'r', "reference", MaxOccurs
= -1)]
75 public string [] ReferencedAssemblies
;
77 [Option ("Do not show tool logo", "noLogo")]