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/akCore/akFileMgrAdv.h |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/include/akCore/akFileMgrAdv.h b/ReviewHistory/include/akCore/akFileMgrAdv.h
new file mode 100644
index 0000000..a0b54bc
--- /dev/null
+++ b/ReviewHistory/include/akCore/akFileMgrAdv.h
@@ -0,0 +1,74 @@
+#pragma once
+
+
+#include "akCoreLinker.h"
+#include <vector>
+
+//파일 구조
+//float version;
+//size_t structTotalSize;//구조체 총 크기
+//size_t structNum;//구조체 갯수
+//char rev[128]; //예약된 임시공간
+//size_t nSize[] 각각의 구조체 크기
+//void* pData //실제 데이터 저장 공간
+
+namespace akCore
+{
+	struct AKCORE_DLLSPEC _akFileMgrHeader
+	{
+		float version;
+
+		size_t structTotalSize;//구조체 총 크기
+		size_t structNum;//
+		char rev[128];
+	};
+
+	class AKCORE_DLLSPEC CakFileMgrAdv
+	{
+	public:
+		CakFileMgrAdv(void);
+		~CakFileMgrAdv(void);
+
+	public:
+		//파일 쓰기
+		bool writeFile(char* pFileName, float fVer=1.0);
+
+		//파일 읽기
+		//0은 실패 1은 정상
+		//10001 읽어올 구조체 크기가 파일보다 큼(struct size > file size)
+		//10002 읽어올 구조체 크기가 파일보다 큼(struct size > file size)
+		//10003 읽어올 구조체와 파일크기가 같음. 하지만 구조체 구성이 다름(struct size == file size)
+		int readFile(char* filepath, bool bErrorCheck = false);
+
+		//데이터/크기 수정(기존의 파일정보를 읽어서 새 데이터로 수정)
+		bool editFile(char* filepath, int nIndex, void* pData, size_t nSize);
+
+
+		//데이터/크기 초기화
+		void clear();
+		//데이터/크기 추가
+		void addDataSize(void* pData, size_t nSize);
+		//데이터/크기 수정
+		void setDataSize(int nIndex, void* pData, size_t nSize);
+
+		_akFileMgrHeader getFileHeaderInfo(char* pFileName);
+		
+	
+		
+		
+	private:
+		struct _datasize
+		{
+			_datasize(void* pData1, size_t nSize1)
+			{
+				pData = pData1;
+				nSize = nSize1;
+			}
+			void* pData;
+			size_t  nSize;
+		};
+		std::vector<_datasize> m_vecData;
+
+		
+	};
+}
\ No newline at end of file

--
Gitblit v1.9.3