UIMessage communication. Single instancing for server and re-connection mechanism on suspension.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using Wino.Core.Domain.Models.MailItem;
|
||||
|
||||
namespace Wino.Messages.Client.Accounts
|
||||
namespace Wino.Messaging.Client.Accounts
|
||||
{
|
||||
/// <summary>
|
||||
/// When menu item for the account is requested to be extended.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Wino.Messages.Client.Accounts
|
||||
namespace Wino.Messaging.Client.Accounts
|
||||
{
|
||||
/// <summary>
|
||||
/// Emitted when account menu items are reordered.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Accounts
|
||||
namespace Wino.Messaging.Client.Accounts
|
||||
{
|
||||
/// <summary>
|
||||
/// When a full menu refresh for accounts menu is requested.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Wino.Messages.Client.Authorization
|
||||
namespace Wino.Messaging.Client.Authorization
|
||||
{
|
||||
/// <summary>
|
||||
/// When Google authentication makes a callback to the app via protocol activation to the app.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When rendered html is requested to cancel.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When reset all mail selections requested.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Wino.Core.Domain.Models.Reader;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When a new composing requested.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When rendering frame should be disposed.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When existing a new html is requested to be rendered due to mail selection or signature.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When IMAP setup dialog requestes back breadcrumb navigation.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When user asked to dismiss IMAP setup dialog.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When IMAP setup dialog breadcrumb navigation requested.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When a IMailItem needs to be navigated (or selected)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
using Wino.Core.Domain.Models.Navigation;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// Selects the given FolderMenuItem in the shell folders list.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
public record RefreshUnreadCountsMessage(Guid AccountId);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When mail save as PDF requested.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Mails
|
||||
namespace Wino.Messaging.Client.Mails
|
||||
{
|
||||
/// <summary>
|
||||
/// When selected mail count is changed.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Navigation
|
||||
namespace Wino.Messaging.Client.Navigation
|
||||
{
|
||||
/// <summary>
|
||||
/// When back navigation is requested for breadcrumb pages.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Messages.Client.Navigation
|
||||
namespace Wino.Messaging.Client.Navigation
|
||||
{
|
||||
/// <summary>
|
||||
/// When Breadcrumb control navigation requested.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Navigation
|
||||
namespace Wino.Messaging.Client.Navigation
|
||||
{
|
||||
/// <summary>
|
||||
/// Navigates to settings page.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Shell
|
||||
namespace Wino.Messaging.Client.Shell
|
||||
{
|
||||
/// <summary>
|
||||
/// When the application theme changed.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Wino.Core.Domain.Entities;
|
||||
|
||||
namespace Wino.Messages.Client.Shell
|
||||
namespace Wino.Messaging.Client.Shell
|
||||
{
|
||||
/// <summary>
|
||||
/// When
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Messages.Client.Shell
|
||||
namespace Wino.Messaging.Client.Shell
|
||||
{
|
||||
/// <summary>
|
||||
/// For displaying right sliding notification message in shell.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Shell
|
||||
namespace Wino.Messaging.Client.Shell
|
||||
{
|
||||
/// <summary>
|
||||
/// When application language is updated.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Shell
|
||||
namespace Wino.Messaging.Client.Shell
|
||||
{
|
||||
public class MailtoProtocolMessageRequested { }
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Messages.Client.Shell
|
||||
namespace Wino.Messaging.Client.Shell
|
||||
{
|
||||
/// <summary>
|
||||
/// When navigation pane mode is changed.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Wino.Messages.Client.Shell
|
||||
namespace Wino.Messaging.Client.Shell
|
||||
{
|
||||
/// <summary>
|
||||
/// When reading mail state or reader pane narrowed state is changed.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Messages.Client.Synchronization
|
||||
namespace Wino.Messaging.Client.Synchronization
|
||||
{
|
||||
public record AccountSynchronizationCompleted(Guid AccountId, SynchronizationCompletedState Result, Guid? SynchronizationTrackingId);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Client.Synchronization
|
||||
namespace Wino.Messaging.Client.Synchronization
|
||||
{
|
||||
/// <summary>
|
||||
/// Emitted when synchronizer state is updated.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Wino.Core.Domain.Models.Synchronization;
|
||||
|
||||
namespace Wino.Messages.Client.Synchronization
|
||||
namespace Wino.Messaging.Client.Synchronization
|
||||
{
|
||||
/// <summary>
|
||||
/// Triggers a new synchronization if possible.
|
||||
|
||||
8
Wino.Messages/Enums/MessageType.cs
Normal file
8
Wino.Messages/Enums/MessageType.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Wino.Messaging.Enums
|
||||
{
|
||||
public enum MessageType
|
||||
{
|
||||
UIMessage, // For database changes that needs to be reflected in the UI.
|
||||
ServerAction, //
|
||||
}
|
||||
}
|
||||
9
Wino.Messages/MessageConstants.cs
Normal file
9
Wino.Messages/MessageConstants.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Wino.Messaging
|
||||
{
|
||||
public static class MessageConstants
|
||||
{
|
||||
public const string MessageTypeKey = "MessageType";
|
||||
public const string MessageDataKey = "MessageData";
|
||||
public const string MessageDataTypeKey = "MessageDataType";
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record AccountCreatedMessage(MailAccount Account) : IServerMessage;
|
||||
public record AccountCreatedMessage(MailAccount Account) : ServerMessageBase<AccountCreatedMessage>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record AccountRemovedMessage(MailAccount Account) : IServerMessage;
|
||||
public record AccountRemovedMessage(MailAccount Account) : ServerMessageBase<AccountRemovedMessage>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record AccountUpdatedMessage(MailAccount Account) : IServerMessage;
|
||||
public record AccountUpdatedMessage(MailAccount Account) : ServerMessageBase<AccountUpdatedMessage>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record DraftCreated(MailCopy DraftMail, MailAccount Account) : IServerMessage;
|
||||
public record DraftCreated(MailCopy DraftMail, MailAccount Account) : ServerMessageBase<DraftCreated>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record DraftFailed(MailCopy DraftMail, MailAccount Account) : IServerMessage;
|
||||
public record DraftFailed(MailCopy DraftMail, MailAccount Account) : ServerMessageBase<DraftFailed>;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record DraftMapped(string LocalDraftCopyId, string RemoteDraftCopyId) : IServerMessage;
|
||||
public record DraftMapped(string LocalDraftCopyId, string RemoteDraftCopyId) : ServerMessageBase<DraftMapped>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record FolderRenamed(IMailItemFolder MailItemFolder) : IServerMessage;
|
||||
public record FolderRenamed(IMailItemFolder MailItemFolder) : ServerMessageBase<FolderRenamed>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record FolderSynchronizationEnabled(IMailItemFolder MailItemFolder) : IServerMessage;
|
||||
public record FolderSynchronizationEnabled(IMailItemFolder MailItemFolder) : ServerMessageBase<FolderSynchronizationEnabled>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record MailAddedMessage(MailCopy AddedMail) : IServerMessage;
|
||||
public record MailAddedMessage(MailCopy AddedMail) : ServerMessageBase<MailAddedMessage>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record MailDownloadedMessage(MailCopy DownloadedMail) : IServerMessage;
|
||||
public record MailDownloadedMessage(MailCopy DownloadedMail) : ServerMessageBase<MailDownloadedMessage>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record MailRemovedMessage(MailCopy RemovedMail) : IServerMessage;
|
||||
public record MailRemovedMessage(MailCopy RemovedMail) : ServerMessageBase<MailRemovedMessage>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record MailUpdatedMessage(MailCopy UpdatedMail) : IServerMessage;
|
||||
public record MailUpdatedMessage(MailCopy UpdatedMail) : ServerMessageBase<MailUpdatedMessage>;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messages.Server
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record MergedInboxRenamed(Guid MergedInboxId, string NewName) : IServerMessage;
|
||||
public record MergedInboxRenamed(Guid MergedInboxId, string NewName) : ServerMessageBase<MergedInboxRenamed>;
|
||||
}
|
||||
|
||||
6
Wino.Messages/Server/ServerMessageBase.cs
Normal file
6
Wino.Messages/Server/ServerMessageBase.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Messaging.Server
|
||||
{
|
||||
public record ServerMessageBase<T> : IServerMessage { }
|
||||
}
|
||||
@@ -14,6 +14,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user