コード例 #1
0
        public Share RegisterShare(ResourcePath baseResourcePath, string shareName, bool useShareWatcher, IEnumerable <string> mediaCategories)
        {
            Share sd = Share.CreateNewLocalShare(baseResourcePath, shareName, useShareWatcher, mediaCategories);

            _shares.Add(sd.ShareId, sd);
            SaveSharesToSettings();
            SharesMessaging.SendShareMessage(SharesMessaging.MessageType.ShareAdded, sd);
            return(sd);
        }
コード例 #2
0
        public void ReImportShare(Guid shareId)
        {
            Share share = GetShare(shareId);

            if (share == null)
            {
                return;
            }
            SharesMessaging.SendShareReimportMessage(share);
        }
コード例 #3
0
        public void RemoveShare(Guid shareId)
        {
            Share share;

            if (!_shares.TryGetValue(shareId, out share))
            {
                return;
            }
            _shares.Remove(shareId);
            SaveSharesToSettings();
            SharesMessaging.SendShareMessage(SharesMessaging.MessageType.ShareRemoved, share);
        }
コード例 #4
0
        public Share UpdateShare(Guid shareId, ResourcePath baseResourcePath, string shareName,
                                 IEnumerable <string> mediaCategories, RelocationMode relocationMode)
        {
            Share result = GetShare(shareId);

            if (result == null)
            {
                return(null);
            }
            result.BaseResourcePath = baseResourcePath;
            result.Name             = shareName;
            result.MediaCategories.Clear();
            CollectionUtils.AddAll(result.MediaCategories, mediaCategories);
            SaveSharesToSettings();
            SharesMessaging.SendShareChangedMessage(result, relocationMode);
            return(result);
        }