ContentDirectoryXmlBuilder.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. #pragma warning disable CS1591
  2. using System.Collections.Generic;
  3. using Emby.Dlna.Common;
  4. using Emby.Dlna.Service;
  5. namespace Emby.Dlna.ContentDirectory
  6. {
  7. public class ContentDirectoryXmlBuilder
  8. {
  9. public string GetXml()
  10. {
  11. return new ServiceXmlBuilder().GetXml(
  12. new ServiceActionListBuilder().GetActions(),
  13. GetStateVariables());
  14. }
  15. private static IEnumerable<StateVariable> GetStateVariables()
  16. {
  17. var list = new List<StateVariable>();
  18. list.Add(new StateVariable
  19. {
  20. Name = "A_ARG_TYPE_Filter",
  21. DataType = "string",
  22. SendsEvents = false
  23. });
  24. list.Add(new StateVariable
  25. {
  26. Name = "A_ARG_TYPE_SortCriteria",
  27. DataType = "string",
  28. SendsEvents = false
  29. });
  30. list.Add(new StateVariable
  31. {
  32. Name = "A_ARG_TYPE_Index",
  33. DataType = "ui4",
  34. SendsEvents = false
  35. });
  36. list.Add(new StateVariable
  37. {
  38. Name = "A_ARG_TYPE_Count",
  39. DataType = "ui4",
  40. SendsEvents = false
  41. });
  42. list.Add(new StateVariable
  43. {
  44. Name = "A_ARG_TYPE_UpdateID",
  45. DataType = "ui4",
  46. SendsEvents = false
  47. });
  48. list.Add(new StateVariable
  49. {
  50. Name = "SearchCapabilities",
  51. DataType = "string",
  52. SendsEvents = false
  53. });
  54. list.Add(new StateVariable
  55. {
  56. Name = "SortCapabilities",
  57. DataType = "string",
  58. SendsEvents = false
  59. });
  60. list.Add(new StateVariable
  61. {
  62. Name = "SystemUpdateID",
  63. DataType = "ui4",
  64. SendsEvents = true
  65. });
  66. list.Add(new StateVariable
  67. {
  68. Name = "A_ARG_TYPE_SearchCriteria",
  69. DataType = "string",
  70. SendsEvents = false
  71. });
  72. list.Add(new StateVariable
  73. {
  74. Name = "A_ARG_TYPE_Result",
  75. DataType = "string",
  76. SendsEvents = false
  77. });
  78. list.Add(new StateVariable
  79. {
  80. Name = "A_ARG_TYPE_ObjectID",
  81. DataType = "string",
  82. SendsEvents = false
  83. });
  84. list.Add(new StateVariable
  85. {
  86. Name = "A_ARG_TYPE_BrowseFlag",
  87. DataType = "string",
  88. SendsEvents = false,
  89. AllowedValues = new[]
  90. {
  91. "BrowseMetadata",
  92. "BrowseDirectChildren"
  93. }
  94. });
  95. list.Add(new StateVariable
  96. {
  97. Name = "A_ARG_TYPE_BrowseLetter",
  98. DataType = "string",
  99. SendsEvents = false
  100. });
  101. list.Add(new StateVariable
  102. {
  103. Name = "A_ARG_TYPE_CategoryType",
  104. DataType = "ui4",
  105. SendsEvents = false
  106. });
  107. list.Add(new StateVariable
  108. {
  109. Name = "A_ARG_TYPE_RID",
  110. DataType = "ui4",
  111. SendsEvents = false
  112. });
  113. list.Add(new StateVariable
  114. {
  115. Name = "A_ARG_TYPE_PosSec",
  116. DataType = "ui4",
  117. SendsEvents = false
  118. });
  119. list.Add(new StateVariable
  120. {
  121. Name = "A_ARG_TYPE_Featurelist",
  122. DataType = "string",
  123. SendsEvents = false
  124. });
  125. return list;
  126. }
  127. }
  128. }