Beispiel #1
0
        private bool FilterMatch(Service s, FilterCondition f)
        {
            switch (f.filterAttributeType)
            {
            case FilterAttributeType.Name:
                return(FilterMatchString(f.filterRelationType, s.Name, f.Value));

            case FilterAttributeType.Provider:
                return(FilterMatchString(f.filterRelationType, s.Provider, f.Value));

            case FilterAttributeType.NetworkName:
                return(FilterMatchString(f.filterRelationType, s.NetworkName, f.Value));

            case FilterAttributeType.CASystemID:
                return(FilterMatchIntList(f.filterRelationType, s.CaSystemIdList, f.Value));

            case FilterAttributeType.Features:
                return /*FilterMatchFeatures(s,f)*/ (FilterMatchStringList(s.FeatureList, f));

            case FilterAttributeType.Position:
                return(FilterMatchString(f.filterRelationType, s.Position, f.Value));

            case FilterAttributeType.Lcn:
                return(FilterMatchInt(f.filterRelationType, s.Lcn, f.Value));

            case FilterAttributeType.FreeCAMode:
                return(FilterMatchInt(f.filterRelationType, s.FreeCaMode ? 1 : 0, f.Value));

            case FilterAttributeType.Type:
                return(FilterMatchInt(f.filterRelationType, s.Type, f.Value));

            case FilterAttributeType.Pcr:
                return(FilterMatchInt(f.filterRelationType, s.Pcr, f.Value));

            case FilterAttributeType.Pmt:
                return(FilterMatchInt(f.filterRelationType, s.Pmt, f.Value));

            case FilterAttributeType.Sid:
                return(FilterMatchInt(f.filterRelationType, s.Sid, f.Value));

            case FilterAttributeType.Tsid:
                return(FilterMatchInt(f.filterRelationType, s.Tsid, f.Value));

            case FilterAttributeType.Nid:
                return(FilterMatchInt(f.filterRelationType, s.Nid, f.Value));

            case FilterAttributeType.Onid:
                return(FilterMatchInt(f.filterRelationType, s.Onid, f.Value));

            case FilterAttributeType.BouquetList:
            case FilterAttributeType.Audio:
                return(FilterMatchIntList(f.filterRelationType, s.AudioPidList, f.Value));

            case FilterAttributeType.Video:
                return(FilterMatchIntList(f.filterRelationType, s.VideoPidList, f.Value));

            case FilterAttributeType.Data:
                return(FilterMatchIntList(f.filterRelationType, s.DataPidList, f.Value));

            case FilterAttributeType.AudioLanguage:
                return(FilterMatchStringList(s.AudioLanguageList, f));

            case FilterAttributeType.DataLanguage:
                return(FilterMatchStringList(s.DataLanguageList, f));

            case FilterAttributeType.AudioType:
                return(FilterMatchStringList(s.AudioTypeList, f));

            case FilterAttributeType.VideoType:
                return(FilterMatchStringList(s.VideoTypeList, f));

            case FilterAttributeType.DataType:
                return(FilterMatchStringList(s.DataTypeList, f));

            default:
                return(false);    // this should not happen
            }
        }