MediaReceiverRegistrarXmlBuilder.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System.Collections.Generic;
  2. using Emby.Dlna.Common;
  3. using Emby.Dlna.Service;
  4. using MediaBrowser.Model.Dlna;
  5. namespace Emby.Dlna.MediaReceiverRegistrar
  6. {
  7. /// <summary>
  8. /// Defines the <see cref="MediaReceiverRegistrarXmlBuilder" />.
  9. /// See https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-drmnd/5d37515e-7a63-4709-8258-8fd4e0ed4482.
  10. /// </summary>
  11. public static class MediaReceiverRegistrarXmlBuilder
  12. {
  13. /// <summary>
  14. /// Retrieves an XML description of the X_MS_MediaReceiverRegistrar.
  15. /// </summary>
  16. /// <returns>An XML representation of this service.</returns>
  17. public static string GetXml()
  18. {
  19. return new ServiceXmlBuilder().GetXml(ServiceActionListBuilder.GetActions(), GetStateVariables());
  20. }
  21. /// <summary>
  22. /// The a list of all the state variables for this invocation.
  23. /// </summary>
  24. /// <returns>The <see cref="IEnumerable{StateVariable}"/>.</returns>
  25. private static IEnumerable<StateVariable> GetStateVariables()
  26. {
  27. var list = new List<StateVariable>
  28. {
  29. new StateVariable
  30. {
  31. Name = "AuthorizationGrantedUpdateID",
  32. DataType = "ui4",
  33. SendsEvents = true
  34. },
  35. new StateVariable
  36. {
  37. Name = "A_ARG_TYPE_DeviceID",
  38. DataType = "string",
  39. SendsEvents = false
  40. },
  41. new StateVariable
  42. {
  43. Name = "AuthorizationDeniedUpdateID",
  44. DataType = "ui4",
  45. SendsEvents = true
  46. },
  47. new StateVariable
  48. {
  49. Name = "ValidationSucceededUpdateID",
  50. DataType = "ui4",
  51. SendsEvents = true
  52. },
  53. new StateVariable
  54. {
  55. Name = "A_ARG_TYPE_RegistrationRespMsg",
  56. DataType = "bin.base64",
  57. SendsEvents = false
  58. },
  59. new StateVariable
  60. {
  61. Name = "A_ARG_TYPE_RegistrationReqMsg",
  62. DataType = "bin.base64",
  63. SendsEvents = false
  64. },
  65. new StateVariable
  66. {
  67. Name = "ValidationRevokedUpdateID",
  68. DataType = "ui4",
  69. SendsEvents = true
  70. },
  71. new StateVariable
  72. {
  73. Name = "A_ARG_TYPE_Result",
  74. DataType = "int",
  75. SendsEvents = false
  76. }
  77. };
  78. return list;
  79. }
  80. }
  81. }