#region Apache License // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to you under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // #endregion using System; using log4net.Core; namespace log4net.Util { /// /// A SecurityContext used when a SecurityContext is not required /// /// /// /// The is a no-op implementation of the /// base class. It is used where a /// is required but one has not been provided. /// /// /// Nicko Cadell public sealed class NullSecurityContext : SecurityContext { /// /// Singleton instance of /// /// /// /// Singleton instance of /// /// public static readonly NullSecurityContext Instance = new NullSecurityContext(); /// /// Private constructor /// /// /// /// Private constructor for singleton pattern. /// /// private NullSecurityContext() { } /// /// Impersonate this SecurityContext /// /// State supplied by the caller /// null /// /// /// No impersonation is done and null is always returned. /// /// public override IDisposable Impersonate(object state) { return null; } } }