public void LookupResource(FourCC programId, FourCC streamId, FourCC locale, ResourcesAPI.ResourceLookupCallback cb, object userContext) { ContentHandleRequest contentHandleRequest = new ContentHandleRequest(); contentHandleRequest.SetProgramId(programId.GetValue()); contentHandleRequest.SetStreamId(streamId.GetValue()); contentHandleRequest.SetLocale(locale.GetValue()); if (contentHandleRequest == null || !contentHandleRequest.IsInitialized) { base.ApiLog.LogWarning("Unable to create request for RPC call."); return; } RPCContext rPCContext = this.m_rpcConnection.QueueRequest(this.m_resourcesService.Id, 1u, contentHandleRequest, new RPCContextDelegate(this.GetContentHandleCallback), 0u); ResourcesAPIPendingState resourcesAPIPendingState = new ResourcesAPIPendingState(); resourcesAPIPendingState.Callback = cb; resourcesAPIPendingState.UserContext = userContext; this.m_pendingLookups.Add(rPCContext.Header.Token, resourcesAPIPendingState); base.ApiLog.LogDebug("Lookup request sent. PID={0} StreamID={1} Locale={2}", new object[] { programId, streamId, locale }); }
public override void GetContentHandle(IRpcController controller, ContentHandleRequest request, Action<ContentHandle> done) { Logger.Trace("GetContentHandle()"); //Beta this returns status 4, no payload throw new NotImplementedException(); }
public void LookupResource(FourCC programId, FourCC streamId, FourCC locale, ResourceLookupCallback cb, object userContext) { ContentHandleRequest message = new ContentHandleRequest(); message.SetProgramId(programId.GetValue()); message.SetStreamId(streamId.GetValue()); message.SetLocale(locale.GetValue()); if ((message == null) || !message.IsInitialized) { base.ApiLog.LogWarning("Unable to create request for RPC call."); } else { RPCContext context = base.m_rpcConnection.QueueRequest(this.m_resourcesService.Id, 1, message, new RPCContextDelegate(this.GetContentHandleCallback), 0); ResourcesAPIPendingState state = new ResourcesAPIPendingState { Callback = cb, UserContext = userContext }; this.m_pendingLookups.Add(context.Header.Token, state); object[] args = new object[] { programId, streamId, locale }; base.ApiLog.LogDebug("Lookup request sent. PID={0} StreamID={1} Locale={2}", args); } }