/// <summary> /// Query session list by given instance id array. /// </summary> /// <param name="instanceIds"></param> /// <returns>List of session wrapper objects.</returns> internal IEnumerable <PSObject> QuerySession( IEnumerable <Guid> instanceIds, out IEnumerable <ErrorRecord> errorRecords) { HashSet <PSObject> sessions = new HashSet <PSObject>(); HashSet <uint> sessionIds = new HashSet <uint>(); List <ErrorRecord> errRecords = new List <ErrorRecord>(); errorRecords = errRecords; foreach (Guid instanceid in instanceIds) { if (this.curCimSessionsByInstanceId.ContainsKey(instanceid)) { CimSessionWrapper wrapper = this.curCimSessionsByInstanceId[instanceid]; if (!sessionIds.Contains(wrapper.SessionId)) { sessionIds.Add(wrapper.SessionId); sessions.Add(wrapper.GetPSObject()); } } else { AddErrorRecord(ref errRecords, instanceidPropName, instanceid); } } return(sessions); }
/// <summary> /// Query session list by given session objects array. /// </summary> /// <param name="cimsessions"></param> /// <returns>List of session wrapper objects.</returns> internal IEnumerable <PSObject> QuerySession(IEnumerable <CimSession> cimsessions, out IEnumerable <ErrorRecord> errorRecords) { HashSet <PSObject> sessions = new HashSet <PSObject>(); HashSet <uint> sessionIds = new HashSet <uint>(); List <ErrorRecord> errRecords = new List <ErrorRecord>(); errorRecords = errRecords; foreach (CimSession cimsession in cimsessions) { if (this.curCimSessionWrapper.ContainsKey(cimsession)) { CimSessionWrapper wrapper = this.curCimSessionWrapper[cimsession]; if (!sessionIds.Contains(wrapper.SessionId)) { sessionIds.Add(wrapper.SessionId); sessions.Add(wrapper.GetPSObject()); } } else { AddErrorRecord(ref errRecords, CimSessionClassName, CimSessionObject); } } return(sessions); }
internal IEnumerable <PSObject> QuerySession(IEnumerable <CimSession> cimsessions, out IEnumerable <ErrorRecord> errorRecords) { HashSet <PSObject> pSObjects = new HashSet <PSObject>(); HashSet <uint> nums = new HashSet <uint>(); List <ErrorRecord> errorRecords1 = new List <ErrorRecord>(); errorRecords = errorRecords1; foreach (CimSession cimsession in cimsessions) { if (!this.curCimSessionWrapper.ContainsKey(cimsession)) { this.AddErrorRecord(ref errorRecords1, CimSessionState.CimSessionClassName, CimSessionState.CimSessionObject); } else { CimSessionWrapper item = this.curCimSessionWrapper[cimsession]; if (nums.Contains(item.SessionId)) { continue; } nums.Add(item.SessionId); pSObjects.Add(item.GetPSObject()); } } return(pSObjects); }
/// <summary> /// <para> /// Add new CimSession object to cache. /// </para> /// </summary> /// <param name="session"></param> /// <param name="sessionId"></param> /// <param name="instanceId"></param> /// <param name="name"></param> /// <param name="computerName"></param> /// <param name="protocol"></param> /// <returns></returns> internal PSObject AddObjectToCache( CimSession session, uint sessionId, Guid instanceId, string name, string computerName, ProtocolType protocol) { CimSessionWrapper wrapper = new CimSessionWrapper( sessionId, instanceId, name, computerName, session, protocol); HashSet <CimSessionWrapper> objects; if (!this.curCimSessionsByComputerName.TryGetValue(computerName, out objects)) { objects = new HashSet <CimSessionWrapper>(); this.curCimSessionsByComputerName.Add(computerName, objects); } objects.Add(wrapper); if (!this.curCimSessionsByName.TryGetValue(name, out objects)) { objects = new HashSet <CimSessionWrapper>(); this.curCimSessionsByName.Add(name, objects); } objects.Add(wrapper); this.curCimSessionsByInstanceId.Add(instanceId, wrapper); this.curCimSessionsById.Add(sessionId, wrapper); this.curCimSessionWrapper.Add(session, wrapper); return(wrapper.GetPSObject()); }
internal IEnumerable <PSObject> QuerySession(IEnumerable <Guid> instanceIds, out IEnumerable <ErrorRecord> errorRecords) { HashSet <PSObject> pSObjects = new HashSet <PSObject>(); HashSet <uint> nums = new HashSet <uint>(); List <ErrorRecord> errorRecords1 = new List <ErrorRecord>(); errorRecords = errorRecords1; foreach (Guid instanceId in instanceIds) { if (!this.curCimSessionsByInstanceId.ContainsKey(instanceId)) { this.AddErrorRecord(ref errorRecords1, CimSessionState.instanceidPropName, instanceId); } else { CimSessionWrapper item = this.curCimSessionsByInstanceId[instanceId]; if (nums.Contains(item.SessionId)) { continue; } nums.Add(item.SessionId); pSObjects.Add(item.GetPSObject()); } } return(pSObjects); }
internal IEnumerable <PSObject> QuerySession(IEnumerable <string> nameArray, out IEnumerable <ErrorRecord> errorRecords) { HashSet <PSObject> pSObjects = new HashSet <PSObject>(); HashSet <uint> nums = new HashSet <uint>(); List <ErrorRecord> errorRecords1 = new List <ErrorRecord>(); errorRecords = errorRecords1; foreach (var str in this.curCimSessionsByName) { bool count = false; WildcardPattern wildcardPattern = new WildcardPattern(str.Key, WildcardOptions.IgnoreCase); Dictionary <string, HashSet <CimSessionWrapper> > .Enumerator enumerator = this.curCimSessionsByName.GetEnumerator(); try { while (enumerator.MoveNext()) { KeyValuePair <string, HashSet <CimSessionWrapper> > keyValuePair = str; if (!wildcardPattern.IsMatch(keyValuePair.Key)) { continue; } HashSet <CimSessionWrapper> value = keyValuePair.Value; count = value.Count > 0; HashSet <CimSessionWrapper> .Enumerator enumerator1 = value.GetEnumerator(); try { while (enumerator1.MoveNext()) { CimSessionWrapper current = enumerator1.Current; if (nums.Contains(current.SessionId)) { continue; } nums.Add(current.SessionId); pSObjects.Add(current.GetPSObject()); } } finally { enumerator1.Dispose(); } } } finally { enumerator.Dispose(); } if (count || WildcardPattern.ContainsWildcardCharacters(str.Key)) { continue; } this.AddErrorRecord(ref errorRecords1, CimSessionState.namePropName, str.Key); } return(pSObjects); }
internal PSObject AddObjectToCache(CimSession session, uint sessionId, Guid instanceId, string name, string computerName, ProtocolType protocol) { HashSet <CimSessionWrapper> cimSessionWrappers = null; CimSessionWrapper cimSessionWrapper = new CimSessionWrapper(sessionId, instanceId, name, computerName, session, protocol); if (!this.curCimSessionsByComputerName.TryGetValue(computerName, out cimSessionWrappers)) { cimSessionWrappers = new HashSet <CimSessionWrapper>(); this.curCimSessionsByComputerName.Add(computerName, cimSessionWrappers); } cimSessionWrappers.Add(cimSessionWrapper); if (!this.curCimSessionsByName.TryGetValue(name, out cimSessionWrappers)) { cimSessionWrappers = new HashSet <CimSessionWrapper>(); this.curCimSessionsByName.Add(name, cimSessionWrappers); } cimSessionWrappers.Add(cimSessionWrapper); this.curCimSessionsByInstanceId.Add(instanceId, cimSessionWrapper); this.curCimSessionsById.Add(sessionId, cimSessionWrapper); this.curCimSessionWrapper.Add(session, cimSessionWrapper); return(cimSessionWrapper.GetPSObject()); }
/// <summary> /// <para> /// Add new CimSession object to cache /// </para> /// </summary> /// <param name="session"></param> /// <param name="sessionId"></param> /// <param name="instanceId"></param> /// <param name="name"></param> /// <returns></returns> internal PSObject AddObjectToCache( CimSession session, UInt32 sessionId, Guid instanceId, String name, String computerName, ProtocolType protocol) { CimSessionWrapper wrapper = new CimSessionWrapper( sessionId, instanceId, name, computerName, session, protocol); HashSet<CimSessionWrapper> objects; if (!this.curCimSessionsByComputerName.TryGetValue(computerName, out objects)) { objects = new HashSet<CimSessionWrapper>(); this.curCimSessionsByComputerName.Add(computerName, objects); } objects.Add(wrapper); if (!this.curCimSessionsByName.TryGetValue(name, out objects)) { objects = new HashSet<CimSessionWrapper>(); this.curCimSessionsByName.Add(name, objects); } objects.Add(wrapper); this.curCimSessionsByInstanceId.Add(instanceId, wrapper); this.curCimSessionsById.Add(sessionId, wrapper); this.curCimSessionWrapper.Add(session, wrapper); return wrapper.GetPSObject(); }
internal PSObject AddObjectToCache(CimSession session, uint sessionId, Guid instanceId, string name, string computerName, ProtocolType protocol) { HashSet<CimSessionWrapper> cimSessionWrappers = null; CimSessionWrapper cimSessionWrapper = new CimSessionWrapper(sessionId, instanceId, name, computerName, session, protocol); if (!this.curCimSessionsByComputerName.TryGetValue(computerName, out cimSessionWrappers)) { cimSessionWrappers = new HashSet<CimSessionWrapper>(); this.curCimSessionsByComputerName.Add(computerName, cimSessionWrappers); } cimSessionWrappers.Add(cimSessionWrapper); if (!this.curCimSessionsByName.TryGetValue(name, out cimSessionWrappers)) { cimSessionWrappers = new HashSet<CimSessionWrapper>(); this.curCimSessionsByName.Add(name, cimSessionWrappers); } cimSessionWrappers.Add(cimSessionWrapper); this.curCimSessionsByInstanceId.Add(instanceId, cimSessionWrapper); this.curCimSessionsById.Add(sessionId, cimSessionWrapper); this.curCimSessionWrapper.Add(session, cimSessionWrapper); return cimSessionWrapper.GetPSObject(); }