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

48 lines
1.9 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VisionCommon {
/// <summary>
/// UI 바인딩 및 레시피 저장이 필요한 뷰에서 상속받아 구현한다.
/// </summary>
public interface IUpdateRecipe {
/// <summary> 비전 레시피를 최신으로 갱신한다.
/// <example>
/// <code>
/// _VsRps = VisionRecipeManager.GetVisionRecipes(_VsRps.SubSysInfo); // 레시피 갱신
/// </code>
/// </example>
/// </summary>
void RefreshVisionRecipes();
/// <summary> 최신 레시피 복사본을 UI에 업데이트한다.
/// <example>
/// <code>
/// var vsRps = VisionRecipeManager.GetVisionRecipes(_VsRps.SubSysInfo); // 레시피 새로 읽기
/// var alignRecipe = vsRps.AlignRecipes[_AlignIdx].Clone(); // 레시피 복사
/// AlignRetry = alignRecipe.AlignRetry; // 레시피 업데이트(바인딩)
/// </code>
/// </example>
/// </summary>
void UpdateRecipeFromFile();
/// <summary> 파일 저장 전, UI에서 읽어온 레시피를 메모리에 업데이트 한다.
/// <example>
/// <code>
/// var vsRps = VisionRecipeManager.GetVisionRecipes(_VsRps.SubSysInfo); // 레시피 새로 읽기
/// var alignRecipe = vsRps.AlignRecipes[_AlignIdx];
/// alignRecipe.AlignRetry = AlignRetry; // 레시피 메모리에 쓰기
/// RecipeFileManager.SaveVisionRecipe(); // 레시피 파일 저장 (함수 외부에서 저장해도 됨)
/// </code>
/// </example>
/// </summary>
void UpdateRecipeFromUI();
}
}