summaryrefslogtreecommitdiffstats
path: root/src/lib/kStuff/kProfiler2/kPrfReader.h
blob: 0cb168368708968e84ebfe45df12ad20f07bb193 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <string>

typedef

/**
 * Debug info cache.
 *
 * An objects of this class acts a frontend to the low-level
 * debug info readers.
 */
class kPrfDebugInfoCache
{
public:
    kPrfDebugInfoCache(unsigned cMaxModules = ~0U);
    ~kPrfDebugInfoCache();

    /** Resolves a symbol in a specific module. */
    int findSymbol();
    int findLine();
};

/**
 * Internal class which does the reader job behind the API / commandline tool.
 */
class kPrfReader
{
public:
    kPrfReader(const char *pszDataSetPath);
    ~kPrfReader();

    /** Analyses the data set. */
    int analyse(int fSomeOptionsIHaventFiguredOutYet);

    /** Writes the analysis report as HTML. */
    int reportAsHtml(FILE *pOut);

    /** Dumps the data set in a raw fashion to the specified file stream. */
    int dump(FILE *pOut);

protected:
    /** Pointer to the debug info cache object. */
    kPrfDebugInfoCache *pDbgCache;
};