/* $Id$ * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ using System; using Org.Apache.Etch.Bindings.Csharp.Util; namespace org.apache.etch.interoptester.example.iot { ///Main implementation for IOTClient. public class MainIOTClient : IOTHelper.IOTClientFactory { ///Main for IOTClient ///Command Line Arguments public static void Main(String[] args) { if (args.Length > 1) { Console.WriteLine("usage: MainIOTClient [uri]"); return; } string uri = args.Length > 0 ? args[0] : "tcp://localhost:4001"; RemoteIOTServer server = IOTHelper.NewServer( uri, null, new MainIOTClient()); // Connect to the service server._StartAndWaitUp( 4000 ); Assertion.Check(server.add(2, 3) == 5, "server.add(2, 3) == 5"); try { server.add(null, 3); Assertion.Check(false, "false"); } catch { // ignore. } try { server.add(2, null); Assertion.Check(false, "false"); } catch { // ignore. } try { server.add(null, null); Assertion.Check(false, "false"); } catch { // ignore. } // Disconnect from the service server._StopAndWaitDown( 4000 ); Console.WriteLine("done"); } ///Return a new instance of IOTClient. ///Reference to remote service ///Client Implementation public IOTClient NewIOTClient( RemoteIOTServer server ) { return new ImplIOTClient( server ); } } }