private void EnqueueProcessQueue(OfflineDataFile dataFile) { Debug.WriteLine("[OfflineWorker] enqueueProcessQueue => sectionId : " + dataFile.Section + ", ownerId : " + dataFile.Owner + ", noteId : " + dataFile.Note); mOfflineProcessQueue.Enqueue(dataFile); lock ( lockHandleProcess ) { lockHandleProcess.Set(); } }
private void ProcessData(OfflineDataFile currentFile) { Debug.WriteLine("[OfflineWorker] processData() - begin"); // 노트 스트로크 Stroke[] sarr = DataFileToStroke(currentFile, PenMaxForce); if (sarr == null || sarr.Length <= 0) { return; } mHandler.onReceiveOfflineStrokes(currentFile.totalDataSize, currentFile.receiveDataSize, sarr); Debug.WriteLine("[OfflineWorker] processData() - finish"); }
private Stroke[] DataFileToStroke(OfflineDataFile sfile, int penMaxForce) { if (sfile == null) { return(null); } OfflineDataParser parser; try { if (!System.IO.File.Exists(sfile.FilePath)) { Debug.WriteLine("[OfflineWorker] file not found : " + sfile.FilePath); return(null); } parser = new OfflineDataParser(sfile.FilePath); Dot[] dots = parser.Parse(penMaxForce); parser.Delete(); if (dots != null && dots.Length > 0) { return(DotArrayToStrokeArray(dots)); } else { Debug.WriteLine("[OfflineWorker] parseError"); } } catch (Exception e) { Debug.WriteLine("[OfflineWorker] parse file exeption occured. => {0}", e); } finally { parser = null; } return(null); }
private void ProcessNote() { while (isRun) { while (mOfflineProcessQueue.Count() > 0) { OfflineDataFile oFile = mOfflineProcessQueue.Dequeue(); if (oFile.Section != 4) { ProcessData(oFile); } } { lockHandleProcess.WaitOne(); } } }