From 3ce48f6dbeb537e252edb0d62c88a28796e36674 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 월, 26 12월 2022 15:04:42 +0900
Subject: [PATCH] ongoing60 #4403 CF AOI Review TACT 지연 개선 1. 신호 출력 방식 재개선  - 유지 시간이 없는 신호는 바로 출력 진행하도록 변경 2. 불필요 Delay 제거 및 시퀀스 변경  - 얼라인 측정 종료 처리 간 제어 신호 먼저 출력 후 카메라 Stop으로 변경  - 물류 정보 읽기 처리 후 1000ms Delay 삭제  - 얼라인 측정 시작(카메라 Live Start) 후 Delay 300ms -> 100ms(이미지 들어오는 시간 확보 필요)  - ReadRawFile 처리 시작 전 500ms Delay 삭제  - Path Scheduling 완료 후 Review Ready 신호 출력 전 1000ms Delay 삭제 3. 버그 수정  - 이미지 저장 경로 생성 간 예외 처리 부분 버그 수정 4. 로그 시간 출력 불합리 개선  - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음  - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경

---
 ReviewHistory/include/akCore/akFileMgr.h |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/include/akCore/akFileMgr.h b/ReviewHistory/include/akCore/akFileMgr.h
new file mode 100644
index 0000000..9c50e5c
--- /dev/null
+++ b/ReviewHistory/include/akCore/akFileMgr.h
@@ -0,0 +1,80 @@
+#pragma once
+
+
+
+#include "akCoreLinker.h"
+#include <vector>
+
+struct AKCORE_DLLSPEC _Attribute
+{
+	_Attribute()
+	{
+		memset(Title		, 0, sizeof(char)*128);
+		memset(Attribute	, 0, sizeof(char)*128);
+		memset(Value		, 0, sizeof(char)*128);
+	}
+	char Title[128];
+	char Attribute[128];
+	char Value[128];
+};
+
+struct AKCORE_DLLSPEC _Title
+{
+	_Title(char* title)
+	{
+		strcpy(Title, title);
+	};
+	bool compare(char* title)
+	{
+		if(strcmp(title, Title) == 0 && strlen(title) == strlen(Title))
+		{
+			return true;
+		}
+		return false;
+	};
+	void clear()
+	{
+		memset(Title, 0, sizeof(char)*128);
+	};
+	char Title[128];
+};
+
+namespace akCore
+{
+	class AKCORE_DLLSPEC CakFileMgr
+	{
+	public:
+		CakFileMgr(void);
+		~CakFileMgr(void);
+
+		//타이틀 설정(OpenFile()함수와 MakeFile()함수를 호출하면 타이틀셋팅은 Null이 된다)
+		void SetTitle(char* title);
+
+		//쓰기 관련
+		//타이틀을 정한다.
+		bool SetAttribute(char* Attribute, int value);
+		bool SetAttribute(char* Attribute, double value);
+		bool SetAttribute(char* Attribute, char* value);
+		bool SetAttribute(char* Attribute, float value);
+		//쓰기 버퍼에 저장된 데이터를 파일로 저장
+		bool MakeFile(char* filepath);
+		
+
+		//읽기 관련
+		//파일 열기(쓰기준비중이였다면 쓰기 버퍼는 초기화 된다)
+		bool OpenFile(char* filepath);
+		bool GetAttribute(char* Attribute, int& value);
+		bool GetAttribute(char* Attribute, double& value);
+		bool GetAttribute(char* Attribute, char* value);
+		bool GetAttribute(char* Attribute, float& value);
+		
+	private:
+		//빠른 찾기를 위해서 저장된 데이터 정렬
+		void DataSort();
+		char m_Title[128];
+		std::vector<_Attribute> m_data;
+
+		char* m_buffer;
+		int m_fastIndex;
+	};
+}
\ No newline at end of file

--
Gitblit v1.9.3