/// <summary>
        /// Generates an instance of <see cref="CruiseServerClientBase"/> that connects via
        /// Windows Communications Foundation to another server.
        /// </summary>
        /// <param name="factory">The <see cref="CruiseServerClientFactory"/> that is being extended.</param>
        /// <param name="address">The address of the server.</param>
        /// <param name="targetServer">The name of the other server.</param>
        /// <param name="settings">The start-up settings to use.</param>
        /// <returns>A <see cref="CruiseServerClientBase"/> instance.</returns>
        public static CruiseServerClientBase GenerateWcfClient(this CruiseServerClientFactory factory, string address, string targetServer, ClientStartUpSettings settings)
        {
            var client = GenerateWcfClient(factory, address, settings);

            client.TargetServer = targetServer;
            return(client);
        }
예제 #2
0
        public void GenerateRemotingClientGeneratesClient()
        {
            CruiseServerClient client = new CruiseServerClientFactory().GenerateRemotingClient("http://somewhere") as CruiseServerClient;

            Assert.AreEqual(".NET Remoting", client.Connection.Type);
            Assert.AreEqual("somewhere", client.Connection.ServerName);
        }
예제 #3
0
        public void GenerateClientDetectsHttpClient()
        {
            CruiseServerClient client = new CruiseServerClientFactory().GenerateClient("http://somewhere") as CruiseServerClient;

            Assert.AreEqual("HTTP", client.Connection.Type);
            Assert.AreEqual("somewhere", client.Connection.ServerName);
        }
예제 #4
0
        public void GenerateHttpClientSetsTargetServer()
        {
            CruiseServerClient client = new CruiseServerClientFactory().GenerateHttpClient("http://somewhere", "elsewhere") as CruiseServerClient;

            Assert.AreEqual("HTTP", client.Connection.Type);
            Assert.AreEqual("somewhere", client.Connection.ServerName);
            Assert.AreEqual("elsewhere", client.TargetServer);
        }
 /// <summary>
 /// Switches the default HTTP transport to use WCF instead of Web Dashboard.
 /// </summary>
 /// <param name="factory">The factory to switch.</param>
 public static void SwitchHtppToWcf(this CruiseServerClientFactory factory)
 {
     factory.AddInitialiser("http", (address, settings) =>
     {
         var client = new CruiseServerClient(new WcfConnection(address));
         return(client);
     });
 }
        /// <summary>
        /// Generates an instance of <see cref="CruiseServerClientBase"/> that connects via
        /// Windows Communications Foundation.
        /// </summary>
        /// <param name="factory">The <see cref="CruiseServerClientFactory"/> that is being extended.</param>
        /// <param name="address">The address of the server.</param>
        /// <param name="settings">The start-up settings to use.</param>
        /// <returns>A <see cref="CruiseServerClientBase"/> instance.</returns>
        public static CruiseServerClientBase GenerateWcfClient(this CruiseServerClientFactory factory, string address, ClientStartUpSettings settings)
        {
            CruiseServerClientBase client;
            var connection = new WcfConnection(address);

            client = new CruiseServerClient(connection);
            return(client);
        }
예제 #7
0
        private static MainForm GetMainForm(string settingsFilename)
        {
            var remoteCruiseManagerFactory = new CruiseServerClientFactory();
            ICruiseServerManagerFactory  cruiseServerManagerFactory  = new CruiseServerManagerFactory(remoteCruiseManagerFactory);
            ICruiseProjectManagerFactory cruiseProjectManagerFactory = new CruiseProjectManagerFactory(remoteCruiseManagerFactory);
            CCTrayMultiConfiguration     configuration = new CCTrayMultiConfiguration(cruiseServerManagerFactory, cruiseProjectManagerFactory, settingsFilename);

            return(new MainForm(configuration));
        }
예제 #8
0
        private static CruiseServerClientBase GenerateClient()
        {
            var client = new CruiseServerClientFactory().GenerateClient(server, target);

            if (!string.IsNullOrEmpty(userName))
            {
                client.Login(new { UserName = userName, Password = password });
            }

            return(client);
        }
예제 #9
0
        /// <summary>
        /// Initialise a new <see cref="Server"/> with the default watcher.
        /// </summary>
        /// <param name="address">The address of the server.</param>
        /// <param name="settings">The start-up settings to use.</param>
        public Server(string address, ClientStartUpSettings settings)
        {
            if (string.IsNullOrEmpty(address))
            {
                throw new ArgumentNullException("address");
            }
            var factory = new CruiseServerClientFactory();
            var client  = factory.GenerateClient(address, settings);

            InitialiseServer(client, new ManualServerWatcher(client), settings.FetchVersionOnStartUp);
        }
예제 #10
0
        /// <summary>
        /// Initialise a new <see cref="Server"/> with the default watcher.
        /// </summary>
        /// <param name="address">The address of the server.</param>
        public Server(string address)
        {
            if (string.IsNullOrEmpty(address))
            {
                throw new ArgumentNullException("address");
            }
            var factory = new CruiseServerClientFactory();
            var client  = factory.GenerateClient(address);

            InitialiseServer(client, new ManualServerWatcher(client), true);
        }
예제 #11
0
        /// <summary>
        /// Generates a client connection.
        /// </summary>
        /// <param name="address">The address.</param>
        /// <param name="common">The common parameters.</param>
        /// <returns>
        /// The client connection.
        /// </returns>
        public static CruiseServerClientBase GenerateClient(string address, CommonCmdlet common)
        {
            // Build up the address
            var actualAddress = address;

            if (!actualAddress.Contains("//"))
            {
                // Address does not contain the protocol
                if (actualAddress.Equals("localhost", StringComparison.InvariantCultureIgnoreCase) ||
                    actualAddress.Equals("127.0.0.1", StringComparison.InvariantCultureIgnoreCase))
                {
                    actualAddress = "tcp://" + actualAddress;
                    if (!actualAddress.Contains(":"))
                    {
                        // Add the default port
                        actualAddress += ":21234";
                    }
                }
                else
                {
                    actualAddress = "http://" + actualAddress;
                }
            }

            // Generate the client
            var clientFactory = new CruiseServerClientFactory();
            var settings      = new ClientStartUpSettings
            {
                UseEncryption       = common.Encrypted,
                BackwardsCompatable = common.BackwardsCompatable
            };
            var client = clientFactory.GenerateClient(actualAddress, settings);

            client.TargetServer = common.Target;
            return(client);
        }
        /// <summary>
        /// Generates an instance of <see cref="CruiseServerClientBase"/> that connects via
        /// Windows Communications Foundation to another server.
        /// </summary>
        /// <param name="factory">The <see cref="CruiseServerClientFactory"/> that is being extended.</param>
        /// <param name="address">The address of the server.</param>
        /// <param name="targetServer">The name of the other server.</param>
        /// <returns>A <see cref="CruiseServerClientBase"/> instance.</returns>
        public static CruiseServerClientBase GenerateWcfClient(this CruiseServerClientFactory factory, string address, string targetServer)
        {
            var client = GenerateWcfClient(factory, address, targetServer, new ClientStartUpSettings());

            return(client);
        }