/******************************************************************************/ // must hold the lock before calling this function private void displayReportRequest(oadrReportRequestType reportRequest) { tvReportRequestPayload.Nodes.Clear(); foreach (SpecifierPayloadType specifierPayload in reportRequest.reportSpecifier.specifierPayload) { TreeNode treeNode = new TreeNode("RID: " + specifierPayload.rID); tvReportRequestPayload.Nodes.Add(treeNode); treeNode.Nodes.Add("Reading Type: " + specifierPayload.readingType); } }
public void sendUpdateReport(oadrReportType report, oadrReportRequestType reportRequest) { UpdateReport request = new UpdateReport(); string requestBody = request.createUpdateReport("venID", "requestID", report, reportRequest.reportRequestID); Assert.IsTrue(request.request.oadrReport[0].intervals[0].streamPayloadBase.Length > 0); Console.Out.WriteLine(reportRequest.reportSpecifier.reportSpecifierID); Console.Out.WriteLine(requestBody); Console.Out.WriteLine(""); }
/**********************************************************************************/ public void sendUpdateReport(oadrReportType report, oadrReportRequestType reportRequest) { Thread thread = new Thread(delegate() { try { doSendUpdateReport(report, reportRequest); } catch (Exception ex) { m_callbacks.processException(ex); } }); thread.Start(); }
/**********************************************************************************/ private void doSendUpdateReport(oadrReportType report, oadrReportRequestType reportRequest) { UpdateReport updateReport; lock (m_ven) { updateReport = m_ven.updateReport(RandomHex.instance().generateRandomHex(10), report, reportRequest.reportRequestID); } m_callbacks.processUpdateReport(updateReport); // UpdatedReports can contain a CancelReport piggybacked message; process // the message if it exists // since the VTN is not expecting a cancelledReport response so we can't call processCancelReport(...) directly if (updateReport.response.oadrCancelReport != null) { // cancel the report request List <string> pendingReports = m_resources.addCancelReport(updateReport.response.oadrCancelReport); // call the callback to update the UI m_callbacks.processCancelReport(updateReport.response.oadrCancelReport); } }
/**********************************************************/ private void lstReportRequests_SelectedIndexChanged(object sender, EventArgs e) { MethodInvoker mi = new MethodInvoker(delegate { lock (this) { try { if (lstReportRequests.SelectedItems.Count == 0) { return; } ListViewItem lvi = lstReportRequests.SelectedItems[0]; oadrReportRequestType reportRequest = m_reportRequests[lvi.SubItems[IND_REPORT_REQUEST_ID].Text]; displayReportRequest(reportRequest); } catch (Exception ex) { Logger.logException(ex); } } }); // BeginInvoke only needs to be called if we're tyring to update the UI from // a thread that did not create it if (this.InvokeRequired) { this.BeginInvoke(mi); } else { mi.Invoke(); } }
static public oadrCreateReportType generateCreateReport(DateTime dtstartUTC, string reportRequestID, string telemetryStatusReportSpecifierID) { oadrCreateReportType createReport = new oadrCreateReportType(); createReport.schemaVersion = "2.0b"; createReport.requestID = "requestid"; createReport.venID = "venid"; oadrReportRequestType reportRequest = new oadrReportRequestType(); reportRequest.reportRequestID = reportRequestID; reportRequest.reportSpecifier = new ReportSpecifierType(); reportRequest.reportSpecifier.reportSpecifierID = telemetryStatusReportSpecifierID; reportRequest.reportSpecifier.granularity = new DurationPropType(); reportRequest.reportSpecifier.granularity.duration = "PT10S"; reportRequest.reportSpecifier.reportBackDuration = new DurationPropType(); reportRequest.reportSpecifier.reportBackDuration.duration = "PT1M"; reportRequest.reportSpecifier.reportInterval = new WsCalendarIntervalType(); reportRequest.reportSpecifier.reportInterval.properties = new properties(); reportRequest.reportSpecifier.reportInterval.properties.dtstart = new dtstart(); reportRequest.reportSpecifier.reportInterval.properties.dtstart.datetime = dtstartUTC; reportRequest.reportSpecifier.reportInterval.properties.duration = new DurationPropType(); reportRequest.reportSpecifier.reportInterval.properties.duration.duration = "PT5M"; reportRequest.reportSpecifier.specifierPayload = new SpecifierPayloadType[1]; reportRequest.reportSpecifier.specifierPayload[0] = new SpecifierPayloadType(); reportRequest.reportSpecifier.specifierPayload[0].rID = "resource1_status"; createReport.oadrReportRequest = new oadrReportRequestType[1]; createReport.oadrReportRequest[0] = reportRequest; return(createReport); }
/**********************************************************/ public ReportRequestWrapper(oadrReportRequestType reportRequest) { m_reportRequest = reportRequest; }