コード例 #1
0
ファイル: Kbtter.cs プロジェクト: kb10uy/Kbtter3
 private Task <StatusMessage> ProcessStatuses(StatusMessage msg)
 {
     return(Task.Run(() =>
     {
         var ret = msg.DeepCopy();
         if (ret == null)
         {
             return msg;
         }
         foreach (var i in Plugins)
         {
             ret = i.StatusUpdateDestructive(ret, PluginMonitoringToken) ?? ret;
         }
         return ret;
     }));
 }
コード例 #2
0
ファイル: Kbtter.cs プロジェクト: kb10uy/Kbtter3
        private async void NotifyStatusUpdate(StatusMessage msg)
        {
            CacheStatuses(msg);
            if (msg.Type != MessageType.Create)
            {
                return;
            }
            LatestStatus = await ProcessStatuses(msg);

            ShowingStatuses.Enqueue(LatestStatus.Status);
            RaisePropertyChanged("Status");
            await Task.Run(() =>
            {
                foreach (var p in Plugins)
                {
                    p.StatusUpdate(msg.DeepCopy(), PluginMonitoringToken);
                }
            });
        }
コード例 #3
0
ファイル: Kbtter.cs プロジェクト: kb10uy/Kbtter3
 private Task<StatusMessage> ProcessStatuses(StatusMessage msg)
 {
     return Task.Run(() =>
     {
         var ret = msg.DeepCopy();
         if (ret == null) return msg;
         foreach (var i in Plugins)
         {
             ret = i.StatusUpdateDestructive(ret, PluginMonitoringToken) ?? ret;
         }
         return ret;
     });
 }
コード例 #4
0
ファイル: Kbtter.cs プロジェクト: kb10uy/Kbtter3
 private async void NotifyStatusUpdate(StatusMessage msg)
 {
     CacheStatuses(msg);
     if (msg.Type != MessageType.Create) return;
     LatestStatus = await ProcessStatuses(msg);
     ShowingStatuses.Enqueue(LatestStatus.Status);
     RaisePropertyChanged("Status");
     await Task.Run(() =>
     {
         foreach (var p in Plugins) p.StatusUpdate(msg.DeepCopy(), PluginMonitoringToken);
     });
 }