internal ListableOption_WebLink_Patch()
        {
            EntryLinks
            .ForEach(link => ToggleManager.Add(
                         label: Format(link, ProgramState.Entry),
                         root: ButtonCat.StartScreen,
                         group: ButtonCat.LinksEntry
                         ));

            PlayLinks
            .ForEach(link => ToggleManager.Add(
                         label: Format(link, ProgramState.Playing),
                         root: ButtonCat.PauseScreen,
                         group: ButtonCat.LinksPlay
                         ));
        }
Exemplo n.º 2
0
        internal WebsiteJob(WebsiteJob template)
            : this(template.Config)
        {
            PredefinedValues = new CrawlingPredefinedValues(template.PredefinedValues);

            foreach (var link in template.EntryLinks)
            {
                var entryLinkCopy = link.Copy();
                entryLinkCopy.Job = this;
                EntryLinks.Add(entryLinkCopy);
            }

            InitializationDocumentLink = template.InitializationDocumentLink?.Copy() as InitializationLink; // is stateless, so we don't have to create a new object
            if (InitializationDocumentLink != null)
            {
                InitializationDocumentLink.Job = this;
            }
        }
Exemplo n.º 3
0
        public IMultiLink GetLinked(IMultiLink unlinkedLink)
        {
            var       id = unlinkedLink.TargetId;
            IRootLink rootLink;

            if (RootLinks.TryGetValue(id, out rootLink))
            {
                return(new EntryMultiLink(rootLink));
            }
            IEntryLink entryLink;

            if (EntryLinks.TryGetValue(id, out entryLink))
            {
                return(new EntryMultiLink(entryLink));
            }
            IGroupLink groupLink;

            if (GroupLinks.TryGetValue(id, out groupLink))
            {
                return(new GroupMultiLink(groupLink));
            }
            IProfileLink profileLink;

            if (ProfileLinks.TryGetValue(id, out profileLink))
            {
                return(new ProfileMultiLink(profileLink));
            }
            IRuleLink ruleLink;

            if (RuleLinks.TryGetValue(id, out ruleLink))
            {
                return(new RuleMultiLink(ruleLink));
            }
            throw new ArgumentException(
                      $"Link target not found. {nameof(unlinkedLink.TargetId)}='{unlinkedLink.TargetId}'",
                      nameof(unlinkedLink));
        }