Inheritance: VMICoreElement
Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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 ); } );
        }