/// <summary> /// Initializes a new instance of the <see cref="Session" /> class. /// </summary> /// <param name="clientId"> The client id. </param> /// <param name="sessionId"> The session id. </param> /// <param name="serverPipe"> The server pipe. </param> /// <param name="responsePipe"> The response pipe. </param> /// <param name="userId"> </param> /// <param name="isElevated"> </param> /// <remarks> /// </remarks> protected Session(string clientId, string sessionId, NamedPipeServerStream serverPipe, NamedPipeServerStream responsePipe, string userId, bool isElevated) { _clientId = clientId; _sessionId = sessionId; _serverPipe = serverPipe; _responsePipe = responsePipe; _userId = userId; _isElevated = isElevated; _isAsychronous = serverPipe == responsePipe; Connected = true; _sessionData = new SessionData { Session = this }; _outgoingDispatcher = new OutgoingCallDispatcher(typeof(IPackageManagerResponse), WriteAsync); _dispatcher = _outgoingDispatcher.ActLike <IPackageManagerResponse>(); // this session task _task = Task.Factory.StartNew(ProcessMessages, _cancellationTokenSource.Token); // this task is not attached to a parent anywhere. _task.AutoManage(); // when the task is done, call end. _task.ContinueWith(antecedent => End()); }
internal void GetSettingsData(IPackageManagerResponse response) { foreach( var p in Priorities) { foreach( var n in GetCanonicalNameStrings(p)) { foreach( var k in GetKeys(p, n) ) { var v = this[p, n, k]; if( v != null ) { response.GeneralPackageSetting(p, n, k, v); } } } } }
internal void GetSettingsData(IPackageManagerResponse response) { foreach (var p in Priorities) { foreach (var n in GetCanonicalNameStrings(p)) { foreach (var k in GetKeys(p, n)) { var v = this[p, n, k]; if (v != null) { response.GeneralPackageSetting(p, n, k, v); } } } } }