public IMenu BuildMenuForApplication(IApplicationBase application, PageViewModel viewModel) { List <IMenuSource> menus = new List <IMenuSource>(); foreach (IFramework framework in application.Frameworks) { IFrameworkAdapter adapter = framework.GetWinAdapter(); if (adapter is IMenuSource) { menus.Add((IMenuSource)adapter); } } foreach (IProfilingType profilingType in application.ProfilingTypes) { IProfilingTypeAdapter adapter = profilingType.GetWinAdapter(); if (adapter is IMenuSource) { menus.Add((IMenuSource)adapter); } } //foreach (IProductivity productivity in application.Productivities) //{ // IProductivityAdapter adapter = productivity.GetWinAdapter(); // if (adapter is IMenuSource) // { // menus.Add((IMenuSource)adapter); // } //} return(BuildMenu(menus, viewModel)); }
public static IApplicationBase RunInplace(Guid sessionUid, bool processOnwer) { IApplicationBase application = null; if (processOnwer) { application = new ProfilingApplication(sessionUid, processOnwer); application.Run(); } else { Action a = () => { AppDomain appDomain = AppDomain.CurrentDomain.Clone(typeof(ProfilingApplication).ToString(), typeof(ApplicationManager).GetAssemblyPath()); appDomain.InvokeStaticMember(typeof(ApplicationManager), "Initialize", BindingFlags.InvokeMethod | BindingFlags.Public, null); ChronosApplicationLauncher <ProfilingApplication> activator = RemoteActivator.CreateInstance <ChronosApplicationLauncher <ProfilingApplication> >(appDomain); activator.Run(sessionUid, processOnwer); application = (IApplicationBase)activator.GetApplication(); }; System.Windows.Application.Current.Dispatcher.Invoke(a); } return(application); }
public ProfilingTargetSettingsViewModel(IApplicationBase application, ConfigurationSettings configurationSettings, IHostApplicationSelector applicationSelector) { _profilingTargetSettings = new Chronos.Common.StandaloneApplication.ProfilingTargetSettings(configurationSettings.ProfilingTargetSettings); _application = application; _applicationSelector = applicationSelector; _applicationSelector.SelectionChanged += ApplicationSelectorSelectionChanged; }
public ViewModel CreateConfigurationViewModel(StartPageViewModel pageViewModel) { IApplicationBase application = pageViewModel.Application; ConfigurationSettings settings = pageViewModel.ConfigurationSettings; IHostApplicationSelector selector = pageViewModel.HostApplicationSelector; ViewModel viewModel = new ProfilingTargetSettingsViewModel(application, settings, selector); return(viewModel); }
/// <summary> /// Sets up the bridge in the new appdomain /// </summary> /// <param name="parentDirectory">Parent component directory</param> /// <param name="app">Application descriptor</param> /// <param name="guid">Application instance GUID</param> /// <param name="appInstance">Self application instance to link into the directory</param> internal void Setup(IComponentDirectory parentDirectory, ApplicationDesc app, Guid guid, IApplicationInstance appInstance, IAssemblyLoader xassemblyLoader) { assemblyLoader = xassemblyLoader; string iname = app.Name + " " + guid; // Console.Out.WriteLine("Creating process: {0}", iname); AppDomain.CurrentDomain.TypeResolve += new ResolveEventHandler(CurrentDomain_TypeResolve); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); this.directory = new ComponentDirectory(parentDirectory, iname); this.directory.Register( new Instance( this.directory.GetInstance <DatabaseManager>().Find("/"))); IComponentProvider appProvider = null; /** register self as process **/ this.directory.Register( new Instance(appInstance, "Self")); /******************************************************************************************* * TODO: SECURITY: this is where we would re-register views of already registered (kernel) * providers to shadow the originals *******************************************************************************************/ foreach (IComponentProvider provider in app.Components) { this.directory.Register(provider); if (provider.MatchedName == app.ApplicationComponent) { appProvider = provider; } } if (appProvider == null) { throw new Exception( String.Format( "The application {0} cannot be set up because the application component was not found", app.Name)); } this.appInstance = this.directory.GetInstance(appProvider.MatchedName) as IApplicationBase; if (app == null) { throw new Exception( String.Format( "The application {0} cannot be set up because the application component cannot be instantiated", app.Name)); } /* a-ok */ }
/// <summary> /// 关闭 /// </summary> public void Close() { this.application = null; if (this.serverSocket != null && this.serverSocket.Connected == true) { this.serverSocket.Shutdown(SocketShutdown.Both); this.serverSocket.Close(); this.serverSocket.Disconnect(true); this.acceptSemaphore.Dispose(); } }
public ProfilingTypesViewModel(IApplicationBase application, ConfigurationSettings configurationSettings) { _frameworks = new List <FrameworkViewModel>(); List <ProfilingTypeViewModel> profilingTypes = new List <ProfilingTypeViewModel>(); foreach (IFramework framework in application.Frameworks) { FrameworkViewModel viewModel = new FrameworkViewModel(framework, profilingTypes, configurationSettings); _frameworks.Add(viewModel); } }
public int Start(string verb, string[] arguments) { // We auto-parametrize. this.verb = verb; this.args = RegisterAutoParametrization(localDirectory, arguments); // Only create on first start. if (appInstance == null) { appInstance = localDirectory.GetInstance( applicationDescriptor.ApplicationComponent) as IApplicationBase; } applicationThread = new Thread(LocalMain); isRunning = true; applicationThread.Start(); return(exitResult); }
private void SubscribeToEvents(IApplicationBase application) { application.OnDataProcessingEvent += this.OnDataProcessing; application.OnDataProcessedEvent += this.OnDataProcessed; application.OnSearchDataProcessingEvent += this.OnSearchDataProcessing; application.OnSearchDataProcessedEvent += this.OnSearchDataProcessed; application.OnCustomFiltersDataProcessingEvent += this.OnCustomFiltersDataProcessing; application.OnCustomFiltersDataProcessedEvent += this.OnCustomFiltersDataProcessed; application.OnColumnsFilterDataProcessingEvent += this.OnColumnsFilterDataProcessing; application.OnColumnsFilterDataProcessedEvent += this.OnColumnsFilterDataProcessed; application.OnSortDataProcessingEvent += this.OnSortDataProcessing; application.OnSortDataProcessedEvent += this.OnSortDataProcessed; application.OnPagingDataProcessingEvent += this.OnPagingDataProcessing; application.OnPagingDataProcessedEvent += this.OnPagingDataProcessed; }
protected override void OnStartup(StartupEventArgs e) { using (Process current = Process.GetCurrentProcess()) { try { string sessionUidString = current.StartInfo.EnvironmentVariables[Chronos.Constants.SessionUidEnvironmentVariableName]; if (string.IsNullOrWhiteSpace(sessionUidString)) { _application = ApplicationManager.Main.RunInplace(true); } else { Guid sessionUid = new Guid(sessionUidString); _application = ApplicationManager.Profiling.RunInplace(sessionUid, true); } } catch (Exception exception) { ReportFatalError(exception); } } base.OnStartup(e); }
public ControllerBase(IApplicationBase <TContext, TTEntity, TIdentity> application, IUsuarioBase usuarioLogado) { this._usuarioLogado = usuarioLogado; this._application = application; }
/// <summary> /// /// </summary> /// <param name="app"></param> public ControllerBase(IApplicationBase <TEntity, TEntityDTO> app) { _app = app; }
/// <summary> /// 设置应用层 /// </summary> /// <param name="application"></param> public void SetApplication(IApplicationBase application) { this.application = application; }
/// <summary> /// Initializes a new instance of the <see cref="ControllerBase{TEntity, TModel}"/> class. /// </summary> /// <param name="applicationBase">The applicationBase<see cref="IApplicationBase{TEntity}"/>.</param> /// <param name="mapper">The mapper<see cref="IMapper"/>.</param> public ControllerBase(IApplicationBase <TEntity> applicationBase, IMapper mapper) { this.applicationBase = applicationBase; this.mapper = mapper; }