Changeset 997 for trunk/sources/HeuristicLab.PluginInfrastructure
- Timestamp:
- 12/16/08 22:20:13 (16 years ago)
- Location:
- trunk/sources/HeuristicLab.PluginInfrastructure
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs
r938 r997 161 161 162 162 public AppDomain CreateAndInitAppDomainWithSandbox(string friendlyName, bool sandboxed, Type jobType) { 163 164 163 PermissionSet pset; 164 165 DiscoveryService dService = new DiscoveryService(); 166 //get the declaring plugin of the job 167 PluginInfo jobPlugin = dService.GetDeclaringPlugin(jobType); 168 169 //get all the plugins that have dependencies with the jobplugin 170 List<PluginInfo> depPlugins = GetDependentPlugins(jobPlugin); 171 //insert all jobs into one list 172 depPlugins.Add(jobPlugin); 173 165 174 if (sandboxed) { 166 175 pset = new PermissionSet(PermissionState.None); 167 pset.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); 176 pset.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); 177 pset.AddPermission(new ReflectionPermission(PermissionState.Unrestricted)); 178 /*foreach (PluginInfo plugin in depPlugins) { 179 foreach(String assemblies in plugin.Assemblies) 180 pset.AddPermission(new FileIOPermission(FileIOPermissionAccess.Read, assemblies)); 181 }*/ 182 pset.AddPermission(new FileIOPermission(PermissionState.Unrestricted)); 168 183 } else { 169 184 pset = new PermissionSet(PermissionState.Unrestricted); … … 176 191 Runner remoteRunner = (Runner)applicationDomain.CreateInstanceAndUnwrap(typeof(Runner).Assembly.GetName().Name, typeof(Runner).FullName); 177 192 NotifyListeners(PluginManagerAction.Initializing, "All plugins"); 178 179 DiscoveryService dService = new DiscoveryService();180 PluginInfo jobPlugin = dService.GetDeclaringPlugin(jobType);181 182 List<PluginInfo> depPlugins = GetDependentPlugins(jobPlugin);183 depPlugins.Add(jobPlugin);184 193 185 194 if (depPlugins != null && depPlugins.Count > 0) { -
trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs
r886 r997 28 28 29 29 namespace HeuristicLab.PluginInfrastructure { 30 internalclass Runner : MarshalByRefObject {30 public class Runner : MarshalByRefObject { 31 31 32 32 public void LoadPlugins(ICollection<PluginInfo> plugins) {
Note: See TracChangeset
for help on using the changeset viewer.