Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 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);
        }
Exemple #5
0
        /// <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 */
        }
Exemple #6
0
 /// <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();
     }
 }
Exemple #7
0
        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);
 }
Exemple #11
0
 public ControllerBase(IApplicationBase <TContext, TTEntity, TIdentity> application, IUsuarioBase usuarioLogado)
 {
     this._usuarioLogado = usuarioLogado;
     this._application   = application;
 }
Exemple #12
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="app"></param>
 public ControllerBase(IApplicationBase <TEntity, TEntityDTO> app)
 {
     _app = app;
 }
Exemple #13
0
 /// <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;
 }