示例#1
0
        /// <summary>
        /// Download address book from file
        /// </summary>
        public static bool LoadAddressBook(string configDir, Log.WriteLineDelegate writeToLog,
                                           out AddressBook addressBook)
        {
            addressBook = new AddressBook();

            string fileName = configDir + AddressBook.DefFileName;

            if (File.Exists(fileName))
            {
                writeToLog(Localization.UseRussian ? "Загрузка адресной книги" : "Loading address book");
                string errMsg;

                if (addressBook.Load(fileName, out errMsg))
                {
                    return(true);
                }
                else
                {
                    writeToLog(errMsg);
                    return(false);
                }
            }
            else
            {
                writeToLog(Localization.UseRussian ? "Адресная книга отсутствует" : "Address book is missing");
                return(false);
            }
        }
示例#2
0
 /// <summary>
 /// Конструктор
 /// </summary>
 public Connection()
 {
     writeToLog = text => { }; // заглушка
     newLine = "\r"; // 0x0D
     DefaultLogFormat = CommUtils.ProtocolLogFormats.Hex;
     LocalAddress = "";
     RemoteAddress = "";
 }
示例#3
0
 /// <summary>
 /// Конструктор
 /// </summary>
 public Connection()
 {
     writeToLog       = text => { }; // заглушка
     newLine          = "\r";        // 0x0D
     DefaultLogFormat = CommUtils.ProtocolLogFormats.Hex;
     LocalAddress     = "";
     RemoteAddress    = "";
 }
示例#4
0
 /// <summary>
 /// Конструктор
 /// </summary>
 public CommChannelLogic()
 {
     writeToLog     = text => { }; // заглушка
     kpList         = new List <KPLogic>();
     kpListNotEmpty = false;
     firstKP        = null;
     thread         = null;
     terminated     = false;
 }
示例#5
0
        /// <summary>
        /// Конструктор
        /// </summary>
        public KPLogic(int number)
        {
            // private fields
            conn           = null;
            appDirs        = new AppDirs();
            writeToLog     = text => { }; // заглушка
            terminated     = false;
            caption        = "";
            sessText       = "";
            sendCmdText    = "";
            tagTable       = null;
            tagTableColLen = null;

            // protected fields
            curData         = new SrezTableLight.CnlData[0];
            curDataModified = new bool[0];
            arcSrezList     = new List <TagSrez>();
            eventList       = new List <KPEvent>();
            lastArcSrezList = new List <TagSrez>();
            lastEventList   = new List <KPEvent>();
            lastCmdList     = new List <Command>();
            lastCommSucc    = false;
            kpStats.Reset();

            // public properties
            Bind         = false;
            Number       = number;
            Name         = "";
            Dll          = Assembly.GetCallingAssembly().GetName().Name;
            Address      = 0;
            CallNum      = "";
            ReqParams    = KPReqParams.Default;
            ReqTriesCnt  = 1;
            SerialPort   = null;
            CustomParams = null;
            CommonProps  = null;
            CommLineSvc  = null;

            CanSendCmd   = false;
            ConnRequired = true;
            KPTags       = new KPTag[0];
            TagGroups    = new TagGroup[0];
            WorkState    = WorkStates.Undefined;
            LastSessDT   = DateTime.MinValue;
            LastCmdDT    = DateTime.MinValue;
        }
示例#6
0
        /// <summary>
        /// Download the address book from a file or get it from the general properties of the Communicator communication line
        /// </summary>
        public static AddressBook GetAddressBook(string configDir, SortedList <string, object> commonProps,
                                                 Log.WriteLineDelegate writeToLog)
        {
            AddressBook addressBook;
            object      addrBookObj;

            if (commonProps.TryGetValue("AddressBook", out addrBookObj))
            {
                addressBook = addrBookObj as AddressBook;
            }
            else
            {
                LoadAddressBook(configDir, writeToLog, out addressBook);
                commonProps.Add("AddressBook", addressBook);
            }

            return(addressBook);
        }
示例#7
0
 /// <summary>
 /// Конструктор
 /// </summary>
 public CommChannelLogic()
 {
     writeToLog = text => { }; // заглушка
     kpList = new List<KPLogic>();
     kpListNotEmpty = false;
     firstKP = null;
     thread = null;
     terminated = false;
 }
示例#8
0
        private Log.WriteLineDelegate writeToLog; // метод записи в журнал линии связи

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Конструктор
        /// </summary>
        public KPLogic(int number)
        {
            // private fields
            conn = null;
            appDirs = new AppDirs();
            writeToLog = text => { }; // заглушка
            terminated = false;
            caption = "";
            sessText = "";
            sendCmdText = "";
            tagTable = null;
            tagTableColLen = null;

            // protected fields
            curData = new SrezTableLight.CnlData[0];
            curDataModified = new bool[0];
            arcSrezList = new List<TagSrez>();
            eventList = new List<KPEvent>();
            lastArcSrezList = new List<TagSrez>();
            lastEventList = new List<KPEvent>();
            lastCmdList = new List<Command>();
            lastCommSucc = false;
            kpStats.Reset();

            // public properties
            Bind = false;
            Number = number;
            Name = "";
            Dll = Assembly.GetCallingAssembly().GetName().Name;
            Address = 0;
            CallNum = "";
            ReqParams = KPReqParams.Default;
            ReqTriesCnt = 1;
            SerialPort = null;
            CustomParams = null;
            CommonProps = null;
            CommLineSvc = null;

            CanSendCmd = false;
            ConnRequired = true;
            KPTags = new KPTag[0];
            TagGroups = new TagGroup[0];
            WorkState = WorkStates.Undefined;
            LastSessDT = DateTime.MinValue;
            LastCmdDT = DateTime.MinValue;
        }