summaryrefslogtreecommitdiff
path: root/src/vm/context.h
blob: 3c746b647f811affcc16926a7300688bc9308692 (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
46
47
48
49
50
51
52
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.


#ifndef _H_CONTEXT_
#define _H_CONTEXT_

#include "specialstatics.h"
#include "fcall.h"

#ifdef FEATURE_COMINTEROP
class RCWCache;
#endif // FEATURE_COMINTEROP

typedef DPTR(class Context) PTR_Context;


// there will be only the default context for each appdomain
// and contexts will not be exposed to users (so there will be no managed Context class)

class Context
{
    PTR_AppDomain m_pDomain;

public:
#ifndef DACCESS_COMPILE
    Context(AppDomain *pDomain)
    {
        m_pDomain = pDomain;
    }
#endif

    PTR_AppDomain GetDomain()
    {
        LIMITED_METHOD_DAC_CONTRACT;
        return m_pDomain;
    }

    static void Initialize()
    {
    }

    typedef void (*ADCallBackFcnType)(LPVOID);

#ifdef DACCESS_COMPILE
    void EnumMemoryRegions(CLRDataEnumMemoryFlags flags);
#endif
};


#endif