summaryrefslogtreecommitdiff
path: root/src/ToolBox/superpmi/superpmi-shared/mclist.h
blob: 93b287956906872ad7c55a7ca25ea606ba9eb35e (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
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//

//----------------------------------------------------------
// MCList.h - MethodContext List utility class
//----------------------------------------------------------
#ifndef _MCList
#define _MCList
#define MAXMCLFILESIZE 0xFFFFFF

class MCList
{
public:
    static bool processArgAsMCL(char *input, int *count, int **list);

    MCList()
    {
        //Initialize the static file handle
        hMCLFile = INVALID_HANDLE_VALUE;
    }

    //Methods to create an MCL file
    void InitializeMCL(char *filename);
    void AddMethodToMCL(int methodIndex);
    void CloseMCL();

private:
    static bool getLineData(const char *nameOfInput, /* OUT */ int *pIndexCount, /* OUT */ int **pIndexes);

    //File handle for MCL file
    HANDLE hMCLFile;
};
#endif