コード例 #1
0
ファイル: ReportHandler.cs プロジェクト: 2thetop/OpenADR-VEN
        /**********************************************************/

        /// <summary>
        /// When a METADATA report is received, all reports must be implicitly cancelled
        /// Send a message to the UI to set all reports to complete
        /// </summary>
        public void handleMetadataReportReceived(ISendReport sendReport)
        {
            lock (this)
            {
                List <string> completedReports = new List <string>();

                foreach (ReportRequestWrapper reportRequestWrapper in m_reportRequests.Values)
                {
                    if (reportRequestWrapper.ReportRequest.reportSpecifier.reportSpecifierID != "METADATA")
                    {
                        sendReport.processCreateReportComplete(reportRequestWrapper.ReportRequestID);
                        completedReports.Add(reportRequestWrapper.ReportRequestID);
                    }
                }

                foreach (string reportRequestID in completedReports)
                {
                    m_reportRequests.Remove(reportRequestID);
                }
            }
        }
コード例 #2
0
ファイル: ReportHandler.cs プロジェクト: 2thetop/OpenADR-VEN
        /**********************************************************/

        public void generateUpdateReport(Dictionary <string, Interval> intervals, Dictionary <string, ReportWrapper> reports, ISendReport sendReport)
        {
            List <string> completedReports = new List <string>();

            lock (this)
            {
                foreach (ReportRequestWrapper reportRequestWrapper in m_reportRequests.Values)
                {
                    reportRequestWrapper.generateUpdateReport(intervals, reports, sendReport);

                    if (reportRequestWrapper.ReportComplete)
                    {
                        completedReports.Add(reportRequestWrapper.ReportRequestID);
                    }
                }

                foreach (string reportRequestID in completedReports)
                {
                    m_reportRequests.Remove(reportRequestID);
                    sendReport.processCreateReportComplete(reportRequestID);
                }
            }
        }