You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.3 KiB

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