static void Main(string[] args) { if (args.Length == 0) { printUsage(); return; } try { string s_name = args[0]; SampleApp s_app = (SampleApp)Enum.Parse(typeof(SampleApp), s_name, true); ISampleApp app = instantiateSample(s_app); string[] app_args = new string[args.Length - 1]; Array.Copy(args, 1, app_args, 0, app_args.Length); Console.WriteLine( "\nLaunching '{0}': {1} ...", Enum.GetName(typeof(SampleApp), s_app), app.ShortDescription()); app.Call(app_args); } catch (Exception ex) { Console.WriteLine("---\n" + ex + "\n---"); printUsage(); return; } }
static ISampleApp instantiateSample(SampleApp s) { switch (s) { case SampleApp.ActiveFlowIndication: return(new ActiveFlowIndication()); case SampleApp.DirectPubSub: return(new DirectPubSub()); case SampleApp.SimpleFlowToQueue: return(new SimpleFlowToQueue()); case SampleApp.SimpleFlowToTopic: return(new SimpleFlowToTopic()); case SampleApp.DTOPubSub: return(new DTOPubSub()); case SampleApp.SDTPubSubMsgDep: return(new SDTPubSubMsgDep()); case SampleApp.SDTPubSubMsgIndep: return(new SDTPubSubMsgIndep()); case SampleApp.SempPagingRequests: return(new SempPagingRequests()); case SampleApp.SempHttpSetRequest: return(new SempHttpSetRequest()); case SampleApp.SyncCacheRequest: return(new SyncCacheRequest()); case SampleApp.AsyncCacheRequest: return(new AsyncCacheRequest()); case SampleApp.QueueProvisionAndBrowse: return(new QueueProvisionAndBrowse()); case SampleApp.MessageSelectorsOnQueue: return(new MessageSelectorsOnQueue()); case SampleApp.MessageTTLAndDeadMessageQueue: return(new MessageTTLAndDeadMessageQueue()); case SampleApp.TopicToQueueMapping: return(new TopicToQueueMapping()); case SampleApp.TopicDispatch: return(new TopicDispatch()); case SampleApp.SubscribeOnBehalfOfClient: return(new SubscribeOnBehalfOfClient()); case SampleApp.EventMonitor: return(new EventMonitor()); case SampleApp.AdPubAck: return(new AdPubAck()); case SampleApp.RedirectLogs: return(new RedirectLogs()); case SampleApp.Replication: return(new Replication()); case SampleApp.SempGetOverMB: return(new SempGetOverMB()); case SampleApp.NoLocalPubSub: return(new NoLocalPubSub()); case SampleApp.SecureSession: return(new SecureSession()); case SampleApp.RRDirectRequester: return(new RRDirectRequester()); case SampleApp.RRDirectReplier: return(new RRDirectReplier()); case SampleApp.RRGuaranteedRequester: return(new RRGuaranteedRequester()); case SampleApp.RRGuaranteedReplier: return(new RRGuaranteedReplier()); case SampleApp.Transactions: return(new Transactions()); default: return(null); } }