public async Task<IList<MediaItem>> SimpleTextSearch(string searchText, IEnumerable<Guid> necessaryMIATypes, IEnumerable<Guid> optionalMIATypes, IFilter filter, bool excludeCLOBs, bool onlyOnline, bool caseSensitive, Guid? userProfile, bool includeVirtual, uint? offset = null, uint? limit = null) { CpAction action = GetAction("X_MediaPortal_SimpleTextSearch"); String searchModeStr = SerializeExcludeClobs(excludeCLOBs); String onlineStateStr = SerializeOnlineState(onlyOnline); String capitalizationMode = SerializeCapitalizationMode(caseSensitive); IList<object> inParameters = new List<object> { searchText, MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes), filter, searchModeStr, onlineStateStr, capitalizationMode, userProfile.HasValue ? MarshallingHelper.SerializeGuid(userProfile.Value) : null, includeVirtual, offset, limit, }; IList<object> outParameters = await action.InvokeAsync(inParameters); return (IList<MediaItem>)outParameters[0]; }
public IList <MLQueryResultGroup> GroupValueGroups(MediaItemAspectMetadata.AttributeSpecification attributeType, IFilter selectAttributeFilter, ProjectionFunction projectionFunction, IEnumerable <Guid> necessaryMIATypes, IFilter filter, bool onlyOnline, GroupingFunction groupingFunction) { CpAction action = GetAction("GroupValueGroups"); string projectionFunctionStr = SerializeProjectionFunction(projectionFunction); string onlineStateStr = SerializeOnlineState(onlyOnline); string groupingFunctionStr; switch (groupingFunction) { case GroupingFunction.FirstCharacter: groupingFunctionStr = "FirstCharacter"; break; default: throw new NotImplementedException(string.Format("GroupingFunction '{0}' is not implemented", groupingFunction)); } IList <object> inParameters = new List <object> { MarshallingHelper.SerializeGuid(attributeType.ParentMIAM.AspectId), attributeType.AttributeName, selectAttributeFilter, projectionFunctionStr, MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), filter, onlineStateStr, groupingFunctionStr }; IList <object> outParameters = action.InvokeAction(inParameters); return((IList <MLQueryResultGroup>)outParameters[0]); }
public void ScheduleImports(IEnumerable <Guid> shareIds, ImportJobType importJobType) { CpAction action = GetAction("ScheduleImports"); IList <object> inParams = new List <object> { MarshallingHelper.SerializeGuidEnumerationToCsv(shareIds), importJobType == ImportJobType.Refresh ? "Refresh" : "Import" }; action.InvokeAction(inParams); }
public int CountMediaItems(IEnumerable <Guid> necessaryMIATypes, IFilter filter, bool onlyOnline) { CpAction action = GetAction("CountMediaItems"); string onlineStateStr = SerializeOnlineState(onlyOnline); IList <object> inParameters = new List <object> { MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), filter, onlineStateStr }; IList <object> outParameters = action.InvokeAction(inParameters); return((int)outParameters[0]); }
public async Task<MediaItem> LoadItemAsync(string systemId, Guid mediaItemId, IEnumerable<Guid> necessaryMIATypes, IEnumerable<Guid> optionalMIATypes, Guid? userProfile) { CpAction action = GetAction("X_MediaPortal_LoadItemId"); IList<object> inParameters = new List<object> {systemId, MarshallingHelper.SerializeGuid(mediaItemId), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes), userProfile.HasValue ? MarshallingHelper.SerializeGuid(userProfile.Value) : null }; IList<object> outParameters = await action.InvokeAsync(inParameters); return (MediaItem)outParameters[0]; }
public IList <MediaItem> LoadCustomPlaylist(IList <Guid> mediaItemIds, ICollection <Guid> necessaryMIATypes, ICollection <Guid> optionalMIATypes) { CpAction action = GetAction("LoadCustomPlaylist"); IList <object> inParameters = new List <object> { MarshallingHelper.SerializeGuidEnumerationToCsv(mediaItemIds), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes) }; IList <object> outParameters = action.InvokeAction(inParameters); return((IList <MediaItem>)outParameters[0]); }
public ICollection <MediaItem> Browse(Guid parentDirectory, IEnumerable <Guid> necessaryMIATypes, IEnumerable <Guid> optionalMIATypes) { CpAction action = GetAction("Browse"); IList <object> inParameters = new List <object> { MarshallingHelper.SerializeGuid(parentDirectory), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes) }; IList <object> outParameters = action.InvokeAction(inParameters); return((ICollection <MediaItem>)outParameters[0]); }
public MediaItem LoadItem(string systemId, ResourcePath path, IEnumerable <Guid> necessaryMIATypes, IEnumerable <Guid> optionalMIATypes) { CpAction action = GetAction("LoadItem"); IList <object> inParameters = new List <object> { systemId, path.Serialize(), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes) }; IList <object> outParameters = action.InvokeAction(inParameters); return((MediaItem)outParameters[0]); }
/// <summary> /// Load a playlist from a list of mediaItemIds. /// *** WARNING *** /// Big playlists cannot be loaded in one single step. We have several problems if we try to do so: /// 1) Loading the playlist at once at the server results in one huge SQL IN statement which might break the SQL engine /// 2) The time to load the playlist might lead the UPnP call to break because of the timeout when calling methods /// 3) The resulting UPnP XML document might be too big to fit into memory /// </summary> /// <param name="mediaItemIds"></param> /// <param name="necessaryMIATypes"></param> /// <param name="optionalMIATypes"></param> /// <param name="offset"></param> /// <param name="limit"></param> /// <returns></returns> public async Task<IList<MediaItem>> LoadCustomPlaylistAsync(IList<Guid> mediaItemIds, ICollection<Guid> necessaryMIATypes, ICollection<Guid> optionalMIATypes, uint? offset = null, uint? limit = null) { CpAction action = GetAction("X_MediaPortal_LoadCustomPlaylist"); IList<object> inParameters = new List<object> { MarshallingHelper.SerializeGuidEnumerationToCsv(mediaItemIds), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes), offset, limit}; IList<object> outParameters = await action.InvokeAsync(inParameters); return (IList<MediaItem>) outParameters[0]; }
public async Task<int> CountMediaItemsAsync(IEnumerable<Guid> necessaryMIATypes, IFilter filter, bool onlyOnline, bool includeVirtual) { CpAction action = GetAction("X_MediaPortal_CountMediaItems"); string onlineStateStr = SerializeOnlineState(onlyOnline); IList<object> inParameters = new List<object> { MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), filter, onlineStateStr, includeVirtual, }; IList<object> outParameters = await action.InvokeAsync(inParameters); return (int)(uint) outParameters[0]; }
public MediaItem LoadItem(string systemId, ResourcePath path, IEnumerable <Guid> necessaryMIATypes, IEnumerable <Guid> optionalMIATypes, Guid?userProfile) { CpAction action = GetAction("X_MediaPortal_LoadItem"); IList <object> inParameters = new List <object> { systemId, path.Serialize(), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes), userProfile.HasValue ? MarshallingHelper.SerializeGuid(userProfile.Value) : null }; IList <object> outParameters = action.InvokeAction(inParameters); return((MediaItem)outParameters[0]); }
public HomogenousMap GetValueGroups(MediaItemAspectMetadata.AttributeSpecification attributeType, IFilter selectAttributeFilter, ProjectionFunction projectionFunction, IEnumerable <Guid> necessaryMIATypes, IFilter filter, bool onlyOnline) { CpAction action = GetAction("GetValueGroups"); string projectionFunctionStr = SerializeProjectionFunction(projectionFunction); string onlineStateStr = SerializeOnlineState(onlyOnline); IList <object> inParameters = new List <object> { MarshallingHelper.SerializeGuid(attributeType.ParentMIAM.AspectId), attributeType.AttributeName, selectAttributeFilter, projectionFunctionStr, MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), filter, onlineStateStr }; IList <object> outParameters = action.InvokeAction(inParameters); return((HomogenousMap)outParameters[0]); }
public IList <MediaItem> SimpleTextSearch(string searchText, IEnumerable <Guid> necessaryMIATypes, IEnumerable <Guid> optionalMIATypes, IFilter filter, bool excludeCLOBs, bool onlyOnline, bool caseSensitive) { CpAction action = GetAction("SimpleTextSearch"); String searchModeStr = SerializeExcludeClobs(excludeCLOBs); String onlineStateStr = SerializeOnlineState(onlyOnline); String capitalizationMode = SerializeCapitalizationMode(caseSensitive); IList <object> inParameters = new List <object> { searchText, MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes), filter, searchModeStr, onlineStateStr, capitalizationMode }; IList <object> outParameters = action.InvokeAction(inParameters); return((IList <MediaItem>)outParameters[0]); }
public IList <MediaItem> Browse(Guid parentDirectory, IEnumerable <Guid> necessaryMIATypes, IEnumerable <Guid> optionalMIATypes, uint?offset = null, uint?limit = null) { CpAction action = GetAction("X_MediaPortal_Browse"); IList <object> inParameters = new List <object> { MarshallingHelper.SerializeGuid(parentDirectory), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes), offset, limit }; IList <object> outParameters = action.InvokeAction(inParameters); return((IList <MediaItem>)outParameters[0]); }
public async Task<IList<MediaItem>> BrowseAsync(Guid parentDirectoryId, IEnumerable<Guid> necessaryMIATypes, IEnumerable<Guid> optionalMIATypes, Guid? userProfile, bool includeVirtual, uint? offset = null, uint? limit = null) { CpAction action = GetAction("X_MediaPortal_Browse"); IList<object> inParameters = new List<object> { MarshallingHelper.SerializeGuid(parentDirectoryId), MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), MarshallingHelper.SerializeGuidEnumerationToCsv(optionalMIATypes), userProfile.HasValue ? MarshallingHelper.SerializeGuid(userProfile.Value) : null, includeVirtual, offset, limit, }; IList<object> outParameters = await action.InvokeAsync(inParameters); return (IList<MediaItem>)outParameters[0]; }
public async Task<Tuple<HomogenousMap, HomogenousMap>> GetKeyValueGroupsAsync(MediaItemAspectMetadata.AttributeSpecification keyAttributeType, MediaItemAspectMetadata.AttributeSpecification valueAttributeType, IFilter selectAttributeFilter, ProjectionFunction projectionFunction, IEnumerable<Guid> necessaryMIATypes, IFilter filter, bool onlyOnline, bool includeVirtual) { CpAction action = GetAction("X_MediaPortal_GetKeyValueGroups"); string projectionFunctionStr = SerializeProjectionFunction(projectionFunction); string onlineStateStr = SerializeOnlineState(onlyOnline); IList<object> inParameters = new List<object> { MarshallingHelper.SerializeGuid(keyAttributeType.ParentMIAM.AspectId), keyAttributeType.AttributeName, MarshallingHelper.SerializeGuid(valueAttributeType.ParentMIAM.AspectId), valueAttributeType.AttributeName, selectAttributeFilter, projectionFunctionStr, MarshallingHelper.SerializeGuidEnumerationToCsv(necessaryMIATypes), filter, onlineStateStr, includeVirtual, }; IList<object> outParameters = await action.InvokeAsync(inParameters); return new Tuple<HomogenousMap, HomogenousMap>((HomogenousMap)outParameters[0], (HomogenousMap)outParameters[1]); }