using System;
using System.Collections.Generic;
using System.Text;
namespace Apewer.Source
{
///
public abstract class Accessor where T : class, IDatabase, new()
{
private T _source = null;
private bool _disposed = false;
///
public Accessor() { }
///
protected virtual T Source
{
get
{
if (_source == null) _source = new T();
return _source;
}
}
///
public virtual bool Connected
{
get
{
return (_source == null) ? false : _source.Online;
}
}
///
public virtual bool Disposed
{
get { return _disposed; }
}
///
public virtual void Close()
{
if (_source == null) return;
_source.Close();
}
///
public virtual void Dispose()
{
if (_source != null)
{
_source.Dispose();
_source = null;
}
_disposed = true;
}
}
}