internal PathInfo SetLocation(string path, ProviderRuntime runtime) { if (path == null) { throw new PSArgumentException("Path is null", "SetLocationPathNull", ErrorCategory.InvalidArgument); } ProviderInfo pinfo; path = Globber.GetProviderSpecificPath(path, runtime, out pinfo); var provider = _sessionState.Provider.GetInstance(pinfo); var containerProvider = CmdletProvider.As <ContainerCmdletProvider>(provider); var itemIntrinsics = new ItemCmdletProviderIntrinsics(_sessionState); if (!itemIntrinsics.Exists(path, runtime) || !itemIntrinsics.IsContainer(containerProvider, path, runtime)) { throw new PSArgumentException("The path does not exist or is not a container", "SetLocationInvalidPath", ErrorCategory.InvalidArgument); } if (provider is FileSystemProvider) { // TODO: really? I think PS doesn't do this System.Environment.CurrentDirectory = path; } var curDrive = runtime.PSDriveInfo; curDrive.CurrentLocation = path; _sessionStateGlobal.CurrentDrive = curDrive; return(new PathInfo(curDrive, path, _sessionState)); }
internal ProviderIntrinsics(SessionStateInternal sessionState) { using (ProviderIntrinsics.tracer.TraceConstructor((object)this)) { this.item = sessionState != null ? new ItemCmdletProviderIntrinsics(sessionState) : throw ProviderIntrinsics.tracer.NewArgumentNullException(nameof(sessionState)); this.childItem = new ChildItemCmdletProviderIntrinsics(sessionState); this.content = new ContentCmdletProviderIntrinsics(sessionState); this.property = new PropertyCmdletProviderIntrinsics(sessionState); this.securityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(sessionState); } }
internal ProviderIntrinsics(Cmdlet cmdlet) { using (ProviderIntrinsics.tracer.TraceConstructor((object)this)) { this.cmdlet = cmdlet != null ? (InternalCommand)cmdlet : throw ProviderIntrinsics.tracer.NewArgumentNullException(nameof(cmdlet)); this.item = new ItemCmdletProviderIntrinsics(cmdlet); this.childItem = new ChildItemCmdletProviderIntrinsics(cmdlet); this.content = new ContentCmdletProviderIntrinsics(cmdlet); this.property = new PropertyCmdletProviderIntrinsics(cmdlet); this.securityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(cmdlet); } }
internal ProviderIntrinsics(SessionStateInternal sessionState) { if (sessionState == null) { throw PSTraceSource.NewArgumentNullException("sessionState"); } this.item = new ItemCmdletProviderIntrinsics(sessionState); this.childItem = new ChildItemCmdletProviderIntrinsics(sessionState); this.content = new ContentCmdletProviderIntrinsics(sessionState); this.property = new PropertyCmdletProviderIntrinsics(sessionState); this.securityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(sessionState); }
/// <summary> /// Constructs a facade over the "real" session state API. /// </summary> /// <param name="sessionState"> /// An instance of the cmdlet. /// </param> internal ProviderIntrinsics(SessionStateInternal sessionState) { if (sessionState == null) { throw PSTraceSource.NewArgumentNullException(nameof(sessionState)); } Item = new ItemCmdletProviderIntrinsics(sessionState); ChildItem = new ChildItemCmdletProviderIntrinsics(sessionState); Content = new ContentCmdletProviderIntrinsics(sessionState); Property = new PropertyCmdletProviderIntrinsics(sessionState); SecurityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(sessionState); }
internal ProviderIntrinsics(Cmdlet cmdlet) { if (cmdlet == null) { throw PSTraceSource.NewArgumentNullException("cmdlet"); } this.cmdlet = cmdlet; this.item = new ItemCmdletProviderIntrinsics(cmdlet); this.childItem = new ChildItemCmdletProviderIntrinsics(cmdlet); this.content = new ContentCmdletProviderIntrinsics(cmdlet); this.property = new PropertyCmdletProviderIntrinsics(cmdlet); this.securityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(cmdlet); }
/// <summary> /// Constructs a facade over the "real" session state API. /// </summary> /// <param name="cmdlet"> /// An instance of the cmdlet. /// </param> /// <exception cref="ArgumentNullException"> /// If <paramref name="cmdlet"/> is null. /// </exception> internal ProviderIntrinsics(Cmdlet cmdlet) { if (cmdlet == null) { throw PSTraceSource.NewArgumentNullException(nameof(cmdlet)); } _cmdlet = cmdlet; Item = new ItemCmdletProviderIntrinsics(cmdlet); ChildItem = new ChildItemCmdletProviderIntrinsics(cmdlet); Content = new ContentCmdletProviderIntrinsics(cmdlet); Property = new PropertyCmdletProviderIntrinsics(cmdlet); SecurityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(cmdlet); }
internal ProviderIntrinsics(Cmdlet cmdlet) { if (cmdlet == null) { throw new NullReferenceException("Cmdlet can't be null."); } _cmdlet = cmdlet; ChildItem = new ChildItemCmdletProviderIntrinsics(cmdlet); Content = new ContentCmdletProviderIntrinsics(cmdlet); Item = new ItemCmdletProviderIntrinsics(cmdlet); Property = new PropertyCmdletProviderIntrinsics(cmdlet); SecurityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(cmdlet); }
internal ProviderIntrinsics(Cmdlet cmdlet) { if (cmdlet == null) { throw new NullReferenceException("Cmdlet can't be null."); } _cmdlet = cmdlet; ChildItem = new ChildItemCmdletProviderIntrinsics(_cmdlet); Content = new ContentCmdletProviderIntrinsics(_cmdlet); Item = new ItemCmdletProviderIntrinsics(_cmdlet); Property = new PropertyCmdletProviderIntrinsics(_cmdlet); SecurityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(_cmdlet); }
} // ProviderIntrinsics internal /// <summary> /// Constructs a facade over the "real" session state API /// </summary> /// /// <param name="sessionState"> /// An instance of the cmdlet. /// </param> /// internal ProviderIntrinsics(SessionStateInternal sessionState) { if (sessionState == null) { throw PSTraceSource.NewArgumentNullException("sessionState"); } Item = new ItemCmdletProviderIntrinsics(sessionState); ChildItem = new ChildItemCmdletProviderIntrinsics(sessionState); Content = new ContentCmdletProviderIntrinsics(sessionState); Property = new PropertyCmdletProviderIntrinsics(sessionState); #if SUPPORTS_IMULTIVALUEPROPERTYCMDLETPROVIDER this.propertyValue = new PropertyValueCmdletProviderIntrinsics(sessionState); #endif SecurityDescriptor = new SecurityDescriptorCmdletProviderIntrinsics(sessionState); #if RELATIONSHIP_SUPPORTED // 2004/11/24-JeffJon - Relationships have been removed from the Exchange release this.relationship = new RelationshipProviderIntrinsics(sessionState); #endif } // ProviderIntrinsics internal
internal PathInfo SetLocation(string path, ProviderRuntime runtime) { if (path == null) { throw new PSArgumentException("Path is null", "SetLocationPathNull", ErrorCategory.InvalidArgument); } ProviderInfo pinfo; path = Globber.GetProviderSpecificPath(path, runtime, out pinfo); var provider = _sessionState.Provider.GetInstance(pinfo); var containerProvider = CmdletProvider.As<ContainerCmdletProvider>(provider); var itemIntrinsics = new ItemCmdletProviderIntrinsics(_sessionState); if (!itemIntrinsics.Exists(path, runtime) || !itemIntrinsics.IsContainer(containerProvider, path, runtime)) { throw new PSArgumentException("The path does not exist or is not a container", "SetLocationInvalidPath", ErrorCategory.InvalidArgument); } if (provider is FileSystemProvider) { // TODO: really? I think PS doesn't do this System.Environment.CurrentDirectory = path; } var curDrive = runtime.PSDriveInfo; curDrive.CurrentLocation = path; _sessionStateGlobal.CurrentDrive = curDrive; return new PathInfo(curDrive, path, _sessionState); }