| 327 | } |
| 328 | |
| 329 | void cTextReportViewer::OutputTextReport() //throw (eTextReportViewer); |
| 330 | { |
| 331 | ASSERT(mpOut != 0); |
| 332 | |
| 333 | InitOStream(); |
| 334 | |
| 335 | // |
| 336 | // count up total violations, max severity, etc. |
| 337 | // |
| 338 | GetReportNumbers(); |
| 339 | |
| 340 | // |
| 341 | // TODO: move this |
| 342 | // |
| 343 | if (SINGLE_LINE == mReportingLevel) |
| 344 | { |
| 345 | (*mpOut) << SingleLineReport() << endl; |
| 346 | } |
| 347 | else if (PARSEABLE == mReportingLevel) |
| 348 | { |
| 349 | OutputParseableReport(); |
| 350 | } |
| 351 | else if (SUMMARY_ONLY <= mReportingLevel) |
| 352 | { |
| 353 | // |
| 354 | // output header, just like it sez.... |
| 355 | // |
| 356 | OutputReportHeader(); |
| 357 | |
| 358 | // |
| 359 | // output summary info |
| 360 | // |
| 361 | OutputRulesSummary(); |
| 362 | |
| 363 | // |
| 364 | // print names of rule-breakers |
| 365 | // |
| 366 | // don't print out object summary if in CONCISE_REPORT because |
| 367 | // the detailed report will look a lot like the summary. |
| 368 | // |
| 369 | if (CONCISE_REPORT != mReportingLevel) |
| 370 | { |
| 371 | OutputObjectSummary(); |
| 372 | } |
| 373 | |
| 374 | if (CONCISE_REPORT <= mReportingLevel) |
| 375 | { |
| 376 | // |
| 377 | // print details of rule-breakers |
| 378 | // |
| 379 | OutputObjectDetails(); |
| 380 | } |
| 381 | |
| 382 | // |
| 383 | // output any errors |
| 384 | // |
| 385 | PrintErrors(); |
| 386 |
nothing calls this directly
no test coverage detected