diff options
Diffstat (limited to 'MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs')
| -rw-r--r-- | MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs | 171 |
1 files changed, 170 insertions, 1 deletions
diff --git a/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs b/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs index 90685cc7d..71f841b04 100644 --- a/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs +++ b/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs @@ -12,9 +12,11 @@ namespace MediaBrowser.Dlna.Server GetGetSystemUpdateIDAction(), GetSearchCapabilitiesAction(), GetSortCapabilitiesAction(), + GetSearchAction(), GetBrowseAction(), GetX_GetFeatureListAction(), - GetXSetBookmarkAction() + GetXSetBookmarkAction(), + GetBrowseByLetterAction() }; return list; @@ -88,6 +90,86 @@ namespace MediaBrowser.Dlna.Server return action; } + private ServiceAction GetSearchAction() + { + var action = new ServiceAction + { + Name = "Search" + }; + + action.ArgumentList.Add(new Argument + { + Name = "ContainerID", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_ObjectID" + }); + + action.ArgumentList.Add(new Argument + { + Name = "SearchCriteria", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_SearchCriteria" + }); + + action.ArgumentList.Add(new Argument + { + Name = "Filter", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_Filter" + }); + + action.ArgumentList.Add(new Argument + { + Name = "StartingIndex", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_Index" + }); + + action.ArgumentList.Add(new Argument + { + Name = "RequestedCount", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_Count" + }); + + action.ArgumentList.Add(new Argument + { + Name = "SortCriteria", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_SortCriteria" + }); + + action.ArgumentList.Add(new Argument + { + Name = "Result", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Result" + }); + + action.ArgumentList.Add(new Argument + { + Name = "NumberReturned", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Count" + }); + + action.ArgumentList.Add(new Argument + { + Name = "TotalMatches", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Count" + }); + + action.ArgumentList.Add(new Argument + { + Name = "UpdateID", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_UpdateID" + }); + + return action; + } + private ServiceAction GetBrowseAction() { var action = new ServiceAction @@ -168,6 +250,93 @@ namespace MediaBrowser.Dlna.Server return action; } + private ServiceAction GetBrowseByLetterAction() + { + var action = new ServiceAction + { + Name = "X_BrowseByLetter" + }; + + action.ArgumentList.Add(new Argument + { + Name = "ObjectID", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_ObjectID" + }); + + action.ArgumentList.Add(new Argument + { + Name = "BrowseFlag", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_BrowseFlag" + }); + + action.ArgumentList.Add(new Argument + { + Name = "Filter", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_Filter" + }); + + action.ArgumentList.Add(new Argument + { + Name = "StartingLetter", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_BrowseLetter" + }); + + action.ArgumentList.Add(new Argument + { + Name = "RequestedCount", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_Count" + }); + + action.ArgumentList.Add(new Argument + { + Name = "SortCriteria", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_SortCriteria" + }); + + action.ArgumentList.Add(new Argument + { + Name = "Result", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Result" + }); + + action.ArgumentList.Add(new Argument + { + Name = "NumberReturned", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Count" + }); + + action.ArgumentList.Add(new Argument + { + Name = "TotalMatches", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Count" + }); + + action.ArgumentList.Add(new Argument + { + Name = "UpdateID", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_UpdateID" + }); + + action.ArgumentList.Add(new Argument + { + Name = "StartingIndex", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Index" + }); + + return action; + } + private ServiceAction GetXSetBookmarkAction() { var action = new ServiceAction |
