PageRenderTime 25ms CodeModel.GetById 14ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/Source/Bifrost/Configuration/IConfigure.cs

#
C# | 104 lines | 25 code | 14 blank | 65 comment | 0 complexity | 2fd30ef0d4ebd27b9e4c2e52fe1e1414 MD5 | raw file
  1#region License
  2//
  3// Copyright (c) 2008-2012, DoLittle Studios and Komplett ASA
  4//
  5// Licensed under the Microsoft Permissive License (Ms-PL), Version 1.1 (the "License")
  6// With one exception :
  7//   Commercial libraries that is based partly or fully on Bifrost and is sold commercially, 
  8//   must obtain a commercial license.
  9//
 10// You may not use this file except in compliance with the License.
 11// You may obtain a copy of the license at 
 12//
 13//   http://bifrost.codeplex.com/license
 14//
 15// Unless required by applicable law or agreed to in writing, software
 16// distributed under the License is distributed on an "AS IS" BASIS,
 17// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 18// See the License for the specific language governing permissions and
 19// limitations under the License.
 20//
 21#endregion
 22using System;
 23using System.Globalization;
 24using Bifrost.Execution;
 25
 26namespace Bifrost.Configuration
 27{
 28	/// <summary>
 29	/// Defines the configuration for Bifrost
 30	/// </summary>
 31	public interface IConfigure
 32	{
 33		/// <summary>
 34		/// Gets the type of logger to use
 35		/// </summary>
 36		Type LoggerType { get; }
 37
 38		/// <summary>
 39		/// Gets the container that is used
 40		/// </summary>
 41		IContainer Container { get; }
 42
 43		/// <summary>
 44		/// Gets the configuration for commands
 45		/// </summary>
 46		ICommandsConfiguration Commands { get; }
 47
 48		/// <summary>
 49		/// Gets the configuration for events
 50		/// </summary>
 51		IEventsConfiguration Events { get; }
 52
 53		/// <summary>
 54		/// Gets the configuration for views
 55		/// </summary>
 56		IViewsConfiguration Views { get; }
 57
 58		/// <summary>
 59		/// Gets the convention manager for bindings
 60		/// </summary>
 61		IBindingConventionManager ConventionManager { get; }
 62
 63		/// <summary>
 64		/// Gets the manager that manages applications
 65		/// </summary>
 66		IApplicationManager ApplicationManager { get; }
 67
 68		/// <summary>
 69		/// Gets the current <see cref="IApplication"/>
 70		/// </summary>
 71		IApplication Application { get; }
 72
 73		/// <summary>
 74		/// Gets the configuration for sagas
 75		/// </summary>
 76		ISagasConfiguration Sagas { get; }
 77
 78		/// <summary>
 79		/// Gets or sets the <see cref="CultureInfo">culture</see> to use in Bifrost
 80		/// </summary>
 81		CultureInfo Culture { get; set; }
 82
 83		/// <summary>
 84		/// Gets or sets the <see cref="CultureInfo">UI culture</see> to use in Bifrost
 85		/// </summary>
 86		CultureInfo UICulture { get; set; }
 87
 88        /// <summary>
 89        /// Gets or sets the default <see cref="BindingLifeCycle"/> for objects when created/managed by the <see cref="IContainer"/>
 90        /// </summary>
 91        BindingLifecycle DefaultObjectLifecycle { get; }
 92
 93		/// <summary>
 94		/// Sets a specific configuration source
 95		/// </summary>
 96		/// <param name="configurationSource"><see cref="IConfigurationSource"/> to set</param>
 97		void ConfigurationSource(IConfigurationSource configurationSource);
 98
 99		/// <summary>
100		/// Initializes Bifrost after configuration
101		/// </summary>
102		void Initialize();
103	}
104}