using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Vrh.XmlProcessing;

namespace Vrh.iScheduler
{
    #region AccessMode enum
    /// <summary>
    /// Azt modja meg, hogy kell elérni az ütemezett esemény végrehajtását.
    /// </summary>
    public enum AccessMode
    {
        /// <summary>
        /// Egy fizikai DLL-ben van megvalósítva az IiSchedulePlugin interfész,
        /// amely TimedTask metódusában van megvalósítva az időzített 
        /// esemény végrehajtása.
        /// </summary>
        Plugin,

        /// <summary>
        /// Egy web alkalmazás akciójában van megvalósítva az időzített 
        /// esemény végrehajtása.
        /// </summary>
        WebAppAction,
    }
    #endregion AccessMode enum

    #region ButtonTypes enum
    /// <summary>
    /// Nyomógomb típusok.
    /// </summary>
    public enum ButtonTypes
    {
        /// <summary>
        /// Az modulon belüli fix (rendszer) gombokat jelöli.
        /// </summary>
        Sys,

        /// <summary>
        /// Az XML-ben megadott URL-t meghívó gombokat jelöli.
        /// </summary>
        Url
    }
    #endregion ButtonTypes enum

    #region DisplayMode
    /// <summary>
    /// A manager felület érvényes nézetei.
    /// </summary>
    public enum DisplayMode
    {
        /// <summary>
        /// Táblázatban mutatja meg az időzítéseket.
        /// </summary>
        List,

        /// <summary>
        /// Egy naptár felületen mutatja az időzítéseket.
        /// </summary>
        Calendar
    }
    #endregion DisplayMode

    #region EmbededObjectTypes
    /// <summary>
    /// A beágyazott típusokat jelölő enum.
    /// </summary>
    public enum EmbededObjectTypes 
    {
        /// <summary>
        /// A Vrh.iScheduler.Report beépülő plugin jelölése.
        /// Az "ObjectType" xml elemben szereplő érték.
        /// </summary>
        iSchedulerReport
    }
    #endregion EmbededObjectTypes

    #region ScheduleStates enum
    /// <summary>
    /// Ütemezések lehetséges állapotai.
    /// </summary>
    public enum ScheduleStates : byte
    {
        /// <summary>
        /// Az ütemezés végrehajtás előtt van, végrehajtásra várakozik.
        /// </summary>
        Active = 0,

        /// <summary>
        /// Az ütemezés a végrehajtás után, ha a végrehajtás sikeresen ért véget.
        /// </summary>
        Success = 1,

        /// <summary>
        /// Az ütemezés végrehajtás után, ha a végrehajtás hibával ért véget.
        /// </summary>
        Failed = 2,
    }
    #endregion ScheduleStates enum
}