Exemple #1
0
 /// <summary>
 /// Unregisters the given <see cref="IMuxActivityLoggerClient"/> from the <see cref="RegisteredMuxClients"/> list.
 /// Silently ignores unregistered client.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public virtual IMuxActivityLoggerClientRegistrar UnregisterMuxClient(IMuxActivityLoggerClient client)
 {
     if (client == null)
     {
         throw new ArgumentNullException("client");
     }
     DoRemove(client);
     return(this);
 }
Exemple #2
0
 /// <summary>
 /// Registers an <see cref="IMuxActivityLoggerClient"/> to the <see cref="RegisteredMuxClients"/> list.
 /// Duplicate IMuxActivityLoggerClient are silently ignored.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public virtual IMuxActivityLoggerClientRegistrar RegisterMuxClient(IMuxActivityLoggerClient client)
 {
     if (client == null)
     {
         throw new ArgumentNullException("client");
     }
     if (!_clients.Contains(client))
     {
         DoAdd(client);
     }
     return(this);
 }
Exemple #3
0
 /// <summary>
 /// Unregisters the given <see cref="IMuxActivityLoggerClient"/> from the <see cref="IMuxActivityLoggerClientRegistrar.RegisteredMuxClients">RegisteredMuxClients</see> list.
 /// Silently ignores unregistered client but throws an <see cref="InvalidOperationException"/> if it belongs to <see cref="NonRemoveableClients"/> list.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public override IMuxActivityLoggerClientRegistrar UnregisterMuxClient(IMuxActivityLoggerClient client)
 {
     if (client == null)
     {
         throw new ArgumentNullException("client");
     }
     if (_nonRemoveableClients.Contains(client))
     {
         throw new InvalidOperationException(R.ActivityLoggerNonRemoveableClient);
     }
     DoRemove(client);
     return(this);
 }
Exemple #4
0
 /// <summary>
 /// Registers an <see cref="IMuxActivityLoggerClient"/> to the <see cref="IMuxActivityLoggerClientRegistrar.RegisteredMuxClients">RegisteredMuxClients</see> list.
 /// Removes the <paramref name="client"/> from <see cref="RegisteredClients"/> if
 /// it is also a <see cref="IActivityLoggerClient"/> to avoid stuttering.
 /// Duplicate IMuxActivityLoggerClient are silently ignored.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public override IMuxActivityLoggerClientRegistrar RegisterMuxClient(IMuxActivityLoggerClient client)
 {
     if (client == null)
     {
         throw new ArgumentNullException("client");
     }
     if (!RegisteredMuxClients.Contains(client))
     {
         IActivityLoggerClient c = client as IActivityLoggerClient;
         if (c != null)
         {
             _clients.Remove(c);
         }
         DoAdd(client);
     }
     return(this);
 }
Exemple #5
0
 /// <summary>
 /// Registers an <see cref="IActivityLoggerClient"/> to the <see cref="RegisteredClients"/> list.
 /// Removes the <paramref name="client"/> from <see cref="IMuxActivityLoggerClientRegistrar.RegisteredMuxClients">RegisteredMuxClients</see> if
 /// it is also a <see cref="IMuxActivityLoggerClient"/> to avoid stuttering.
 /// Duplicate IActivityLoggerClient are silently ignored.
 /// </summary>
 /// <param name="client">An <see cref="IActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public IActivityLoggerClientRegistrar RegisterClient(IActivityLoggerClient client)
 {
     if (client == null)
     {
         throw new ArgumentNullException("client");
     }
     if (!_clients.Contains(client))
     {
         IMuxActivityLoggerClient mux = client as IMuxActivityLoggerClient;
         if (mux != null)
         {
             DoRemove(mux);
         }
         _clients.Insert(0, client);
     }
     return(this);
 }
Exemple #6
0
 public IMuxActivityLoggerClientRegistrar UnregisterMuxClient(IMuxActivityLoggerClient client)
 {
     return(this);
 }
 /// <summary>
 /// Directly removes the client from the list.
 /// </summary>
 /// <param name="client">The client to remove.</param>
 /// <returns>True if has been found and removed.</returns>
 protected bool DoRemove( IMuxActivityLoggerClient client )
 {
     return _clients.Remove( client );
 }
 /// <summary>
 /// Directly adds the client into the list. No check is done.
 /// </summary>
 /// <param name="client">The client to add.</param>
 protected void DoAdd( IMuxActivityLoggerClient client )
 {
     _clients.Insert( 0, client );
 }
 /// <summary>
 /// Unregisters the given <see cref="IMuxActivityLoggerClient"/> from the <see cref="RegisteredMuxClients"/> list.
 /// Silently ignores unregistered client.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public virtual IMuxActivityLoggerClientRegistrar UnregisterMuxClient( IMuxActivityLoggerClient client )
 {
     if( client == null ) throw new ArgumentNullException( "client" );
     DoRemove( client );
     return this;
 }
 /// <summary>
 /// Registers an <see cref="IMuxActivityLoggerClient"/> to the <see cref="RegisteredMuxClients"/> list.
 /// Duplicate IMuxActivityLoggerClient are silently ignored.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public virtual IMuxActivityLoggerClientRegistrar RegisterMuxClient( IMuxActivityLoggerClient client )
 {
     if( client == null ) throw new ArgumentNullException( "client" );
     if( !_clients.Contains( client ) ) DoAdd( client );
     return this;
 }
Exemple #11
0
 /// <summary>
 /// Directly removes the client from the list.
 /// </summary>
 /// <param name="client">The client to remove.</param>
 /// <returns>True if has been found and removed.</returns>
 protected bool DoRemove(IMuxActivityLoggerClient client)
 {
     return(_clients.Remove(client));
 }
Exemple #12
0
 /// <summary>
 /// Directly adds the client into the list. No check is done.
 /// </summary>
 /// <param name="client">The client to add.</param>
 protected void DoAdd(IMuxActivityLoggerClient client)
 {
     _clients.Insert(0, client);
 }
 public IMuxActivityLoggerClientRegistrar UnregisterMuxClient( IMuxActivityLoggerClient client )
 {
     return this;
 }
 /// <summary>
 /// Unregisters the given <see cref="IMuxActivityLoggerClient"/> from the <see cref="IMuxActivityLoggerClientRegistrar.RegisteredMuxClients">RegisteredMuxClients</see> list.
 /// Silently ignores unregistered client but throws an <see cref="InvalidOperationException"/> if it belongs to <see cref="NonRemoveableClients"/> list.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public override IMuxActivityLoggerClientRegistrar UnregisterMuxClient( IMuxActivityLoggerClient client )
 {
     if( client == null ) throw new ArgumentNullException( "client" );
     if( _nonRemoveableClients.Contains( client ) ) throw new InvalidOperationException( R.ActivityLoggerNonRemoveableClient );
     DoRemove( client );
     return this;
 }
 /// <summary>
 /// Registers an <see cref="IMuxActivityLoggerClient"/> to the <see cref="IMuxActivityLoggerClientRegistrar.RegisteredMuxClients">RegisteredMuxClients</see> list.
 /// Removes the <paramref name="client"/> from <see cref="RegisteredClients"/> if
 /// it is also a <see cref="IActivityLoggerClient"/> to avoid stuttering.
 /// Duplicate IMuxActivityLoggerClient are silently ignored.
 /// </summary>
 /// <param name="client">An <see cref="IMuxActivityLoggerClient"/> implementation.</param>
 /// <returns>This object to enable fluent syntax.</returns>
 public override IMuxActivityLoggerClientRegistrar RegisterMuxClient( IMuxActivityLoggerClient client )
 {
     if( client == null ) throw new ArgumentNullException( "client" );
     if( !RegisteredMuxClients.Contains( client ) )
     {
         IActivityLoggerClient c = client as IActivityLoggerClient;
         if( c != null ) _clients.Remove( c );
         DoAdd( client );
     }
     return this;
 }