using System;
using TIBCO.Rendezvous;

namespace JWH.TIB
{

    /// <summary>
    /// TIBCO.Rendezvous 연결정보
    /// </summary>
    public class ServerInfo
    {

        #region [ Properties ] ================================================

        public TransportType TransportType { get; set; } = TransportType.Reliable;

        public string GUID { get; protected set; } = string.Empty;

        public string Name { get; set; } = string.Empty;

        public string Service { get; set; } = string.Empty;

        public string Daemon { get; set; } = string.Empty;

        public string Network { get; set; } = string.Empty;

        public string Description { get; set; } = string.Empty;

        public string CMName { get; set; } = string.Empty;

        public bool RequestOld { get; set; } = false;

        public string LedgerName { get; set; } = string.Empty;

        public bool SyncLedger { get; set; } = false;

        #endregion

        #region [ Constructor ] ===============================================

        public ServerInfo()
        {
            this.GUID = Guid.NewGuid().ToString();
        }

        public ServerInfo(string server, string service, string daemon, string network, string subject) : this()
        {
            this.Name = server;
            this.Service = service;
            this.Daemon = daemon;
            this.Network = network;
        }

        #endregion

    }

    public enum TransportType
    {
        Reliable = 1,
        Certiry = 2,
        Distributed = 3,
    }

}
