Exemplo n.º 1
0
        private bool FilterMatch(Service s, SortedSet <FilterCondition> f)
        {
            SortedSet <FilterCondition> .Enumerator enumurator = f.GetEnumerator();
            bool moreitems = enumurator.MoveNext();
            bool match     = false;

            while (moreitems)
            {
                //skip disabled items
                if (!enumurator.Current.Enable)
                {
                    moreitems = enumurator.MoveNext();
                    continue;
                }

                // loop through all filter conditions of unique attribute type. Conditions for unique attribute type ared OR'ed.
                // Groups of unique attribute type are AND'ed.
                FilterAttributeType filterattributetype = enumurator.Current.filterAttributeType;
                match = FilterMatch(s, enumurator.Current);

                while ((moreitems = enumurator.MoveNext()) && filterattributetype == enumurator.Current.filterAttributeType)
                {
                    // if already match continue
                    if (match)
                    {
                        continue;
                    }

                    //skip disabled items
                    if (!enumurator.Current.Enable)
                    {
                        //moreitems = enumurator.MoveNext();
                        continue;
                    }
                    match = FilterMatch(s, enumurator.Current);
                }
                // if not at least match for unique attribute type retrurn false. Otherwise proceed with next attribute type
                if (!match)
                {
                    return(false);
                }
            }
            ;

            // if we reached here all groups of unique attribute type AND'ed matched.
            return(true);
        }
Exemplo n.º 2
0
 private string ConvertAttributeTypeToString(FilterAttributeType t)
 {
     if (t == FilterAttributeType.Name) return Properties.Resources.FilterAttributeTypeName;
     else if (t == FilterAttributeType.Provider) return Properties.Resources.FilterAttributeTypeProvider;
     else if (t == FilterAttributeType.NetworkName) return Properties.Resources.FilterAttributeTypeNetworkName;
     else if (t == FilterAttributeType.CASystemID) return Properties.Resources.FilterAttributeTypeCASystemID;
     else if (t == FilterAttributeType.Features) return Properties.Resources.FilterAttributeTypeFeatures;
     else if (t == FilterAttributeType.Position) return Properties.Resources.FilterAttributeTypePosition;
     else if (t == FilterAttributeType.Lcn) return Properties.Resources.FilterAttributeTypeLcn;
     else if (t == FilterAttributeType.FreeCAMode) return Properties.Resources.FilterAttributeTypeFreeCAMode;
     else if (t == FilterAttributeType.Type) return Properties.Resources.FilterAttributeTypeType;
     else if (t == FilterAttributeType.Pcr) return Properties.Resources.FilterAttributeTypePcr;
     else if (t == FilterAttributeType.Pmt) return Properties.Resources.FilterAttributeTypePmt;
     else if (t == FilterAttributeType.Sid) return Properties.Resources.FilterAttributeTypeSid;
     else if (t == FilterAttributeType.Tsid) return Properties.Resources.FilterAttributeTypeTsid;
     else if (t == FilterAttributeType.Nid) return Properties.Resources.FilterAttributeTypeNid;
     else if (t == FilterAttributeType.Onid) return Properties.Resources.FilterAttributeTypeOnid;
     else if (t == FilterAttributeType.BouquetList) return Properties.Resources.FilterAttributeTypeBouquetList;
     else if (t == FilterAttributeType.Video) return Properties.Resources.FilterAttributeTypeVideo;
     else if (t == FilterAttributeType.Audio) return Properties.Resources.FilterAttributeTypeAudio;
     else if (t == FilterAttributeType.AudioLanguage) return Properties.Resources.FilterAttributeTypeAudioLanguage;
     else return Properties.Resources.FilterAttributeTypeNone; // this should not happen
 }
Exemplo n.º 3
0
 private string ConvertAttributeTypeToString(FilterAttributeType t)
 {
     if (t == FilterAttributeType.Name)
     {
         return(Properties.Resources.FilterAttributeTypeName);
     }
     else if (t == FilterAttributeType.Provider)
     {
         return(Properties.Resources.FilterAttributeTypeProvider);
     }
     else if (t == FilterAttributeType.NetworkName)
     {
         return(Properties.Resources.FilterAttributeTypeNetworkName);
     }
     else if (t == FilterAttributeType.CASystemID)
     {
         return(Properties.Resources.FilterAttributeTypeCASystemID);
     }
     else if (t == FilterAttributeType.Features)
     {
         return(Properties.Resources.FilterAttributeTypeFeatures);
     }
     else if (t == FilterAttributeType.Position)
     {
         return(Properties.Resources.FilterAttributeTypePosition);
     }
     else if (t == FilterAttributeType.Lcn)
     {
         return(Properties.Resources.FilterAttributeTypeLcn);
     }
     else if (t == FilterAttributeType.FreeCAMode)
     {
         return(Properties.Resources.FilterAttributeTypeFreeCAMode);
     }
     else if (t == FilterAttributeType.Type)
     {
         return(Properties.Resources.FilterAttributeTypeType);
     }
     else if (t == FilterAttributeType.Pcr)
     {
         return(Properties.Resources.FilterAttributeTypePcr);
     }
     else if (t == FilterAttributeType.Pmt)
     {
         return(Properties.Resources.FilterAttributeTypePmt);
     }
     else if (t == FilterAttributeType.Sid)
     {
         return(Properties.Resources.FilterAttributeTypeSid);
     }
     else if (t == FilterAttributeType.Tsid)
     {
         return(Properties.Resources.FilterAttributeTypeTsid);
     }
     else if (t == FilterAttributeType.Nid)
     {
         return(Properties.Resources.FilterAttributeTypeNid);
     }
     else if (t == FilterAttributeType.Onid)
     {
         return(Properties.Resources.FilterAttributeTypeOnid);
     }
     else if (t == FilterAttributeType.BouquetList)
     {
         return(Properties.Resources.FilterAttributeTypeBouquetList);
     }
     else if (t == FilterAttributeType.Video)
     {
         return(Properties.Resources.FilterAttributeTypeVideo);
     }
     else if (t == FilterAttributeType.Audio)
     {
         return(Properties.Resources.FilterAttributeTypeAudio);
     }
     else if (t == FilterAttributeType.AudioLanguage)
     {
         return(Properties.Resources.FilterAttributeTypeAudioLanguage);
     }
     else if (t == FilterAttributeType.AudioType)
     {
         return(Properties.Resources.FilterAttributeTypeAudioType);
     }
     else if (t == FilterAttributeType.VideoType)
     {
         return(Properties.Resources.FilterAttributeTypeVideoType);
     }
     else if (t == FilterAttributeType.Data)
     {
         return(Properties.Resources.FilterAttributeTypeData);
     }
     else if (t == FilterAttributeType.DataLanguage)
     {
         return(Properties.Resources.FilterAttributeTypeDataLanguage);
     }
     else if (t == FilterAttributeType.DataType)
     {
         return(Properties.Resources.FilterAttributeTypeDataType);
     }
     else
     {
         return(Properties.Resources.FilterAttributeTypeNone); // this should not happen
     }
 }