Ejemplo n.º 1
0
        /// <summary>
        /// Returns callback client associated file name.
        /// </summary>
        /// <param name="client">Client.</param>
        /// <returns>File name.</returns>
        public string GetCallbackFileName(IBookmarkCallbackClient client)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            if (_bookmarkCallbacks.ContainsValue(client))
            {
                return(_bookmarkCallbacks.First(b => b.Value == client).Key);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Unregisters callback client.
        /// </summary>
        /// <param name="client">Client.</param>
        public void UnregisterCallback(IBookmarkCallbackClient client)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            if (!_bookmarkCallbacks.ContainsValue(client))
            {
                _log.LogMessage("Callback client hasn't been registered", LOG_CATEGORY);
                return;
            }

            var fileName = _bookmarkCallbacks.First(b => b.Value == client).Key;

            if (!string.IsNullOrEmpty(fileName))
            {
                _bookmarkCallbacks.Remove(fileName);
            }
            _log.LogMessage($"File '{Path.GetFileName(fileName)}' unregistered for bookmarks callback", LOG_CATEGORY);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Registers callback client.
        /// </summary>
        /// <param name="client">Client.</param>
        /// <param name="fileName">Document's file name.</param>
        public void RegisterCallback(IBookmarkCallbackClient client, string fileName)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            if (string.IsNullOrEmpty(fileName))
            {
                throw new ArgumentNullException(nameof(fileName));
            }

            if (_bookmarkCallbacks.ContainsKey(fileName) || _bookmarkCallbacks.ContainsValue(client))
            {
                _log.LogMessage($"Callback client has already been registered: {Path.GetFileName(fileName)}", LOG_CATEGORY);
                return;
            }

            _log.LogMessage($"File '{Path.GetFileName(fileName)}' registered for bookmarks callback", LOG_CATEGORY);
            _bookmarkCallbacks.Add(fileName, client);
        }