void SensorCard::report(Args& args) { NowData nowData; CumulativeData dayData; CumulativeData yearData; CumulativeData totalData; deviceInfoReport(maximumFieldLabelWidth(), args); switch(args.getReportType()) { case Args::ReportTypeNow: getNowData(nowData); displayNowData(args, nowData); break; case Args::ReportTypeDay: getDayData(dayData); displayCumulativeData(args, "today", dayData); break; case Args::ReportTypeYear: getYearData(yearData); displayCumulativeData(args, "year", yearData); break; case Args::ReportTypeTotal: getTotalData(totalData); displayCumulativeData(args, "total", totalData); break; case Args::ReportTypeAll: getNowData(nowData); getDayData(dayData); getYearData(yearData); getTotalData(totalData); displayNowData(args, nowData); displayCumulativeData(args, "today", dayData); displayCumulativeData(args, "year", yearData); displayCumulativeData(args, "total", totalData); break; default: assert(0); } if (args.getDelimiter() != NULL) { printf("\n"); } }