source: rtems-testing/rtems-coverage/TraceList.h @ b212961

4.11
Last change on this file since b212961 was b212961, checked in by Jennifer Averett <Jennifer.Averett@…>, on Apr 22, 2010 at 7:14:07 PM

2010-04-22 Jennifer Averett <Jennifer.Averett@…>

  • Property mode set to 100644
File size: 1.6 KB
Line 
1/*
2 *  $Id$
3 */
4
5/*! @file TraceList.h
6 *  @brief TraceList Specification
7 *
8 *  This file contains the specification of the TraceList class.
9 */
10
11#ifndef __TRACE_LIST_H__
12#define __TRACE_LIST_H__
13
14#include <stdint.h>
15#include <list>
16#include <string>
17
18namespace Trace {
19
20  /*! @class TraceList
21   *
22   *  This class defines XXX
23   */
24  class TraceList {
25
26  public:
27
28    typedef enum {
29      EXIT_REASON_BRANCH_TAKEN,
30      EXIT_REASON_BRANCH_NOT_TAKEN,
31      EXIT_REASON_OTHER
32    } exitReason_t;
33
34    /*!
35     *  This type defines the information kept for each range.
36     */
37    typedef struct {
38      uint32_t          lowAddress;
39      uint16_t          length;
40      exitReason_t      exitReason;
41    } traceRange_t;
42
43    /*!
44     *  This member variable contains a list of CoverageRange instances.
45     */
46    typedef std::list<traceRange_t> ranges_t;
47    ranges_t set;
48
49    /*!
50     *  This method constructs a TraceList instance.
51     */
52    TraceList();
53
54    /*!
55     *  This method destructs a TraceList instance.
56     */
57    ~TraceList();
58
59    /*!
60     *  This method adds a range entry to the set of ranges.
61     *
62     *  @param[in] lowAddressArg specifies the lowest address of the range
63     *  @param[in] highAddressArg specifies the highest address of the range
64     *  @param[in] why specifies the reason that the range was finished
65     *
66     */
67    void add(
68      uint32_t         lowAddressArg,
69      uint32_t         highAddressArg,
70      exitReason_t     why
71    );
72
73    /*!
74     *  This method iterates through set displaying the data on the screen.
75     */
76    void ShowList();
77
78  };
79
80}
81#endif
Note: See TracBrowser for help on using the repository browser.