/* * 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.qpid.transport; namespace org.apache.qpid.client { public interface IClient { /// /// Establish a connection with the broker using the given parameters /// /// /// host name /// port number /// virtualHost the virtual host name /// username user name /// password password void Connect(String host, int port, String virtualHost, String username, String passwor); /// /// Close this client /// void Close(); /// /// Create a session for this connection. /// The returned session is suspended /// (i.e. this session is not attached to an underlying channel) /// /// Expiry time expressed in seconds, if the value is less than /// or equal to 0 then the session does not expire. /// A newly created (suspended) session. IClientSession CreateSession(long expiryInSeconds); event EventHandler ExceptionRaised; event EventHandler ConnectionLost; /// /// If the broker sends a disconnect message, it will notify the ClosedListener /// /// IClosedListener ClosedListener { set; } bool IsClosed { get; set; } /// /// Establishes a connection with a broker using SSL /// /// /// Host name on which a broker is deployed /// Broker port /// virtual host name /// User Name /// Password /// Name of the SSL server /// Path to the X509 certificate to be used for client authentication /// If true connection will not be established if the broker is not trusted void ConnectSSL(String host, int port, String virtualHost, String username, String password, string serverName, string certPath, bool rejectUntrusted); } }