From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 목, 22 12월 2022 12:31:43 +0900
Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합)

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

diff --git a/ReviewHistory/include/akSTL/backup/akFileMgr.h b/ReviewHistory/include/akSTL/backup/akFileMgr.h
new file mode 100644
index 0000000..158d0b9
--- /dev/null
+++ b/ReviewHistory/include/akSTL/backup/akFileMgr.h
@@ -0,0 +1,80 @@
+#pragma once
+
+
+
+#include "akLinker.h"
+#include <vector>
+
+struct akSTL_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 akSTL_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 akSTL
+{
+	class akSTL_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