static int Main(string[] args)
        {
            Vector2 startPoint;
            Vector2 endPoint;

            string[] mapData;

            ErrCode code = ParseArgs(args, out mapData, out startPoint, out endPoint);

            if (ErrCode.Success != code)
            {
                return((int)code);
            }

            Map map = new Map(mapData, startPoint, endPoint);

            map.ComputePath();
            //if (!map.ComputePath())
            //    return (int)ErrCode.UnableToFindPath;

            map.DisplayMap();

            Console.ReadLine();
            return((int)ErrCode.Success);
        }
Exemplo n.º 2
0
        /// <summary>指定キーワードで番組情報を検索する(キーごと)</summary>
        public ErrCode SendSearchPgByKey(List <EpgSearchKeyInfo> key, ref List <List <EpgEventInfo> > val)
        {
            object  o    = new List <EpgEventInfo>();
            ErrCode retv = SendAndReceiveCmdData2(CtrlCmd.CMD_EPG_SRV_SEARCH_PG_BYKEY2, key, ref o);

            //送られてくるデータはダミー区切りのリストなので、ここで分解する。
            if (retv == ErrCode.CMD_SUCCESS)
            {
                List <EpgEventInfo> data = (List <EpgEventInfo>)o;

                var list1 = new List <EpgEventInfo>();

                foreach (EpgEventInfo info in data)
                {
                    if (info.original_network_id == 0 && info.transport_stream_id == 0 &&
                        info.service_id == 0 && info.event_id == 0 && info.ShortInfo == null)
                    {
                        val.Add(list1);
                        list1 = new List <EpgEventInfo>();
                    }
                    else
                    {
                        list1.Add(info);
                    }
                }
            }

            return(retv);
        }
Exemplo n.º 3
0
        private void button_del_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                List <UInt32> list = new List <UInt32>();
                foreach (ReserveItem item in listView_reserve.SelectedItems)
                {
                    ReserveData reserveInfo = item.ReserveInfo;

                    list.Add(reserveInfo.ReserveID);
                }
                if (list.Count > 0)
                {
                    ErrCode err = (ErrCode)cmd.SendDelReserve(list);
                    if (err == ErrCode.CMD_ERR_CONNECT)
                    {
                        MessageBox.Show("サーバー または EpgTimerSrv に接続できませんでした。");
                    }
                    if (err == ErrCode.CMD_ERR_TIMEOUT)
                    {
                        MessageBox.Show("EpgTimerSrvとの接続にタイムアウトしました。035");
                    }
                    if (err != ErrCode.CMD_SUCCESS)
                    {
                        MessageBox.Show("チューナー一覧の取得でエラーが発生しました。");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 接收外部推送消息,如果时效时间为空。默认24小时
        /// </summary>
        /// <param name="model"></param>
        /// <param name="retMsg"></param>
        /// <returns></returns>
        public ErrCode AcceptMsgList(SendMsgListRequest model, out string retMsg)
        {
            retMsg = string.Empty;
            ErrCode errorCode = CheckAcceptMsg(model, out retMsg);

            if (errorCode != ErrCode.Sucess)
            {
                return(errorCode);
            }
            int length = model.TokenList.Count;
            //判断接收人的个数是否超出上限
            var tokenMaxNum = Convert.ToInt32(_configLogic.GetConfigValue(ConfigKey.TokenMaxNum));

            if (length > tokenMaxNum)
            {
                retMsg = string.Format("Token的个数太多,网关限制上限:{0}", tokenMaxNum);
                return(ErrCode.Failure);
            }
            List <SendMsgRequest> sendMsgRequestList = new List <SendMsgRequest>();

            foreach (var item in model.TokenList)
            {
                SendMsgRequest sendMsgRequest = _mapper.Map <SendMsgRequest>(model);
                sendMsgRequest.Token = item;
                sendMsgRequestList.Add(sendMsgRequest);
            }
            AcceptMsgListToTheardPool(sendMsgRequestList, out retMsg);
            return(ErrCode.Sucess);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Returns RSTAB Cross sections
        /// </summary>
        private void GetRSTABCrossSection()
        {
            int cc = 0;

            try
            {
                cc = IData.rsGetCrossSectionCount();
            }
            catch (Exception e)
            {
                ecd = ErrCode.RSTABCRCN;
                ems = e.Message;
                epl = this.GetType().Name + "->" + MethodBase.GetCurrentMethod().Name;
                return;
            }

            try
            {
                RS_CROSS_SECTION[] cs = new RS_CROSS_SECTION[cc];
                IData.rsGetCrossSectionArr(cc, cs);

                foreach (RS_CROSS_SECTION c in cs)
                {
                    this.obj.AddCrCs(new RRCrSc(c));
                }
            }
            catch (Exception e)
            {
                ecd = ErrCode.RSTABCRSC;
                ems = e.Message;
                epl = this.GetType().Name + "->" + MethodBase.GetCurrentMethod().Name;
            }
        }
Exemplo n.º 6
0
 void setRecMode(int redMode0)
 {
     try
     {
         List <ReserveData> list = new List <ReserveData>();
         foreach (ReserveItem item in listView_reserve.SelectedItems)
         {
             ReserveData reserveInfo = item.ReserveInfo;
             reserveInfo.RecSetting.RecMode = BitConverter.GetBytes(redMode0)[0];
             list.Add(reserveInfo);
         }
         if (list.Count > 0)
         {
             ErrCode err = (ErrCode)cmd.SendChgReserve(list);
             if (err == ErrCode.CMD_ERR_CONNECT)
             {
                 MessageBox.Show("サーバー または EpgTimerSrv に接続できませんでした。");
             }
             if (err == ErrCode.CMD_ERR_TIMEOUT)
             {
                 MessageBox.Show("EpgTimerSrvとの接続にタイムアウトしました。037");
             }
             if (err != ErrCode.CMD_SUCCESS)
             {
                 MessageBox.Show("チューナー一覧の取得でエラーが発生しました。");
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
     }
 }
Exemplo n.º 7
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (RetType != 0)
            {
                hash ^= RetType.GetHashCode();
            }
            if (RetMsg.Length != 0)
            {
                hash ^= RetMsg.GetHashCode();
            }
            if (ErrCode != 0)
            {
                hash ^= ErrCode.GetHashCode();
            }
            if (s2C_ != null)
            {
                hash ^= S2C.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 自動予約登録情報の更新があれば再読み込みする
        /// </summary>
        /// <returns></returns>
        public ErrCode ReloadManualAutoAddInfo()
        {
            ErrCode ret = ErrCode.CMD_SUCCESS;

            try
            {
                if (updateAutoAddManualInfo == true)
                {
                    if (cmd == null)
                    {
                        return(ErrCode.CMD_ERR);
                    }

                    {
                        manualAutoAddList = new Dictionary <uint, ManualAutoAddData>();
                        List <ManualAutoAddData> list = new List <ManualAutoAddData>();

                        ret = (ErrCode)cmd.SendEnumManualAdd(ref list);
                        if (ret != ErrCode.CMD_SUCCESS)
                        {
                            return(ret);
                        }

                        list.ForEach(info => manualAutoAddList.Add(info.dataID, info));

                        updateAutoAddManualInfo = false;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
            }
            return(ret);
        }
Exemplo n.º 9
0
        private void MenuItem_Click_Priority(object sender, RoutedEventArgs e)
        {
            if (listView_result.SelectedItem != null)
            {
                List <ReserveData> list = new List <ReserveData>();

                foreach (SearchItem item in listView_result.SelectedItems)
                {
                    if (item.IsReserved == true)
                    {
                        item.ReserveInfo.RecSetting.Priority = byte.Parse((string)((MenuItem)sender).Tag);
                        list.Add(item.ReserveInfo);
                    }
                }

                if (list.Count > 0)
                {
                    try
                    {
                        ErrCode err = CommonManager.CreateSrvCtrl().SendChgReserve(list);
                        if (err != ErrCode.CMD_SUCCESS)
                        {
                            MessageBox.Show(CommonManager.GetErrCodeText(err) ?? "予約変更でエラーが発生しました。");
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
                    }
                }
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// EPGデータの更新があれば再読み込みする
        /// </summary>
        /// <returns></returns>
        public ErrCode ReloadEpgData()
        {
            ErrCode ret = ErrCode.CMD_SUCCESS;

            try
            {
                if (updateEpgData == true && (noAutoReloadEpg == false || oneTimeReloadEpg == true))
                {
                    if (cmd == null)
                    {
                        return(ErrCode.CMD_ERR);
                    }

                    serviceEventList = new Dictionary <ulong, EpgServiceEventInfo>();
                    var list = new List <EpgServiceEventInfo>();

                    ret = (ErrCode)cmd.SendEnumPgAll(ref list);
                    if (ret != ErrCode.CMD_SUCCESS)
                    {
                        return(ret);
                    }

                    list.ForEach(info => serviceEventList.Add(info.serviceInfo.Create64Key(), info));

                    updateEpgData    = false;
                    oneTimeReloadEpg = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
            }
            return(ret);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 録画済み情報の更新があれば再読み込みする
        /// </summary>
        /// <returns></returns>
        public ErrCode ReloadrecFileInfo()
        {
            ErrCode ret = ErrCode.CMD_SUCCESS;

            try
            {
                if (updateRecInfo == true)
                {
                    if (cmd == null)
                    {
                        return(ErrCode.CMD_ERR);
                    }

                    recFileInfo = new Dictionary <uint, RecFileInfo>();
                    var list = new List <RecFileInfo>();

                    ret = cmd.SendEnumRecInfoBasic(ref list);
                    if (ret == ErrCode.CMD_NON_SUPPORT)
                    {
                        ret = cmd.SendEnumRecInfo(ref list);
                    }

                    list.ForEach(info => recFileInfo.Add(info.ID, info));

                    ClearRecFileAppend();
                    updateRecInfo = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
            }
            return(ret);
        }
Exemplo n.º 12
0
        public ErrCode Extract(PRNode n, DirectoryInfo di, out ProgressTracker pt, string altName = "")
        {
            pt = new ProgressTracker();
            if (n.Flags.HasFlag(NodeFlag.Virtual))
            {
                return(ErrCode.NODE_INVALID_OPERATION);
            }

            ErrCode result = ErrCode.SUCCESS;

            if (n.Flags.HasFlag(NodeFlag.Directory))
            {
                Log($"DIR: {n.TableNode.DisplayName}", LogType.Info);
                if (!Directory.Exists(di.FullName + @"\" + n.TableNode.DisplayName))
                {
                    DirectoryInfo tDir = Directory.CreateDirectory(di.FullName + @"\" + n.TableNode.DisplayName);
                    Log($"CreateDir '{tDir.FullName}'", LogType.IO);
                    result &= ExDir(n, tDir, pt);
                }
            }
            else
            {
                Log($"FILE: {n.TableNode.DisplayName}", LogType.Info);
                result &= ExFile(n, di, pt, altName);
            }

            if (result != ErrCode.SUCCESS)
            {
                Log($"ERR: {pt[pt.Count - 1]}", LogType.Error);
            }
            return(result);
        }
Exemplo n.º 13
0
        private ErrCode ExDir(PRNode n, DirectoryInfo di, ProgressTracker pt)
        {
            Log($"Sel to Ext: {n.TableNode.DisplayName}", LogType.GUI);
            DirectoryInfo tDir   = di;
            ErrCode       result = ErrCode.SUCCESS;

            foreach (PRTableNode tn in FileTable.GetChildrenOf(n.GUID))
            {
                Log($"Child: {tn.DisplayName}", LogType.Parse);
                if (tn.Flags.HasFlag(NodeFlag.Directory))
                {
                    Log($"ExDir {tn.DisplayName}", LogType.IO);
                    if (!Utils.DebugFlags.HasFlag(Debug.NO_RECURSION))
                    {
                        result &= ExDir(tn.Node, Directory.CreateDirectory(tDir.FullName + @"\" + Utils.BaseToString(tn.Name)), pt);
                    }
                }
                else if (tn.Flags.HasFlag(NodeFlag.File))
                {
                    //Log($"ExFile {tn.DisplayName}", LogType.IO);
                    result &= ExFile(tn.Node, tDir, pt);
                }
            }
            if (result == ErrCode.SUCCESS)
            {
                Log("No errors on extraction!", LogType.IO);
                return(ErrCode.SUCCESS);
            }
            else
            {
                return(result);
            }
        }
Exemplo n.º 14
0
 protected virtual void Error(ErrCode ec)
 {
     if (OnError != null)
     {
         OnError(ec);
     }
 }
Exemplo n.º 15
0
        /// <summary>
        /// Primary entry point
        /// </summary>
        public Archive()
        {
            Log("Initializing PRX manager", LogType.Init);

            Utils.InitDriveInfo();

            ErrCode initErr = ErrCode.NULL;

            initErr = SetTempFile();

            Log("Creating root node", LogType.Info);
            RootNode  = PRNode.CreateRootNode();
            FileTable = new PRTable();

            PackRatUI.Program.Archive = this;

            MasterFileTable = FileTable;

            if (initErr > ErrCode.SUCCESS)
            {
                Error(initErr);
                if (initErr.HasFlag(ErrCode.EX_ACCESS_DENIED))
                {
                    System.Windows.Forms.MessageBox.Show("ERR_ACCESS_DENIED" + Environment.NewLine + "Please try running as Administrator.");
                    Environment.Exit(0);
                }
            }
        }
Exemplo n.º 16
0
 public void CheckInputData(out int err)
 {
     if (!this._isServerTransData)
     {
         this.ErrCodeParse(ErrCode.serverConnFlt, "CheckInputData");
         err = 4;
     }
     else
     {
         ErrCode errCode = this.CheckDataRead();
         if (errCode != ErrCode.ok)
         {
             this.ErrCodeParse(errCode, "CheckInputData");
             err = (int)errCode;
         }
         else
         {
             ErrCode errCode2 = this.CheckDataWrite();
             if (errCode2 != ErrCode.ok)
             {
                 this.ErrCodeParse(errCode2, "CheckInputData");
                 err = (int)errCode2;
             }
             else
             {
                 err = 0;
             }
         }
     }
 }
Exemplo n.º 17
0
        public RecFolderWindow()
        {
            InitializeComponent();

            if (CommonManager.Instance.NWMode == true)
            {
                button_write.IsEnabled   = false;
                button_recName.IsEnabled = false;
            }

            button_ok.Click     += (sender, e) => DialogResult = true;
            button_cancel.Click += (sender, e) => DialogResult = false;

            if (CommonManager.Instance.IsConnected == true)
            {
                ErrCode err = CommonManager.Instance.DB.ReloadPlugInFile();
                CommonManager.CmdErrMsgTypical(err, "PlugIn一覧の取得");
            }
            comboBox_writePlugIn.ItemsSource  = CommonManager.Instance.DB.WritePlugInList;
            comboBox_writePlugIn.SelectedItem = "Write_Default.dll";

            comboBox_recNamePlugIn.ItemsSource   = new[] { "なし" }.Concat(CommonManager.Instance.DB.RecNamePlugInList);
            comboBox_recNamePlugIn.SelectedIndex = 0;

            //フォルダ設定無しの場合の表示
            textBox_recFolderDef.Text      = Settings.Instance.DefRecFolders.FirstOrDefault() ?? SettingPath.GetSettingFolderPath(true);
            textBox_recFolder.TextChanged += textBox_recFolder_TextChanged;
            textBox_recFolder_TextChanged(null, null);//ツールチップを設定するため

            button_folder.Click += ViewUtil.OpenFolderNameDialog(textBox_recFolder, "録画フォルダの選択", true, textBox_recFolderDef.Text);
        }
Exemplo n.º 18
0
 /// <summary>
 /// 验证请求token是否合法
 /// </summary>
 /// <param name="token">用户登录token</param>
 /// <param name="errCode">错误码</param>
 /// <returns>true:非法</returns>
 protected bool IsTokenInvalid(string token, out ErrCode errCode)
 {
     if (string.IsNullOrEmpty(token))
     {
         errCode = ErrCode.TokenIsNotAllowedEmpty;
         return(true);
     }
     if (!TokenSrv.IsTokenExist(token))
     {
         errCode = ErrCode.TokenPastDue;
         return(true);
     }
     if (TokenSrv.IsOtherWhereLogin(token))
     {
         errCode = ErrCode.OtherWhereLogin;
         return(true);
     }
     if (string.IsNullOrEmpty(TokenSrv.GetCustomerIDByToken(token)))
     {
         errCode = ErrCode.TokenPastDue;
         return(true);
     }
     errCode = 0;
     return(false);
 }
Exemplo n.º 19
0
        public int Init(System.Data.DataTable dataTable, TypeCnfFile typeFile)
        {
            int result;

            if (this._isServerTransData)
            {
                result = 0;
            }
            else
            {
                ErrCode  errCode  = ErrCode.ok;
                InitData initData = new InitData(dataTable, typeFile, this._itemsData, out errCode);
                if (errCode != ErrCode.ok)
                {
                    this._errNum = initData.ErrNum;
                    this._errTxt = initData.ErrTxt;
                    result       = (int)errCode;
                }
                else
                {
                    this.ErrCodeParse(ErrCode.ok, "Init");
                    result = 0;
                }
            }
            return(result);
        }
Exemplo n.º 20
0
        private void button_del_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                List <UInt32> list = new List <UInt32>();
                foreach (ReserveItem item in listView_reserve.SelectedItems)
                {
                    ReserveData reserveInfo = item.ReserveInfo;

                    list.Add(reserveInfo.ReserveID);
                }
                if (list.Count > 0)
                {
                    ErrCode err = CommonManager.CreateSrvCtrl().SendDelReserve(list);
                    if (err != ErrCode.CMD_SUCCESS)
                    {
                        MessageBox.Show(CommonManager.GetErrCodeText(err) ?? "チューナー一覧の取得でエラーが発生しました。");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
            }
        }
Exemplo n.º 21
0
        public InitData(string pathFile, TypeCnfFile typeFile, ItemsData items, out ErrCode errInit)
        {
            this._resultData = items;
            this.ClearItems();
            ErrCode errCode;

            switch (typeFile)
            {
            case TypeCnfFile.xlsxTable1:
            case TypeCnfFile.xlsxTable2:
                errCode = this.SelectInitTable(pathFile, typeFile);
                break;

            case TypeCnfFile.txtFile:
                errCode = this.InitFromTxt(pathFile);
                break;

            case TypeCnfFile.xmlFile:
                errCode = this.InitFromXML(pathFile);
                break;

            default:
                errCode = ErrCode.initFileNotFound;
                break;
            }
            if (errCode != ErrCode.ok)
            {
                this.ClearItems();
            }
            errInit = errCode;
        }
Exemplo n.º 22
0
 void setRecMode(int redMode0)
 {
     try
     {
         List <ReserveData> list = new List <ReserveData>();
         foreach (ReserveItem item in listView_reserve.SelectedItems)
         {
             ReserveData reserveInfo = item.ReserveInfo;
             reserveInfo.RecSetting.RecMode = BitConverter.GetBytes(redMode0)[0];
             list.Add(reserveInfo);
         }
         if (list.Count > 0)
         {
             ErrCode err = CommonManager.CreateSrvCtrl().SendChgReserve(list);
             if (err != ErrCode.CMD_SUCCESS)
             {
                 MessageBox.Show(CommonManager.GetErrCodeText(err) ?? "チューナー一覧の取得でエラーが発生しました。");
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
     }
 }
Exemplo n.º 23
0
        /// <summary>
        /// 自動予約登録情報の更新があれば再読み込みする
        /// </summary>
        /// <returns></returns>
        public ErrCode ReloadManualAutoAddInfo()
        {
            ErrCode ret = ErrCode.CMD_SUCCESS;

            if (updateAutoAddManualInfo)
            {
                manualAutoAddList = new Dictionary <uint, ManualAutoAddData>();
                var list = new List <ManualAutoAddData>();
                try
                {
                    ret = ErrCode.CMD_ERR;
                    ret = CommonManager.CreateSrvCtrl().SendEnumManualAdd(ref list);
                }
                catch { }
                if (ret == ErrCode.CMD_SUCCESS)
                {
                    foreach (ManualAutoAddData info in list)
                    {
                        manualAutoAddList.Add(info.dataID, info);
                    }
                    updateAutoAddManualInfo = false;
                }
            }
            return(ret);
        }
Exemplo n.º 24
0
        /// <summary>
        /// baseTimeから1週間分(EventBaseTimeをしきい値とし、このとき上限なし)のEPGデータを読み込む
        /// </summary>
        public ErrCode LoadWeeklyEpgData(DateTime baseTime, out Dictionary <ulong, EpgServiceAllEventInfo> list)
        {
            list = null;
            List <EpgServiceEventInfo> arcList = null;
            ErrCode ret = ReloadEpgData();

            if (ret == ErrCode.CMD_SUCCESS)
            {
                baseTime = baseTime > EventBaseTime ? EventBaseTime : baseTime;
                if (baseTime < EventBaseTime)
                {
                    ret     = ErrCode.CMD_ERR;
                    arcList = new List <EpgServiceEventInfo>();
                    try
                    {
                        //1週間分の過去番組情報
                        CommonManager.CreateSrvCtrl().SendEnumPgArc(
                            new List <long> {
                            0xFFFFFFFFFFFF, 0xFFFFFFFFFFFF, baseTime.ToFileTime(), baseTime.AddDays(7).ToFileTime()
                        }, ref arcList);
                        ret = ErrCode.CMD_SUCCESS;
                    }
                    catch { }
                }
            }
            if (ret == ErrCode.CMD_SUCCESS)
            {
                list = new Dictionary <ulong, EpgServiceAllEventInfo>();
                foreach (var info in serviceEventList)
                {
                    if (arcList != null)
                    {
                        //対応する過去番組情報があれば付加する
                        int i = arcList.FindIndex(a => info.Key == CommonManager.Create64Key(a.serviceInfo.ONID, a.serviceInfo.TSID, a.serviceInfo.SID));
                        list.Add(info.Key, new EpgServiceAllEventInfo(info.Value.serviceInfo,
                                                                      info.Value.eventList.Where(a => a.StartTimeFlag != 0 && a.start_time >= baseTime && a.start_time < baseTime.AddDays(7)).ToList(),
                                                                      i < 0 ? new List <EpgEventInfo>() : arcList[i].eventList));
                    }
                    else
                    {
                        list.Add(info.Key, new EpgServiceAllEventInfo(info.Value.serviceInfo,
                                                                      info.Value.eventList.Where(a => a.StartTimeFlag == 0 || a.start_time >= baseTime).ToList(),
                                                                      info.Value.eventArcList));
                    }
                }
                if (arcList != null)
                {
                    foreach (EpgServiceEventInfo info in arcList)
                    {
                        ulong id = CommonManager.Create64Key(info.serviceInfo.ONID, info.serviceInfo.TSID, info.serviceInfo.SID);
                        if (list.ContainsKey(id) == false)
                        {
                            //過去番組情報のみ存在
                            list.Add(id, new EpgServiceAllEventInfo(info.serviceInfo, new List <EpgEventInfo>(), info.eventList));
                        }
                    }
                }
            }
            return(ret);
        }
Exemplo n.º 25
0
        /// <summary>
        /// 録画済み情報の更新があれば再読み込みする
        /// </summary>
        /// <returns></returns>
        public ErrCode ReloadrecFileInfo()
        {
            ErrCode ret = ErrCode.CMD_SUCCESS;

            if (updateRecInfo)
            {
                recFileInfo = new Dictionary <uint, RecFileInfo>();
                var list = new List <RecFileInfo>();
                try
                {
                    ret = ErrCode.CMD_ERR;
                    ret = CommonManager.CreateSrvCtrl().SendEnumRecInfoBasic(ref list);
                    if (ret == ErrCode.CMD_NON_SUPPORT)
                    {
                        ret = ErrCode.CMD_ERR;
                        ret = CommonManager.CreateSrvCtrl().SendEnumRecInfo(ref list);
                    }
                }
                catch { }
                if (ret == ErrCode.CMD_SUCCESS)
                {
                    foreach (RecFileInfo info in list)
                    {
                        recFileInfo.Add(info.ID, info);
                    }
                    updateRecInfo = false;
                }
            }
            return(ret);
        }
Exemplo n.º 26
0
        public static byte [] Encrypt(IntPtr key, IntPtr hash, byte [] data)
        {
            bool final = true;
            uint flags = 0;

            uint dataLen = (uint)data.Length;
            //int blockSize = Key.GetBlockSize(key) / 8;
            //blockSize = Math.Min(blockSize, data.Length);
            uint bufLen = (uint)data.Length;              //encrypted data could be larger - 1 block?

            //uint bufLen = (uint) (data.Length + blockSize);
            byte [] encData = new byte[bufLen];
            Array.Copy(data, 0, encData, 0, data.Length);

            bool    retVal = Crypto.CryptEncrypt(key, hash, final, flags, encData, ref dataLen, bufLen);
            ErrCode ec     = Error.HandleRetVal(retVal, ErrCode.MORE_DATA);

            if (ec == ErrCode.MORE_DATA)
            {
                bufLen  = dataLen;
                dataLen = (uint)data.Length;
                encData = new byte[bufLen];
                Buffer.BlockCopy(data, 0, encData, 0, data.Length);
                retVal = Crypto.CryptEncrypt(key, hash, final, flags, encData, ref dataLen, bufLen);
                ec     = Error.HandleRetVal(retVal);
            }
            retVal = Format.CompareBytes(data, encData);
            if (retVal == true)            //same
            {
                throw new Exception("data was not encrypted");
            }
            //Format.HiddenBytes(data, encData); //catch nullKey encryption
            return(encData);
        }
Exemplo n.º 27
0
 private void cm_del_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         List <UInt32> list = new List <UInt32>();
         foreach (SearchItem item in listView_event.SelectedItems)
         {
             if (item.IsReserved == true)
             {
                 list.Add(item.ReserveInfo.ReserveID);
             }
         }
         if (list.Count > 0)
         {
             ErrCode err = CommonManager.CreateSrvCtrl().SendDelReserve(list);
             if (err != ErrCode.CMD_SUCCESS)
             {
                 MessageBox.Show(CommonManager.GetErrCodeText(err) ?? "予約削除でエラーが発生しました。");
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
     }
 }
Exemplo n.º 28
0
 public static void VerifySignature(IntPtr hash, byte[] sig, IntPtr pubKey)
 {
     string  desc   = null;          //String.Empty
     uint    flags  = 0;
     bool    retVal = NativeMethods.CryptVerifySignature(hash, sig, (uint)sig.Length, pubKey, desc, flags);
     ErrCode ec     = Error.HandleRetVal(retVal);         //2148073478 if doesnt verify
 }
Exemplo n.º 29
0
    private void getBasicData(ref ResultObj resobj)
    {
        Dictionary <string, string> dictionary = new Dictionary <string, string>();

        if (!openCom())
        {
            resobj.IsSuccess = false;
            resobj.ErrorType = ErrorType.非預期錯誤;
            resobj.ErrorMsg  = "開啟讀卡機通訊埠,失敗!請檢查讀卡機連線。";
            return;
        }
        int iBufferLen = 72;

        byte[] array = new byte[iBufferLen];
        int    num   = hisGetBasicData(array, ref iBufferLen);

        closeCom();
        if (num != 0)
        {
            resobj.IsSuccess = false;
            resobj.ErrorMsg  = ErrCode.errMsg(num);
            return;
        }
        dictionary.Add("卡片號碼", BIG5.GetString(array, 0, 12).Trim());
        dictionary.Add("姓名", BIG5.GetString(array, 12, 20).Trim());
        dictionary.Add("身分證號", BIG5.GetString(array, 32, 10).Trim());
        dictionary.Add("出生日期", BIG5.GetString(array, 42, 7).Trim());
        dictionary.Add("性別", BIG5.GetString(array, 49, 1).Trim());
        dictionary.Add("發卡日期", BIG5.GetString(array, 50, 7).Trim());
        dictionary.Add("卡片註銷註記", BIG5.GetString(array, 57, 1).Trim());
        dictionary.Add("緊急聯絡電話", BIG5.GetString(array, 58, 14).Trim());
        resobj.IsSuccess = true;
        resobj.CardInfo  = dictionary;
    }
Exemplo n.º 30
0
        private void priority_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                byte priority           = byte.Parse(((MenuItem)sender).Name.Substring("priority_".Length));
                List <ReserveData> list = new List <ReserveData>();
                foreach (ReserveItem item in listView_reserve.SelectedItems)
                {
                    ReserveData reserveInfo = item.ReserveInfo;
                    reserveInfo.RecSetting.Priority = priority;

                    list.Add(reserveInfo);
                }
                if (list.Count > 0)
                {
                    ErrCode err = CommonManager.CreateSrvCtrl().SendChgReserve(list);
                    if (err != ErrCode.CMD_SUCCESS)
                    {
                        MessageBox.Show(CommonManager.GetErrCodeText(err) ?? "チューナー一覧の取得でエラーが発生しました。");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace);
            }
        }
Exemplo n.º 31
0
    public List<ItemDetails> LoadUnits(int parent_id, out ErrCode err)
    {
        err = new ErrCode();
        List<ItemDetails> elements = SiteProvider.CurrentProvider.LoadUnits(parent_id, out err);

        return elements;
    }
Exemplo n.º 32
0
    public List<VariantDetails> LoadVariantsWithPlaneId(int plane_id, out ErrCode err)
    {
        err = null;
        List<VariantDetails> variants = SiteProvider.CurrentProvider.LoadVariantsWithPlaneId(plane_id, out err);

        return variants;
    }
Exemplo n.º 33
0
 public static ErrCode HandleRetVal(bool retVal, ErrCode expected)
 {
     ErrCode [] eca = new ErrCode[1];
     eca[0] = expected;
     return HandleRetVal(retVal, eca);
 }
Exemplo n.º 34
0
 private static ProviderInfo[] EnumProviders(out uint [] provTypes)
 {
     ArrayList alProv = new ArrayList();
     ArrayList alProvType = new ArrayList();
     uint dwIndex = 0;
     uint dwReserved = 0;
     uint dwFlags = 0;
     uint dwProvType = 0;
     uint cbProvName = 0;
     StringBuilder sProv = new StringBuilder();
     while ( true )
     {
         bool retVal = Crypto.CryptEnumProviders(dwIndex, ref dwReserved, dwFlags, ref dwProvType, sProv, ref cbProvName);
         ErrCode [] eca = new ErrCode[]{ErrCode.NO_MORE_ITEMS, ErrCode.MORE_DATA};
         ErrCode ec = Error.HandleRetVal(retVal, eca);
         if ( !retVal )
         {
             if ( ec == ErrCode.NO_MORE_ITEMS )
                 break;
             if ( ec != ErrCode.MORE_DATA )
                 break;
         }
         sProv = new System.Text.StringBuilder((int)cbProvName);
         retVal = Crypto.CryptEnumProviders(dwIndex, ref dwReserved, dwFlags, ref dwProvType, sProv, ref cbProvName);
         ec = Error.HandleRetVal(retVal);
         dwIndex = dwIndex + 1;
         cbProvName = 0;
         ProviderInfo pi = new ProviderInfo();
         pi.name = sProv.ToString().TrimEnd(new char['\0']);
         pi.type = (ProvType) dwProvType;
         alProv.Add(pi);
         if(alProvType.Contains(dwProvType) == false)
             alProvType.Add(dwProvType);
     }
     provTypes = new uint[alProvType.Count];
     alProvType.CopyTo(0, provTypes, 0, provTypes.Length);
     ProviderInfo [] pia = new ProviderInfo[alProv.Count];
     alProv.CopyTo(0, pia, 0, pia.Length);
     return pia;
 }
Exemplo n.º 35
0
 public static ArrayList GetProvParam(IntPtr prov, ProvParamEnum param, uint dataLen)
 {
     ArrayList al = new ArrayList();
     byte[] data = null;
     uint flags = Const.CRYPT_FIRST;
     while ( true )
     {
         data = new byte[dataLen];
         bool retVal = Crypto.CryptGetProvParam(prov, (uint) param, data, ref dataLen, flags);
         ErrCode [] eca = new ErrCode[]{ErrCode.NO_MORE_ITEMS, ErrCode.MORE_DATA};
         ErrCode ec = Error.HandleRetVal(retVal, eca);
         if ( !retVal )
         {
             if ( ec == ErrCode.NO_MORE_ITEMS )
                 break;
             if ( ec != ErrCode.MORE_DATA )
                 break;
         }
         flags = 0;
         al.Add(data);
     }
     return al;
 }
Exemplo n.º 36
0
    public ErrCode SaveChannel(DAL.Channel channel, out int id)
    {
        id = 0;
        ErrCode err = new ErrCode();
        SiteProvider.CurrentProvider.SaveChannel(channel, out id);

        return err;
    }
Exemplo n.º 37
0
    public List<int> SaveAllThresholds(ThresholdDetails[] thresholds, out ErrCode err)
    {
        List<int> ids = SiteProvider.CurrentProvider.SaveAllThresholds(thresholds, out err);

        return ids;
    }
Exemplo n.º 38
0
    public List<int> SaveAllFrequencies(FrequencyDetails[] frequencies, out ErrCode err)
    {
        List<int> ids = SiteProvider.CurrentProvider.SaveAllFrequencies(frequencies, out err);

        return ids;
    }
Exemplo n.º 39
0
 public static ErrCode HandleRetVal(bool retVal)
 {
     ErrCode [] eca = new ErrCode[0];
     return HandleRetVal(retVal, eca);
 }
Exemplo n.º 40
0
    public List<VariantDetails> LoadVariants(out ErrCode err)
    {
        err = null;
        List<VariantDetails> variants = SiteProvider.CurrentProvider.LoadVariants(out err);

        return variants;
    }
Exemplo n.º 41
0
 public static ErrCode HandleRetVal(bool retVal, ErrCode [] expected)
 {
     ErrCode ec = ErrCode.SUCCESS;
     if(retVal == false)
     {
         uint lastErr = (uint) Marshal.GetLastWin32Error();
         ec = (ErrCode) lastErr;
         bool isExpected = false;
         foreach(ErrCode expect in expected)
         {
             if(ec == expect)
                 isExpected = true;
         }
         if(isExpected == false)
             throw new Exception("bNb.Sec: " + ec.ToString());
     }
     return ec;
 }
Exemplo n.º 42
0
    public List<ThresholdDetails> LoadThresholds(out ErrCode err)
    {
        err = null;
        List<ThresholdDetails> thresholds = SiteProvider.CurrentProvider.LoadAllThresholds(out err);

        return thresholds;
    }
Exemplo n.º 43
0
    public List<PicturePackage> LoadStyles(out ErrCode err)
    {
        err = new ErrCode();

        List<PicturePackage> styles = SiteProvider.CurrentProvider.LoadStyles(out err);

        return styles;
    }
Exemplo n.º 44
0
    public List<TimeMarkDetails> LoadTimeBase(int idMark, out ErrCode err)
    {
        err = null;
        List<TimeMarkDetails> tmdl = SiteProvider.CurrentProvider.LoadTimeBase(idMark, out err);

        return tmdl;
    }
Exemplo n.º 45
0
    public List<ItemDetails> LoadSites(int schema_id, out ErrCode err)
    {
        err = new ErrCode();

        List<ItemDetails> sites = SiteProvider.CurrentProvider.GetSites(schema_id, out err);

        return sites;
    }
Exemplo n.º 46
0
    public List<TemporalAxisDetails> LoadTemporalAxis(int idVariant, out ErrCode err)
    {
        err = null;
        List<TemporalAxisDetails> tadl = SiteProvider.CurrentProvider.LoadTemporalAxis(idVariant, out err);

        return tadl;
    }
Exemplo n.º 47
0
    public List<ScriptDetails> LoadScriptWithIdVariant(int variant_id, out ErrCode err)
    {
        err = null;
        List<ScriptDetails> sd = SiteProvider.CurrentProvider.LoadScriptWithIdVariant(variant_id, out err);

        return sd;
    }
Exemplo n.º 48
0
    public PicturePackage LoadStyle(int element_id, out ErrCode err)
    {
        PicturePackage style = SiteProvider.CurrentProvider.LoadStyle(element_id, out err);

        return style;
    }
Exemplo n.º 49
0
    public string LoadReportsPath(out ErrCode err)
    {
        err = new ErrCode();

        string rpath = SiteProvider.CurrentProvider.LoadReportsPath(out err);

        return rpath;
    }
Exemplo n.º 50
0
    public List<SettlementDetail> LoadSettlements(out ErrCode err)
    {
        err = null;
        List<SettlementDetail> settlements = SiteProvider.CurrentProvider.LoadSettlements(out err);

        return settlements;
    }
Exemplo n.º 51
0
    public ElementPorts LoadPorts(int element_id, out ErrCode err)
    {
        err = new ErrCode();

        ElementPorts eps = SiteProvider.CurrentProvider.LoadPorts(element_id, out err);

        return eps;
    }
Exemplo n.º 52
0
    public List<ScriptDetails> LoadScriptWithIdTimeMark(int idMark, out ErrCode err)
    {
        err = null;
        List<ScriptDetails> sd = SiteProvider.CurrentProvider.LoadScriptWithTimeMark(idMark, out err);

        return sd;
    }
Exemplo n.º 53
0
    public List<PEDetails> LoadPlaneElements(int variant_id, out ErrCode err)
    {
        err = null;
        List<PEDetails> pes = SiteProvider.CurrentProvider.LoadPEs(variant_id, out err);

        return pes;
    }
Exemplo n.º 54
0
    public List<PriorityDetails> LoadPriorities(out ErrCode err)
    {
        err = null;
        List<PriorityDetails> pds = SiteProvider.CurrentProvider.LoadAllPriorities(out err);

        return pds;
    }
Exemplo n.º 55
0
    public List<ModeDetails> LoadModes(out ErrCode err)
    {
        err = null;
        List<ModeDetails> mds = SiteProvider.CurrentProvider.LoadModes(out err);

        return mds;
    }
Exemplo n.º 56
0
    public List<PlaneDetails> LoadPlanes(out ErrCode err)
    {
        err = null;
        List<PlaneDetails> planes = SiteProvider.CurrentProvider.LoadPlanes(out err);

        return planes;
    }
Exemplo n.º 57
0
    public List<MediaDetails> LoadMediaForConnectId(int connection_id, out ErrCode err)
    {
        err = new ErrCode();

        List<MediaDetails> mediaList = SiteProvider.CurrentProvider.LoadMediaForConnectId(connection_id, out err);

        return mediaList;
    }
Exemplo n.º 58
0
    public List<PlaneDetails> LoadNAnnientedPlanes(out ErrCode err)
    {
        err = null;
        List<PlaneDetails> pds = SiteProvider.CurrentProvider.LoadNAnnientedAndNExecutedPlanes(out err);

        return pds;
    }
Exemplo n.º 59
0
    public MediaDetails LoadMedia(int media_id, out ErrCode err)
    {
        err = new ErrCode();

        MediaDetails md = SiteProvider.CurrentProvider.LoadMedia(media_id, out err);

        return md;
    }
Exemplo n.º 60
0
    public List<MediumStyle> LoadMediumStyles(out ErrCode err)
    {
        List<MediumStyle> styles = SiteProvider.CurrentProvider.LoadMediumStyles(out err);

        return styles;
    }