Exemplo n.º 1
0
        public PowerShellDataSource()
        {
            _allRecords = new ObservableCollection <object>();
            _specs      = new List <DynamicMemberSpecification>();
            _scales     = new ScaleDescriptorAssignmentCollection();
            _scales.CollectionChanged += OnScaleDescriptorAssignmentCollectionChanged;

            _dataCollectionMaxSize = 20;
            _data            = new ObservableCollection <object>();
            _progressRecords = new ObservableCollection <ProgressRecord>();
            _dynamicMembers  = new List <PSMemberInfo>();

            _powerShell = System.Management.Automation.PowerShell.Create();
            var runspace = RunspaceFactory.CreateRunspace();

            runspace.Open();
            runspace.SessionStateProxy.SetVariable("seeShellDataSource", this);
            var tmp = System.Management.Automation.PowerShell.Create();

            tmp.Runspace = runspace;
            tmp.AddScript("function start-seeShellDataSet { $seeShellDataSource.StartDataSet(); }")
            .AddScript("function commit-seeShellDataSet { $seeShellDataSource.CommitDataSet(); }")
            .AddScript("function undo-seeShellDataSet { $seeShellDataSource.RollbackDataSet(); }");
            tmp.Invoke();

            _powerShell.Runspace = runspace;
            _powerShell.InvocationStateChanged     += InvocationStateChanged;
            _powerShell.Streams.Debug.DataAdded    += DebugRecordAdded;
            _powerShell.Streams.Verbose.DataAdded  += VerboseRecordAdded;
            _powerShell.Streams.Progress.DataAdded += ProgressRecordAdded;
            _powerShell.Streams.Error.DataAdded    += ErrorRecordAdded;
            _powerShell.Streams.Warning.DataAdded  += WarningRecordAdded;
        }
Exemplo n.º 2
0
 public NullPowerShellDataSource()
 {
     Data            = new ObservableCollection <object>();
     ErrorRecords    = new ObservableCollection <ErrorRecord>();
     WarningRecords  = new ObservableCollection <WarningRecord>();
     DebugRecords    = new ObservableCollection <DebugRecord>();
     VerboseRecords  = new ObservableCollection <VerboseRecord>();
     ProgressRecords = new ObservableCollection <ProgressRecord>();
     Scales          = new ScaleDescriptorAssignmentCollection();
     AllRecords      = new ObservableCollection <object>();
 }