/// <summary> /// Registrers logger with StatisticsUpdater if no logger of this type is already registered /// and returns registered logger. /// </summary> /// <param name="logger">The logger that is registered.</param> /// <param name="logType">Type of the logger.</param> /// <returns>Registered log.</returns> /// <remarks> /// When no logger is registered it returns specified logger. /// When logger of the same type is already registered it returns registered logger. /// </remarks> public Logging.CommunicationLog RegisterLog(Logging.CommunicationLog logger, ServiceType logType) { lock (this) { switch (logType) { case ServiceType.Sender: if (this.SenderLogger == null) { this.SenderLogger = logger; } return(this.SenderLogger); case ServiceType.Receiver: if (this.ReceiverLogger == null) { this.ReceiverLogger = logger; } return(this.ReceiverLogger); case ServiceType.Executor: if (this.ExecutorLogger == null) { this.ExecutorLogger = logger; } return(this.ExecutorLogger); case ServiceType.None: default: return(null); } } }
/// <summary> /// Initialize Executor module dependencies. /// </summary> /// <param name="dependencies">Dependencies collection.</param> public override void BindInternalDependencies(IDictionary <string, ICommunicationModule> dependencies) { base.BindInternalDependencies(dependencies); Logging.CommunicationLog log = Logging.CommunicationModuleLogger.CreateLog(); if (dependencies.ContainsKey("Transmitter") == false) { this.Log = log; } else { this.Log = (dependencies["Transmitter"] as Transmitter.TransmitterManager) .Updater.RegisterLog(log, ServiceType.Executor); } }