Files
ChanSort/source/ChanSort.Loader.Samsung/ModelConstants.cs

61 lines
2.3 KiB
C#
Raw Normal View History

2013-03-31 14:09:38 +02:00
using ChanSort.Api;
namespace ChanSort.Loader.Samsung
2013-03-31 14:09:38 +02:00
{
public enum FavoritesIndexMode
{
/// <summary>
/// D model uses values 0 and 1
/// </summary>
Boolean = 0,
/// <summary>
/// E model uses -1 for not-a-fav and 1..x for a fav program number
/// </summary>
IndividuallySorted = 1,
/// <summary>
/// some F models and H series uses -1 for not-a-fav, but expects 1..x to match the main program number
/// </summary>
MainProgramnrIndex = 2
}
2013-03-31 14:09:38 +02:00
internal class ModelConstants
{
public readonly string series;
2013-03-31 14:09:38 +02:00
public readonly int dvbsSatelliteLength;
public readonly int dvbsTransponderLength;
public readonly int dvbsChannelLength;
public readonly int dvbtChannelLength;
public readonly int avbtChannelLength;
public readonly int hdplusChannelLength;
public readonly int avbtFineTuneLength;
public readonly int dvbtFineTuneLength;
public readonly Favorites supportedFavorites;
public readonly int ptcLength;
public readonly int serviceProviderLength;
public readonly FavoritesIndexMode SortedFavorites;
public readonly int cyfraPlusChannelSize;
2013-03-31 14:09:38 +02:00
public ModelConstants(IniFile.Section iniSection)
{
this.series = iniSection.Name.Substring(iniSection.Name.Length - 1);
2013-03-31 14:09:38 +02:00
this.avbtChannelLength = iniSection.GetInt("map-AirA");
this.dvbtChannelLength = iniSection.GetInt("map-AirD");
this.dvbsChannelLength = iniSection.GetInt("map-SateD");
this.hdplusChannelLength = iniSection.GetInt("map-AstraHDPlusD");
this.cyfraPlusChannelSize = iniSection.GetInt("map-CyfraPlusD");
this.ptcLength = iniSection.GetInt("PTC");
2013-03-31 14:09:38 +02:00
this.dvbsSatelliteLength = iniSection.GetInt("SatDataBase.dat");
this.dvbsTransponderLength = iniSection.GetInt("TransponderDataBase.dat");
this.avbtFineTuneLength = iniSection.GetInt("FineTune");
this.dvbtFineTuneLength = iniSection.GetInt("FineTune_Digital");
this.serviceProviderLength = iniSection.GetInt("ServiceProvider", 108);
2013-03-31 14:09:38 +02:00
int numFavorites = iniSection.GetInt("Favorites");
int mask = 0;
for (int i = 0; i < numFavorites; i++)
mask = (mask << 1) | 1;
this.supportedFavorites = (Favorites)mask;
this.SortedFavorites = (FavoritesIndexMode)iniSection.GetInt("SortedFavorites");
2013-03-31 14:09:38 +02:00
}
}
}