ContentDirectoryXmlBuilder.cs 3.8 KB

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