ServiceActionListBuilder.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. #pragma warning disable CS1591
  2. #pragma warning disable SA1600
  3. using System.Collections.Generic;
  4. using Emby.Dlna.Common;
  5. namespace Emby.Dlna.ContentDirectory
  6. {
  7. public class ServiceActionListBuilder
  8. {
  9. public IEnumerable<ServiceAction> GetActions()
  10. {
  11. return new[]
  12. {
  13. GetSearchCapabilitiesAction(),
  14. GetSortCapabilitiesAction(),
  15. GetGetSystemUpdateIDAction(),
  16. GetBrowseAction(),
  17. GetSearchAction(),
  18. GetX_GetFeatureListAction(),
  19. GetXSetBookmarkAction(),
  20. GetBrowseByLetterAction()
  21. };
  22. }
  23. private static ServiceAction GetGetSystemUpdateIDAction()
  24. {
  25. var action = new ServiceAction
  26. {
  27. Name = "GetSystemUpdateID"
  28. };
  29. action.ArgumentList.Add(new Argument
  30. {
  31. Name = "Id",
  32. Direction = "out",
  33. RelatedStateVariable = "SystemUpdateID"
  34. });
  35. return action;
  36. }
  37. private static ServiceAction GetSearchCapabilitiesAction()
  38. {
  39. var action = new ServiceAction
  40. {
  41. Name = "GetSearchCapabilities"
  42. };
  43. action.ArgumentList.Add(new Argument
  44. {
  45. Name = "SearchCaps",
  46. Direction = "out",
  47. RelatedStateVariable = "SearchCapabilities"
  48. });
  49. return action;
  50. }
  51. private static ServiceAction GetSortCapabilitiesAction()
  52. {
  53. var action = new ServiceAction
  54. {
  55. Name = "GetSortCapabilities"
  56. };
  57. action.ArgumentList.Add(new Argument
  58. {
  59. Name = "SortCaps",
  60. Direction = "out",
  61. RelatedStateVariable = "SortCapabilities"
  62. });
  63. return action;
  64. }
  65. private static ServiceAction GetX_GetFeatureListAction()
  66. {
  67. var action = new ServiceAction
  68. {
  69. Name = "X_GetFeatureList"
  70. };
  71. action.ArgumentList.Add(new Argument
  72. {
  73. Name = "FeatureList",
  74. Direction = "out",
  75. RelatedStateVariable = "A_ARG_TYPE_Featurelist"
  76. });
  77. return action;
  78. }
  79. private static ServiceAction GetSearchAction()
  80. {
  81. var action = new ServiceAction
  82. {
  83. Name = "Search"
  84. };
  85. action.ArgumentList.Add(new Argument
  86. {
  87. Name = "ContainerID",
  88. Direction = "in",
  89. RelatedStateVariable = "A_ARG_TYPE_ObjectID"
  90. });
  91. action.ArgumentList.Add(new Argument
  92. {
  93. Name = "SearchCriteria",
  94. Direction = "in",
  95. RelatedStateVariable = "A_ARG_TYPE_SearchCriteria"
  96. });
  97. action.ArgumentList.Add(new Argument
  98. {
  99. Name = "Filter",
  100. Direction = "in",
  101. RelatedStateVariable = "A_ARG_TYPE_Filter"
  102. });
  103. action.ArgumentList.Add(new Argument
  104. {
  105. Name = "StartingIndex",
  106. Direction = "in",
  107. RelatedStateVariable = "A_ARG_TYPE_Index"
  108. });
  109. action.ArgumentList.Add(new Argument
  110. {
  111. Name = "RequestedCount",
  112. Direction = "in",
  113. RelatedStateVariable = "A_ARG_TYPE_Count"
  114. });
  115. action.ArgumentList.Add(new Argument
  116. {
  117. Name = "SortCriteria",
  118. Direction = "in",
  119. RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
  120. });
  121. action.ArgumentList.Add(new Argument
  122. {
  123. Name = "Result",
  124. Direction = "out",
  125. RelatedStateVariable = "A_ARG_TYPE_Result"
  126. });
  127. action.ArgumentList.Add(new Argument
  128. {
  129. Name = "NumberReturned",
  130. Direction = "out",
  131. RelatedStateVariable = "A_ARG_TYPE_Count"
  132. });
  133. action.ArgumentList.Add(new Argument
  134. {
  135. Name = "TotalMatches",
  136. Direction = "out",
  137. RelatedStateVariable = "A_ARG_TYPE_Count"
  138. });
  139. action.ArgumentList.Add(new Argument
  140. {
  141. Name = "UpdateID",
  142. Direction = "out",
  143. RelatedStateVariable = "A_ARG_TYPE_UpdateID"
  144. });
  145. return action;
  146. }
  147. private ServiceAction GetBrowseAction()
  148. {
  149. var action = new ServiceAction
  150. {
  151. Name = "Browse"
  152. };
  153. action.ArgumentList.Add(new Argument
  154. {
  155. Name = "ObjectID",
  156. Direction = "in",
  157. RelatedStateVariable = "A_ARG_TYPE_ObjectID"
  158. });
  159. action.ArgumentList.Add(new Argument
  160. {
  161. Name = "BrowseFlag",
  162. Direction = "in",
  163. RelatedStateVariable = "A_ARG_TYPE_BrowseFlag"
  164. });
  165. action.ArgumentList.Add(new Argument
  166. {
  167. Name = "Filter",
  168. Direction = "in",
  169. RelatedStateVariable = "A_ARG_TYPE_Filter"
  170. });
  171. action.ArgumentList.Add(new Argument
  172. {
  173. Name = "StartingIndex",
  174. Direction = "in",
  175. RelatedStateVariable = "A_ARG_TYPE_Index"
  176. });
  177. action.ArgumentList.Add(new Argument
  178. {
  179. Name = "RequestedCount",
  180. Direction = "in",
  181. RelatedStateVariable = "A_ARG_TYPE_Count"
  182. });
  183. action.ArgumentList.Add(new Argument
  184. {
  185. Name = "SortCriteria",
  186. Direction = "in",
  187. RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
  188. });
  189. action.ArgumentList.Add(new Argument
  190. {
  191. Name = "Result",
  192. Direction = "out",
  193. RelatedStateVariable = "A_ARG_TYPE_Result"
  194. });
  195. action.ArgumentList.Add(new Argument
  196. {
  197. Name = "NumberReturned",
  198. Direction = "out",
  199. RelatedStateVariable = "A_ARG_TYPE_Count"
  200. });
  201. action.ArgumentList.Add(new Argument
  202. {
  203. Name = "TotalMatches",
  204. Direction = "out",
  205. RelatedStateVariable = "A_ARG_TYPE_Count"
  206. });
  207. action.ArgumentList.Add(new Argument
  208. {
  209. Name = "UpdateID",
  210. Direction = "out",
  211. RelatedStateVariable = "A_ARG_TYPE_UpdateID"
  212. });
  213. return action;
  214. }
  215. private ServiceAction GetBrowseByLetterAction()
  216. {
  217. var action = new ServiceAction
  218. {
  219. Name = "X_BrowseByLetter"
  220. };
  221. action.ArgumentList.Add(new Argument
  222. {
  223. Name = "ObjectID",
  224. Direction = "in",
  225. RelatedStateVariable = "A_ARG_TYPE_ObjectID"
  226. });
  227. action.ArgumentList.Add(new Argument
  228. {
  229. Name = "BrowseFlag",
  230. Direction = "in",
  231. RelatedStateVariable = "A_ARG_TYPE_BrowseFlag"
  232. });
  233. action.ArgumentList.Add(new Argument
  234. {
  235. Name = "Filter",
  236. Direction = "in",
  237. RelatedStateVariable = "A_ARG_TYPE_Filter"
  238. });
  239. action.ArgumentList.Add(new Argument
  240. {
  241. Name = "StartingLetter",
  242. Direction = "in",
  243. RelatedStateVariable = "A_ARG_TYPE_BrowseLetter"
  244. });
  245. action.ArgumentList.Add(new Argument
  246. {
  247. Name = "RequestedCount",
  248. Direction = "in",
  249. RelatedStateVariable = "A_ARG_TYPE_Count"
  250. });
  251. action.ArgumentList.Add(new Argument
  252. {
  253. Name = "SortCriteria",
  254. Direction = "in",
  255. RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
  256. });
  257. action.ArgumentList.Add(new Argument
  258. {
  259. Name = "Result",
  260. Direction = "out",
  261. RelatedStateVariable = "A_ARG_TYPE_Result"
  262. });
  263. action.ArgumentList.Add(new Argument
  264. {
  265. Name = "NumberReturned",
  266. Direction = "out",
  267. RelatedStateVariable = "A_ARG_TYPE_Count"
  268. });
  269. action.ArgumentList.Add(new Argument
  270. {
  271. Name = "TotalMatches",
  272. Direction = "out",
  273. RelatedStateVariable = "A_ARG_TYPE_Count"
  274. });
  275. action.ArgumentList.Add(new Argument
  276. {
  277. Name = "UpdateID",
  278. Direction = "out",
  279. RelatedStateVariable = "A_ARG_TYPE_UpdateID"
  280. });
  281. action.ArgumentList.Add(new Argument
  282. {
  283. Name = "StartingIndex",
  284. Direction = "out",
  285. RelatedStateVariable = "A_ARG_TYPE_Index"
  286. });
  287. return action;
  288. }
  289. private ServiceAction GetXSetBookmarkAction()
  290. {
  291. var action = new ServiceAction
  292. {
  293. Name = "X_SetBookmark"
  294. };
  295. action.ArgumentList.Add(new Argument
  296. {
  297. Name = "CategoryType",
  298. Direction = "in",
  299. RelatedStateVariable = "A_ARG_TYPE_CategoryType"
  300. });
  301. action.ArgumentList.Add(new Argument
  302. {
  303. Name = "RID",
  304. Direction = "in",
  305. RelatedStateVariable = "A_ARG_TYPE_RID"
  306. });
  307. action.ArgumentList.Add(new Argument
  308. {
  309. Name = "ObjectID",
  310. Direction = "in",
  311. RelatedStateVariable = "A_ARG_TYPE_ObjectID"
  312. });
  313. action.ArgumentList.Add(new Argument
  314. {
  315. Name = "PosSecond",
  316. Direction = "in",
  317. RelatedStateVariable = "A_ARG_TYPE_PosSec"
  318. });
  319. return action;
  320. }
  321. }
  322. }