//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using Microsoft.SqlTools.Extensibility;
namespace Microsoft.SqlTools.ResourceProvider.Core.Extensibility
{
///
/// Enables tracing feature for classes
///
internal class Traceable : TraceableBase, IComposableService
{
private IMultiServiceProvider _serviceProvider;
private ITrace _trace;
public Traceable()
{
}
public Traceable(ITrace trace)
{
_trace = trace;
}
public override ITrace Trace
{
get
{
if (_trace == null)
{
if (_serviceProvider != null)
{
_trace = _serviceProvider.GetService();
}
}
return _trace;
}
set
{
_trace = value;
}
}
public void SetServiceProvider(IMultiServiceProvider provider)
{
_serviceProvider = provider;
}
}
}