示例#1
0
    //--------------------//

    #region Apps
    /// <inheritdoc/>
    protected override AppEntry AddAppInternal(FeedTarget target)
    {
        // Prevent double entries
        if (AppList.ContainsEntry(target.Uri))
        {
            throw new InvalidOperationException(string.Format(Resources.AppAlreadyInList, target.Feed.Name));
        }

        // Get basic metadata and copy of capabilities from feed
        var appEntry = new AppEntry {
            InterfaceUri = target.Uri, Name = target.Feed.Name, Timestamp = DateTime.UtcNow
        };

        appEntry.CapabilityLists.AddRange(target.Feed.CapabilityLists.CloneElements());

        AppList.Entries.Add(appEntry);
        WriteAppDir(appEntry);
        return(appEntry);
    }