69 lines
1.9 KiB
C#
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;
|
|
}
|
|
}
|
|
} |