- restructured source and added build configuration to build all non-UI projects without the need for a DevExpress license

This commit is contained in:
Horst Beham
2021-07-24 18:59:03 +02:00
parent 22f9d43adc
commit 6c94e62eca
43 changed files with 1039 additions and 482 deletions

View File

@@ -0,0 +1,31 @@
using System.Collections.Generic;
using ChanSort.Loader.LG.Binary;
namespace ChanSort.Loader.LG
{
/*
* The WinForms/DevExpress user interface classes are located in a separate project (ChanSort.Loader.LG.UI)
* so that this project here with the loader code can be recompiled without a DevExpress license.
*
* The class ChanSort.Loader.LG.UI.LgUserInterfaceFactory implements this interface and is dynamically loaded
* via reflection at run-time to avoid any compile-time dependencies.
*
* Parameters passed to UI methods should be interfaces to maintain binary so that adding new member variables
* to the loader code won't break binary compatibility between the precompiled UI dll and a recompiled Loader dll
*
*/
public interface ILgUserInterfaceFactory
{
public void ShowTvSettingsForm(ITllFileSerializer serializer, object parentWindow);
bool ShowPresetProgramNrDialog();
}
public interface ITllFileSerializer
{
IList<string> SupportedTvCountryCodes { get; }
string TvCountryCode { get; set; }
FirmwareData GetFirmwareMapping();
int GetHotelMenuOffset();
}
}