2026-01-26 14:51:28 +09:00

69 lines
1.9 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using Aurora.Api;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VisionCommon {
/// <summary>
/// 데이터를 인덱스별로 관리하는 클래스
/// </summary>
public class DataList : IDisposable {
private Logger _Logger = new Logger(typeof(DataList).Name);
private List<object> _DataList;
/// <summary>
/// 생성자
/// </summary>
public DataList() {
_DataList = new List<object>();
}
/// <summary>
/// 모든 데이터 리턴
/// </summary>
/// <returns>모든 데이터</returns>
public List<object> GetDataList() {
return _DataList;
}
/// <summary>
/// 마지막 lastDataCnt개의 데이터 리턴
/// </summary>
/// <param name="lastDataCnt">마지막 데이터 개수</param>
/// <returns>마지막 lastDataCnt개의 데이터</returns>
public List<object> GetDataList(int lastDataCnt) {
if (lastDataCnt != 0 && lastDataCnt <= _DataList.Count) {
return _DataList.Skip(_DataList.Count - lastDataCnt).Take(lastDataCnt).ToList();
}
return _DataList;
}
/// <summary>
/// 데이터 삽입
/// </summary>
/// <param name="data">데이터</param>
public void Add(object data) {
try {
_DataList.Add(data);
}
catch (Exception e) {
_Logger.FuncE(e.Message);
}
}
public void Clear() {
_DataList?.Clear();
}
public void Dispose() {
Clear();
_DataList = null;
}
}
}