ServiceActionListBuilder.cs 10 KB

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