コード例 #1
0
        private void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
        {
            if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
            {
                ContentDirectoryMessaging.MessageType messageType = (ContentDirectoryMessaging.MessageType)message.MessageType;
                if (messageType == ContentDirectoryMessaging.MessageType.ShareImportCompleted)
                {
                    try
                    {
                        SyncLibraryWithTrakt();

                        bool syncNotificationsEnabled = _mediaPortalServices.GetTraktSettingsWatcher().TraktSettings.ShowAutomaticSyncNotifications;
                        if (syncNotificationsEnabled)
                        {
                            ShowNotification(new TraktSyncLibrarySuccessNotification(), TimeSpan.FromSeconds(5));
                        }
                    }
                    catch (Exception ex)
                    {
                        _mediaPortalServices.GetLogger().Error(ex.Message);

                        bool syncNotificationsEnabled          = _mediaPortalServices.GetTraktSettingsWatcher().TraktSettings.ShowAutomaticSyncNotifications;
                        bool syncNotificationsOnFailureEnabled = _mediaPortalServices.GetTraktSettingsWatcher().TraktSettings.ShowAutomaticSyncNotificationsOnFailure;
                        if (syncNotificationsEnabled || syncNotificationsOnFailureEnabled)
                        {
                            ShowNotification(new TraktSyncLibraryFailureNotification(ex.Message), TimeSpan.FromSeconds(5));
                        }
                    }
                }
            }
        }
コード例 #2
0
 protected void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
 {
     if (message.ChannelName == ServerConnectionMessaging.CHANNEL)
     {
         ServerConnectionMessaging.MessageType messageType = (ServerConnectionMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         case ServerConnectionMessaging.MessageType.HomeServerAttached:
         case ServerConnectionMessaging.MessageType.HomeServerDetached:
             FireStateChanged();
             break;
         }
     }
     else if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
     {
         ContentDirectoryMessaging.MessageType messageType = (ContentDirectoryMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         case ContentDirectoryMessaging.MessageType.RegisteredSharesChanged:
             FireStateChanged();
             break;
         }
     }
     else if (message.ChannelName == SharesMessaging.CHANNEL)
     {
         SharesMessaging.MessageType messageType = (SharesMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         case SharesMessaging.MessageType.ShareAdded:
         case SharesMessaging.MessageType.ShareRemoved:
             FireStateChanged();
             break;
         }
     }
 }
コード例 #3
0
        private SystemMessage GetSystemMessageForMessageType(ContentDirectoryMessaging.MessageType msgType)
        {
            SystemMessage state = new SystemMessage(msgType)
            {
                ChannelName = "ContentDirectory"
            };

            return(state);
        }
コード例 #4
0
        private void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
        {
            if (message.ChannelName == ServerConnectionMessaging.CHANNEL)
            {
                ServerConnectionMessaging.MessageType messageType =
                    (ServerConnectionMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ServerConnectionMessaging.MessageType.HomeServerAttached:
                case ServerConnectionMessaging.MessageType.HomeServerConnected:
                    _updatePending = true; //Update all
                    break;
                }
            }
            else if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
            {
                ContentDirectoryMessaging.MessageType messageType = (ContentDirectoryMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ContentDirectoryMessaging.MessageType.ShareImportCompleted:
                    _importUpdatePending = true; //Update latest added
                    break;

                case ContentDirectoryMessaging.MessageType.MediaItemChanged:
                    if ((ContentDirectoryMessaging.MediaItemChangeType)message.MessageData[ContentDirectoryMessaging.MEDIA_ITEM_CHANGE_TYPE] != ContentDirectoryMessaging.MediaItemChangeType.None)
                    {
                        _mediaItemUpdatePending = true;
                    }
                    break;
                }
            }
            else if (message.ChannelName == SharesMessaging.CHANNEL)
            {
                SharesMessaging.MessageType messageType = (SharesMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case SharesMessaging.MessageType.ShareChanged:
                case SharesMessaging.MessageType.ShareRemoved:
                    _updatePending = true; //Update all
                    break;
                }
            }
            else if (message.ChannelName == PlayerManagerMessaging.CHANNEL)
            {
                PlayerManagerMessaging.MessageType messageType =
                    (PlayerManagerMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case PlayerManagerMessaging.MessageType.PlayerStopped:
                case PlayerManagerMessaging.MessageType.PlayerEnded:
                    _playbackUpdatePending = true; //Update most played and last played
                    break;
                }
            }
        }
コード例 #5
0
        void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
        {
            if (message.ChannelName == ServerConnectionMessaging.CHANNEL)
            {
                ServerConnectionMessaging.MessageType messageType =
                    (ServerConnectionMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ServerConnectionMessaging.MessageType.HomeServerAttached:
                case ServerConnectionMessaging.MessageType.HomeServerDetached:
                case ServerConnectionMessaging.MessageType.HomeServerConnected:
                    UpdateProperties_NoLock();
                    UpdateSharesLists_NoLock(false);
                    break;

                case ServerConnectionMessaging.MessageType.HomeServerDisconnected:
                    if (_shareProxy is ServerShares)
                    {
                        // If in edit workflow for a server share, when the server gets disconneted, go back to the shares overview
                        NavigateBackToOverview();
                    }
                    else
                    {
                        UpdateProperties_NoLock();
                        UpdateSharesLists_NoLock(false);
                    }
                    break;
                }
            }
            else if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
            {
                ContentDirectoryMessaging.MessageType messageType = (ContentDirectoryMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ContentDirectoryMessaging.MessageType.RegisteredSharesChanged:
                    UpdateProperties_NoLock();
                    UpdateSharesLists_NoLock(false);
                    break;
                }
            }
            else if (message.ChannelName == SharesMessaging.CHANNEL)
            {
                SharesMessaging.MessageType messageType = (SharesMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case SharesMessaging.MessageType.ShareAdded:
                case SharesMessaging.MessageType.ShareRemoved:
                    UpdateProperties_NoLock();
                    UpdateSharesLists_NoLock(false);
                    break;
                }
            }
        }
コード例 #6
0
 private void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
 {
     if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
     {
         ContentDirectoryMessaging.MessageType messageType = (ContentDirectoryMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         case ContentDirectoryMessaging.MessageType.MediaItemChanged:
             MediaItem mediaItem = (MediaItem)message.MessageData[ContentDirectoryMessaging.MEDIA_ITEM];
             ContentDirectoryMessaging.MediaItemChangeType changeType = (ContentDirectoryMessaging.MediaItemChangeType)message.MessageData[ContentDirectoryMessaging.MEDIA_ITEM_CHANGE_TYPE];
             UpdateLoadedMediaItems(mediaItem, changeType);
             break;
         }
     }
 }
コード例 #7
0
        void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
        {
            if (message.ChannelName == ServerConnectionMessaging.CHANNEL)
            {
                ServerConnectionMessaging.MessageType messageType =
                    (ServerConnectionMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ServerConnectionMessaging.MessageType.HomeServerAttached:
                case ServerConnectionMessaging.MessageType.HomeServerDetached:
                case ServerConnectionMessaging.MessageType.HomeServerConnected:
                case ServerConnectionMessaging.MessageType.HomeServerDisconnected:
                case ServerConnectionMessaging.MessageType.ClientsOnlineStateChanged:
                    UpdateProperties_NoLock();
                    UpdateSharesList_NoLock(false);
                    break;
                }
            }
            else if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
            {
                ContentDirectoryMessaging.MessageType messageType =
                    (ContentDirectoryMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ContentDirectoryMessaging.MessageType.RegisteredSharesChanged:
                    UpdateSharesList_NoLock(false);
                    break;

                case ContentDirectoryMessaging.MessageType.ShareImportStarted:
                case ContentDirectoryMessaging.MessageType.ShareImportCompleted:
                    Guid shareId = (Guid)message.MessageData[ContentDirectoryMessaging.SHARE_ID];
                    IServerConnectionManager scm = ServiceRegistration.Get <IServerConnectionManager>();
                    IContentDirectory        cd  = scm.ContentDirectory;
                    if (cd == null)
                    {
                        break;
                    }
                    UpdateShareImportState_NoLock(shareId, messageType == ContentDirectoryMessaging.MessageType.ShareImportStarted);
                    break;
                }
            }
        }
コード例 #8
0
 private void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
 {
     if (message.ChannelName == ServerConnectionMessaging.CHANNEL)
     {
         ServerConnectionMessaging.MessageType messageType = (ServerConnectionMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         case ServerConnectionMessaging.MessageType.HomeServerConnected:
         case ServerConnectionMessaging.MessageType.HomeServerDisconnected:
             Update();
             break;
         }
     }
     else if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
     {
         ContentDirectoryMessaging.MessageType messageType = (ContentDirectoryMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         case ContentDirectoryMessaging.MessageType.PlaylistsChanged:
             Update();
             break;
         }
     }
 }
コード例 #9
0
        void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
        {
            if (message.ChannelName == ServerConnectionMessaging.CHANNEL)
            {
                ServerConnectionMessaging.MessageType messageType =
                    (ServerConnectionMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ServerConnectionMessaging.MessageType.HomeServerAttached:
                case ServerConnectionMessaging.MessageType.HomeServerDetached:
                case ServerConnectionMessaging.MessageType.HomeServerConnected:
                    UpdateProperties();
                    UpdatePlaylists(false);
                    break;

                case ServerConnectionMessaging.MessageType.HomeServerDisconnected:
                    if (!NavigateBackToOverview())
                    {
                        UpdateProperties();
                        UpdatePlaylists(false);
                    }
                    break;
                }
            }
            else if (message.ChannelName == ContentDirectoryMessaging.CHANNEL)
            {
                ContentDirectoryMessaging.MessageType messageType =
                    (ContentDirectoryMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case ContentDirectoryMessaging.MessageType.PlaylistsChanged:
                    UpdatePlaylists(false);
                    break;
                }
            }
        }