/// <summary> /// Creates singleton instance of DataCollectionRequestHandler. /// </summary> /// <param name="communicationManager"> /// Handles socket communication. /// </param> /// <param name="messageSink"> /// Message sink for sending messages to execution process. /// </param> /// <returns> /// The instance of <see cref="DataCollectionRequestHandler"/>. /// </returns> public static DataCollectionRequestHandler Create( ICommunicationManager communicationManager, IMessageSink messageSink) { if (Instance == null) { ValidateArg.NotNull(communicationManager, nameof(communicationManager)); ValidateArg.NotNull(messageSink, nameof(messageSink)); lock (SyncObject) { if (Instance == null) { Instance = new DataCollectionRequestHandler( communicationManager, messageSink, DataCollectionManager.Create(messageSink), new DataCollectionTestCaseEventHandler(), JsonDataSerializer.Instance); } } } return Instance; }
/// <summary> /// Gets singleton instance of DataCollectionRequestHandler. /// </summary> public static DataCollectionRequestHandler CreateInstance(ICommunicationManager communicationManager, IMessageSink messageSink) { if (Instance == null) { ValidateArg.NotNull(communicationManager, nameof(communicationManager)); ValidateArg.NotNull(messageSink, nameof(messageSink)); lock (obj) { if (Instance == null) { Instance = new DataCollectionRequestHandler(communicationManager, messageSink, new DataCollectionManager(messageSink), new DataCollectionTestCaseEventHandler()); } } } return(Instance); }