protected override bool HandleExpectedError(Exception ex) { TestLogger.LogImportantMessage("Enter LAAndReportResult.HandleExpectedError()"); if (string.IsNullOrEmpty(_strExpectedError)) { TestLogger.LogMessage("Setting error code to " + RequestConfigData.ExpectedLAErrorCode); _strExpectedError = RequestConfigData.ExpectedLAErrorCode; } bool bHandled = false; if (!string.IsNullOrEmpty(_strExpectedError)) { if (ex.Message.ToLower().Contains(_strExpectedError.ToLower())) { TestLogger.LogImportantMessage("'" + ex.Message + "' Contains " + _strExpectedError + " as expected"); bHandled = true; _reportResult(true, sampleDataItem); } } TestLogger.LogImportantMessage("Leave LAAndReportResult.HandleExpectedError()"); return(bHandled); }
public void MeteringReportProactively() { TestLogger.LogMessage("Enter Metering.MeteringReportProactively()"); try { TestLogger.LogMessage("Creating metering report service request..."); PlayReadyMeteringReportServiceRequest meteringRequest = new PlayReadyMeteringReportServiceRequest(); MeteringReportReactively(meteringRequest); } catch (Exception ex) { if (ex.HResult == ServiceRequest.MSPR_E_NEEDS_INDIVIDUALIZATION) { PlayReadyIndividualizationServiceRequest indivServiceRequest = new PlayReadyIndividualizationServiceRequest(); RequestChain requestChain = new RequestChain(indivServiceRequest); requestChain.FinishAndReportResult(new ReportResultDelegate(HandleIndivServiceRequest_Finished)); } else { TestLogger.LogImportantMessage("MeteringReportProactively failed:" + ex.HResult); } } TestLogger.LogMessage("Leave Metering.MeteringReportProactively()"); }
public void SecureStopProactively() { TestLogger.LogMessage("Enter SecureStop.SecureStopReportProactively()"); try { TestLogger.LogMessage("Creating SecureStop report service request..."); PlayReadySecureStopIterable secureStopIterable = new PlayReadySecureStopIterable(_SecureStopCert); PlayReadySecureStopServiceRequest SecureStopRequest = secureStopIterable.First() as PlayReadySecureStopServiceRequest; //PlayReadySecureStopServiceRequest SecureStopRequest = new PlayReadySecureStopServiceRequest(_SecureStopCert); SecureStopReactively(SecureStopRequest); } catch (Exception ex) { if (ex.HResult == ServiceRequest.MSPR_E_NEEDS_INDIVIDUALIZATION) { PlayReadyIndividualizationServiceRequest indivServiceRequest = new PlayReadyIndividualizationServiceRequest(); RequestChain requestChain = new RequestChain(indivServiceRequest); requestChain.FinishAndReportResult(new ReportResultDelegate(HandleIndivServiceRequest_Finished)); } else { TestLogger.LogImportantMessage("SecureStopProactively failed:" + ex.HResult); } } TestLogger.LogMessage("Leave SecureStop.SecureStopReportProactively()"); }
public void DomainJoinProactively() { TestLogger.LogMessage("Enter DomainJoin.DomainJoinProactively()"); try { PlayReadyDomainJoinServiceRequest domainJoinRequest = new PlayReadyDomainJoinServiceRequest(); domainJoinRequest.DomainServiceId = RequestConfigData.DomainServiceId; domainJoinRequest.DomainAccountId = RequestConfigData.DomainAccountId; domainJoinRequest.Uri = RequestConfigData.DomainUri; DomainJoinReactively(domainJoinRequest); } catch (Exception ex) { if (ex.HResult == ServiceRequest.MSPR_E_NEEDS_INDIVIDUALIZATION) { PlayReadyIndividualizationServiceRequest indivServiceRequest = new PlayReadyIndividualizationServiceRequest(); RequestChain requestChain = new RequestChain(indivServiceRequest); requestChain.FinishAndReportResult(new ReportResultDelegate(HandleIndivServiceRequest_Finished)); } else { TestLogger.LogImportantMessage("DomainJoinProactively failed:" + ex.HResult); } } TestLogger.LogMessage("Leave DomainJoin.DomainJoinProactively"); }
protected override void LAServiceRequestCompleted(IPlayReadyLicenseAcquisitionServiceRequest sender, Exception hrCompletionStatus) { TestLogger.LogMessage("Enter LAAndReportResult.LAServiceRequestCompleted()"); if (hrCompletionStatus == null) { TestLogger.LogImportantMessage("***License acquisition succeeded***"); _reportResult(true, sampleDataItem); } else { if (PerformEnablingActionIfRequested(hrCompletionStatus) || HandleExpectedError(hrCompletionStatus)) { TestLogger.LogMessage("Exception handled."); } else { TestLogger.LogError("LAServiceRequestCompleted ERROR: " + hrCompletionStatus.ToString()); TestLogger.LogError("hrCompletionStatus.HResult=" + hrCompletionStatus.HResult.ToString()); _reportResult(false, sampleDataItem); } } TestLogger.LogMessage("Leave LAAndReportResult.LAServiceRequestCompleted()"); }
protected virtual void MeteringServiceRequestCompleted(PlayReadyMeteringReportServiceRequest sender, Exception hrCompletionStatus) { TestLogger.LogImportantMessage("MeteringServiceRequestCompleted"); if (hrCompletionStatus != null) { TestLogger.LogError("MeteringServiceRequestCompleted failed with " + hrCompletionStatus.HResult); } }
async public void AcquireLicenseReactively(IPlayReadyLicenseAcquisitionServiceRequest licenseRequest) { TestLogger.LogImportantMessage("Enter LicenseAcquisition.AcquireLicenseReactively()"); Exception exception = null; try { _serviceRequest = licenseRequest; ConfigureServiceRequest(); SerivceRequestStatistics.IncLicenseAcquisitionCount(); TestLogger.LogMessage("ChallengeCustomData = " + licenseRequest.ChallengeCustomData); if (RequestConfigData.ManualEnabling) { TestLogger.LogMessage("Manually posting the request..."); HttpHelper httpHelper = new HttpHelper(licenseRequest); await httpHelper.GenerateChallengeAndProcessResponse(); } else { TestLogger.LogImportantMessage("Begin license acquisition service request..."); await licenseRequest.BeginServiceRequest(); } TestLogger.LogMessage("Post-LicenseAcquisition Values:"); TestLogger.LogMessage("DomainServiceId = " + licenseRequest.DomainServiceId.ToString()); DumpContentHeaderValues(licenseRequest.ContentHeader); } catch (Exception ex) { TestLogger.LogMessage("Saving exception.. " + ex.ToString()); exception = ex; } finally { if (exception == null) { TestLogger.LogMessage("ResponseCustomData = " + licenseRequest.ResponseCustomData); } LAServiceRequestCompleted(licenseRequest, exception); } TestLogger.LogImportantMessage("Leave LicenseAcquisition.AcquireLicenseReactively()"); }
async public void DomainJoinReactively(PlayReadyDomainJoinServiceRequest domainJoinRequest) { TestLogger.LogImportantMessage("Enter DomainJoin.DomainJoinReactively()"); Exception exception = null; try { _serviceRequest = domainJoinRequest; TestLogger.LogMessage("DomainJoinRequest values before challenge:"); DumpDomainJoinServiceRequest(domainJoinRequest); if (RequestConfigData.ManualEnabling) { TestLogger.LogMessage("Manually posting the request..."); HttpHelper httpHelper = new HttpHelper(domainJoinRequest); await httpHelper.GenerateChallengeAndProcessResponse(); } else { TestLogger.LogMessage("Begin domain join service request..."); await domainJoinRequest.BeginServiceRequest(); } } catch (Exception ex) { TestLogger.LogMessage("Saving exception.."); exception = ex; } finally { TestLogger.LogMessage("Post-DomainJoin Values:"); DumpDomainJoinServiceRequest(domainJoinRequest); if (exception == null) { TestLogger.LogMessage("ResponseCustomData = " + domainJoinRequest.ResponseCustomData); } DomainJoinServiceRequestCompleted(domainJoinRequest, exception); } TestLogger.LogImportantMessage("Leave DomainJoin.DomainJoinReactively()"); }
private void TestActionFinished(bool bResult, object context) { if (_meteringAndReportResult != null) { if (GlobalData.g_itemPage.bMeteringOrSecureStopButtonClicked == true) { TestLogger.LogMeteringData("MeterData(" + _meteringAndReportResult.PlayCount.ToString() + ")"); } } if (bResult) { TestLogger.LogImportantMessage("TestActionFinished successfully"); } else { TestLogger.LogError("TestActionFinished with error!!!"); } }
protected override void DomainLeaveServiceRequestCompleted(PlayReadyDomainLeaveServiceRequest sender, Exception hrCompletionStatus) { TestLogger.LogMessage("Enter DomainLeaveAndReportResult.DomainLeaveServiceRequestCompleted()"); if (hrCompletionStatus == null) { TestLogger.LogImportantMessage("***Domain Leave succeeded***"); _reportResult(true, null); } else { if (!PerformEnablingActionIfRequested(hrCompletionStatus)) { TestLogger.LogError("DomainLeaveServiceRequestCompleted ERROR: " + hrCompletionStatus.ToString()); _reportResult(false, null); } } TestLogger.LogMessage("Leave DomainLeaveAndReportResult.DomainLeaveServiceRequestCompleted()"); }
private void ProvactiveActionFinished(bool bResult, object resultContext) { SampleDataItem item = (SampleDataItem)resultContext; if (bResult) { TestLogger.LogImportantMessage("ActionFinished successfully"); } else { TestLogger.LogError("ActionFinished with error!!!"); return; } if (item.IsRootLicense == false && item.IsLDL == false && playbackContents != null) { playbackContents[item.PlayerIndex].Play(item.Content); } }
protected override void IndivServiceRequestCompleted(PlayReadyIndividualizationServiceRequest sender, Exception hrCompletionStatus) { TestLogger.LogMessage("Enter IndivAndReportResult.IndivServiceRequestCompleted()"); if (hrCompletionStatus == null) { TestLogger.LogImportantMessage("***Indiv succeeded***"); TestLogger.LogImportantMessage("PlayReady security version " + Windows.Media.Protection.PlayReady.PlayReadyStatics.PlayReadySecurityVersion); _reportResult(true, null); } else { //needed for LA revoke->Re-Indiv->LA sequence if (!PerformEnablingActionIfRequested(hrCompletionStatus)) { TestLogger.LogError("IndivServiceRequestCompleted ERROR: " + hrCompletionStatus.ToString()); _reportResult(false, null); } } TestLogger.LogMessage("Leave IndivAndReportResult.IndivServiceRequestCompleted()"); }
public void HandleRevocationProactively() { try { PlayReadyRevocationServiceRequest request = new PlayReadyRevocationServiceRequest(); HandleRevocationReactively(request); } catch (Exception ex) { if (ex.HResult == ServiceRequest.MSPR_E_NEEDS_INDIVIDUALIZATION) { PlayReadyIndividualizationServiceRequest indivServiceRequest = new PlayReadyIndividualizationServiceRequest(); RequestChain requestChain = new RequestChain(indivServiceRequest); requestChain.FinishAndReportResult(new ReportResultDelegate(HandleIndivServiceRequest_Finished)); } else { TestLogger.LogImportantMessage("HandleRevocationProactively failed:" + ex.HResult); } } }
static public void DumpContentHeaderValues(PlayReadyContentHeader contentHeader) { TestLogger.LogMessage(" "); TestLogger.LogImportantMessage("Content header values:"); if (contentHeader == null) { return; } TestLogger.LogMessage("CustomAttributes :" + contentHeader.CustomAttributes); TestLogger.LogMessage("DecryptorSetup :" + contentHeader.DecryptorSetup.ToString()); TestLogger.LogMessage("DomainServiceId :" + contentHeader.DomainServiceId.ToString()); TestLogger.LogMessage("EncryptionType :" + contentHeader.EncryptionType.ToString()); for (int i = 0; i < contentHeader.KeyIds.Length; i++) { TestLogger.LogImportantMessage("KeyId " + i + " :" + contentHeader.KeyIds[i].ToString()); TestLogger.LogImportantMessage("KeyIdString " + i + " :" + contentHeader.KeyIdStrings[i]); } if (contentHeader.LicenseAcquisitionUrl != null) { TestLogger.LogImportantMessage("LicenseAcquisitionUrl :" + contentHeader.LicenseAcquisitionUrl.ToString()); } }
async public void DomainLeaveReactively(PlayReadyDomainLeaveServiceRequest domainLeaveRequest) { TestLogger.LogImportantMessage("Enter DomainLeave.DomainLeaveReactively()"); Exception exception = null; try { _serviceRequest = domainLeaveRequest; domainLeaveRequest.DomainServiceId = RequestConfigData.DomainServiceId; domainLeaveRequest.DomainAccountId = RequestConfigData.DomainAccountId; domainLeaveRequest.Uri = RequestConfigData.DomainUri; if (RequestConfigData.ManualEnabling) { TestLogger.LogMessage("Manually posting the request..."); HttpHelper httpHelper = new HttpHelper(domainLeaveRequest); await httpHelper.GenerateChallengeAndProcessResponse(); } else { TestLogger.LogImportantMessage("Begin domain leave service request..."); await domainLeaveRequest.BeginServiceRequest(); } } catch (Exception ex) { TestLogger.LogImportantMessage("Saving exception.."); exception = ex; } finally { DomainLeaveServiceRequestCompleted(domainLeaveRequest, exception); } TestLogger.LogImportantMessage("Leave DomainLeave.DomainLeaveReactively()"); }
virtual protected void MediaEnded(object sender, RoutedEventArgs e) { UnhookEventHandlers(); TestLogger.LogMessage("MediaEnded: " + ((MediaElement)sender).Source); TestLogger.LogImportantMessage("Playback succeeded"); }