diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-29 18:22:20 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-29 18:22:20 -0400 |
| commit | dca78b13411db96366dddfa0d68bb6d36d28ad14 (patch) | |
| tree | 7d41e670f1cadec0db9e1ed7115e151da891f7ea /Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs | |
| parent | 597e27d1c6199a40398abb068282711a9cb9db1b (diff) | |
rework dlna project
Diffstat (limited to 'Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs')
| -rw-r--r-- | Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs | 378 |
1 files changed, 378 insertions, 0 deletions
diff --git a/Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs b/Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs new file mode 100644 index 000000000..cd8119048 --- /dev/null +++ b/Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs @@ -0,0 +1,378 @@ +using MediaBrowser.Dlna.Common; +using System.Collections.Generic; + +namespace MediaBrowser.Dlna.ContentDirectory +{ + public class ServiceActionListBuilder + { + public IEnumerable<ServiceAction> GetActions() + { + var list = new List<ServiceAction> + { + GetSearchCapabilitiesAction(), + GetSortCapabilitiesAction(), + GetGetSystemUpdateIDAction(), + GetBrowseAction(), + GetSearchAction(), + GetX_GetFeatureListAction(), + GetXSetBookmarkAction(), + GetBrowseByLetterAction() + }; + + return list; + } + + private ServiceAction GetGetSystemUpdateIDAction() + { + var action = new ServiceAction + { + Name = "GetSystemUpdateID" + }; + + action.ArgumentList.Add(new Argument + { + Name = "Id", + Direction = "out", + RelatedStateVariable = "SystemUpdateID" + }); + + return action; + } + + private ServiceAction GetSearchCapabilitiesAction() + { + var action = new ServiceAction + { + Name = "GetSearchCapabilities" + }; + + action.ArgumentList.Add(new Argument + { + Name = "SearchCaps", + Direction = "out", + RelatedStateVariable = "SearchCapabilities" + }); + + return action; + } + + private ServiceAction GetSortCapabilitiesAction() + { + var action = new ServiceAction + { + Name = "GetSortCapabilities" + }; + + action.ArgumentList.Add(new Argument + { + Name = "SortCaps", + Direction = "out", + RelatedStateVariable = "SortCapabilities" + }); + + return action; + } + + private ServiceAction GetX_GetFeatureListAction() + { + var action = new ServiceAction + { + Name = "X_GetFeatureList" + }; + + action.ArgumentList.Add(new Argument + { + Name = "FeatureList", + Direction = "out", + RelatedStateVariable = "A_ARG_TYPE_Featurelist" + }); + + 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 + { + Name = "Browse" + }; + + 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 = "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 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 + { + Name = "X_SetBookmark" + }; + + action.ArgumentList.Add(new Argument + { + Name = "CategoryType", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_CategoryType" + }); + + action.ArgumentList.Add(new Argument + { + Name = "RID", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_RID" + }); + + action.ArgumentList.Add(new Argument + { + Name = "ObjectID", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_ObjectID" + }); + + action.ArgumentList.Add(new Argument + { + Name = "PosSecond", + Direction = "in", + RelatedStateVariable = "A_ARG_TYPE_PosSec" + }); + + return action; + } + } +} |
