1
0

SharedFax.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using Robust.Shared.Serialization;
  2. namespace Content.Shared.Fax;
  3. [Serializable, NetSerializable]
  4. public enum FaxUiKey : byte
  5. {
  6. Key
  7. }
  8. [Serializable, NetSerializable]
  9. public sealed class FaxUiState : BoundUserInterfaceState
  10. {
  11. public string DeviceName { get; }
  12. public Dictionary<string, string> AvailablePeers { get; }
  13. public string? DestinationAddress { get; }
  14. public bool IsPaperInserted { get; }
  15. public bool CanSend { get; }
  16. public bool CanCopy { get; }
  17. public FaxUiState(string deviceName,
  18. Dictionary<string, string> peers,
  19. bool canSend,
  20. bool canCopy,
  21. bool isPaperInserted,
  22. string? destAddress)
  23. {
  24. DeviceName = deviceName;
  25. AvailablePeers = peers;
  26. IsPaperInserted = isPaperInserted;
  27. CanSend = canSend;
  28. CanCopy = canCopy;
  29. DestinationAddress = destAddress;
  30. }
  31. }
  32. [Serializable, NetSerializable]
  33. public sealed class FaxFileMessage : BoundUserInterfaceMessage
  34. {
  35. public string? Label;
  36. public string Content;
  37. public bool OfficePaper;
  38. public FaxFileMessage(string? label, string content, bool officePaper)
  39. {
  40. Label = label;
  41. Content = content;
  42. OfficePaper = officePaper;
  43. }
  44. }
  45. public static class FaxFileMessageValidation
  46. {
  47. public const int MaxLabelSize = 50; // parity with Content.Server.Labels.Components.HandLabelerComponent.MaxLabelChars
  48. public const int MaxContentSize = 10000;
  49. }
  50. [Serializable, NetSerializable]
  51. public sealed class FaxCopyMessage : BoundUserInterfaceMessage
  52. {
  53. }
  54. [Serializable, NetSerializable]
  55. public sealed class FaxSendMessage : BoundUserInterfaceMessage
  56. {
  57. }
  58. [Serializable, NetSerializable]
  59. public sealed class FaxRefreshMessage : BoundUserInterfaceMessage
  60. {
  61. }
  62. [Serializable, NetSerializable]
  63. public sealed class FaxDestinationMessage : BoundUserInterfaceMessage
  64. {
  65. public string Address { get; }
  66. public FaxDestinationMessage(string address)
  67. {
  68. Address = address;
  69. }
  70. }