public VMIService FindOrCreateDynamic( IServiceInfo item ) { VMIService s = null; if( !_dynamicServices.TryGetValue( item, out s ) && item.IsDynamicService ) { s = new VMIService( this, item, null ); _dynamicServices.Add( item, s ); } return s; }
public VMIService FindOrCreate( IServiceInfo item ) { VMIService s = null; if( !_allServices.TryGetValue( item, out s ) ) { s = new VMIService( this, item, null ); _allServices.Add( item, s ); } return s; }
public VMIService FindOrCreate( IServiceReferenceInfo item ) { VMIService s = null; if( !_serviceRefs.TryGetValue( item, out s ) ) { s = FindOrCreateDynamic( item.Reference ); if( s == null ) s = new VMIService( this, item, null ); _serviceRefs.Add( item, s ); } return s; }
public VMIService( VMIContextViewModel ctx, IServiceReferenceInfo service, VMIBase parent ) : base(ctx, parent) { _serviceRef = service; _service = service.Reference; Label = service.Reference.ServiceFullName; OnError = service.HasError; if( service.Reference.IsDynamicService ) Assembly = service.Reference.AssemblyInfo.AssemblyName; _pluginRunner = VMIContext.Context.GetService<PluginRunner>( true ); _pluginRunner.ApplyDone += new EventHandler<ApplyDoneEventArgs>( OnApplyDone ); DetailsTemplateName = "ServiceRefDetails"; _owner = new VMIPlugin( ctx, service.Owner, this ); _reference = new VMIService( ctx, service.Reference, this ); _allReferencingPlugins = new Dictionary<VMIPlugin,RunningRequirement>(); ImplementedBy = new VMCollection<VMAlias<VMIPlugin>, IPluginInfo>( _service.Implementations, ( info ) => { return new VMAlias<VMIPlugin>( VMIContext.FindOrCreate( info ), this ); } ); }