Beispiel #1
0
        internal static IPluginSummary CreateSummary(IPlugin plugin)
        {
            var summary = new PluginSummary
            {
                Id                = plugin.Id,
                IsValid           = plugin.IsValid,
                Version           = plugin.Version,
                IsVisible         = plugin.IsVisible,
                FullNameOfType    = plugin.GetType().FullName,
                Description       = plugin.Description,
                Shortcut          = plugin.Shortcut,
                Image             = plugin.Image,
                PreviousShortcuts = plugin.PreviousShortcuts,
                ValidFrom         = plugin.ValidFrom,
                ValidTo           = plugin.ValidTo,
                ProgramType       = plugin.GetProgramType()
            };

            var permissionScanner = new PermissionAttributeScanner(plugin);

            summary.PermissionId = permissionScanner.GetPermissionId();

            var responsibleScanner = new ResponsibleAttributeScanner(plugin);

            summary.Responsible = responsibleScanner.GetAttribute() != null
                ? responsibleScanner.GetAttribute().ToString()
                : string.Empty;

            return(summary);
        }
Beispiel #2
0
        public List <IPluginSummary> GetPluginSummary()
        {
            var plugins = new List <IPluginSummary>();

            foreach (IPlugin plugin in _plugins)
            {
                plugins.Add(PluginSummary.CreateSummary(plugin));
            }

            return(plugins);
        }
Beispiel #3
0
        public List <IPluginSummary> GetPluginSummaryAllowed()
        {
            var plugins           = new List <IPluginSummary>();
            var permissionHandler = new PermissionHandler();

            foreach (IPlugin plugin in _plugins)
            {
                if (permissionHandler.HasPermissionOnPlugin(plugin))
                {
                    plugins.Add(PluginSummary.CreateSummary(plugin));
                }
            }

            return(plugins);
        }