/* * 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 password, String mechanism); void Connect(String host, int port, String virtualHost, String username, String password); /// /// 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 mechanism, string serverName, string certPath, String certPass, bool rejectUntrusted); } }