using System;
using System.IO;

namespace ExtensiblePortfolioSite.SDK.Resources
{
    /// <summary>
    /// Represents a Resource
    /// </summary>
    public interface IResource
    {
        /// <summary>
        /// Weather or not this Resource is Publically Accessible via its URI
        /// </summary>
        public Boolean PublicallyAccessible { get; }

        /// <summary>
        /// Weather or not this Resource is directly usable by the Browser
        /// </summary>
        public Boolean WebCompatible { get; }

        /// <summary>
        /// Resource URI
        /// </summary>
        public Uri URI { get; }

        /// <summary>
        /// Opens a Stream to the specified resource
        /// </summary>
        public Stream OpenStream();
    }
}
