using System.Collections.Generic;
namespace Venus_RT.HostWrapper
{
    public interface IFaHost
    {
        /// 
        ///  Disabled = 0,
        ///  Enabled = 1,
        ///  EnabledNotCommunicating = 2,
        ///  EnabledCommunicating = 3,
        ///  WaitCRA = 4,
        ///  WaitDelay = 5,
        ///  WaitCRFromHost = 6,
        ///   
        /// 
        string FaCommunicationState { get; }
        /// 
        /// Unknown = 0,
        /// EquipmentOffline = 1,
        /// AttemptOnline = 2,
        /// HostOffline = 3,
        /// OnlineLocal = 4,
        /// OnlineRemote = 5,
        /// 
        /// 
        string FaControlState { get; }
        string FaControlSubState { get; }
        /// 
        /// 是否连接上Host
        /// 
        bool IsConnected { get; }
        int SpoolingState { get; }
        string SpoolingActual { get; }
        string SpoolingTotal { get; }
        string SpoolingFullTime { get; }
        string SpoolingStartTime { get; }
        bool IsSpoolingEnable { get; }
        void Initialize(IHostCallback equipment, string modelFile);
        void Terminate();
        void Enable();
        void Disable();
        void SetLocalControl();
        void SetRemoteControl();
        //void Invoke(string method, object[] args);
        /// 
        /// 
        /// 
        /// 
        void NotifyEvent(string eventName, Dictionary dvid);
        /// 
        /// 
        /// 
        /// 
        /// 
        void NotifyAlarm(string alarmName, Dictionary dvid, string text);
    }
}