1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4//
5
6
7#pragma once
8
9#ifdef FEATURE_APPX
10
11#include "clrtypes.h"
12#include "appmodel.h"
13
14#define PACKAGE_FILTER_CLR_DEFAULT (PACKAGE_FILTER_HEAD|PACKAGE_FILTER_DIRECT)
15
16
17typedef PACKAGE_INFO * PPACKAGE_INFO;
18typedef PACKAGE_INFO const * PCPACKAGE_INFO;
19
20//---------------------------------------------------------------------------------------------
21// Forward declarations
22template <typename T>
23class NewArrayHolder;
24BOOL WinRTSupported();
25
26
27namespace AppX
28{
29 // Returns true if process is immersive (or if running in mockup environment).
30 bool IsAppXProcess();
31
32 // On CoreCLR, the host is in charge of determining whether the process is AppX or not.
33 void SetIsAppXProcess(bool);
34
35#ifdef DACCESS_COMPILE
36 bool DacIsAppXProcess();
37#endif // DACCESS_COMPILE
38};
39
40
41#else // FEATURE_APPX
42
43namespace AppX
44{
45 inline bool IsAppXProcess()
46 {
47 return false;
48 }
49}
50
51#endif // FEATURE_APPX
52