blob: 37e1bc65b9737ba98b7918f14d62d9de142cb229 (
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
// 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.
// ============================================================
//
// CDebugLog.hpp
//
//
// Defines the CDebugLog class
//
// ============================================================
#ifndef __BINDER__C_DEBUG_LOG_HPP__
#define __BINDER__C_DEBUG_LOG_HPP__
#include "bindertypes.hpp"
#include "list.hpp"
#define FUSION_BIND_LOG_CATEGORY_DEFAULT 0
#define FUSION_BIND_LOG_CATEGORY_NGEN 1
#define FUSION_BIND_LOG_CATEGORY_MAX 2
namespace BINDER_SPACE
{
class CDebugLog
{
public:
CDebugLog();
~CDebugLog();
static HRESULT Create(/* in */ ApplicationContext *pApplicationContext,
/* in */ AssemblyName *pAssemblyName,
/* in */ SString &sCodeBase,
/* out */ CDebugLog **ppCDebugLog);
ULONG AddRef();
ULONG Release();
HRESULT SetResultCode(/* in */ DWORD dwLogCategory,
/* in */ HRESULT hrResult);
HRESULT LogMessage(/* in */ DWORD dwDetailLevel,
/* in */ DWORD dwLogCategory,
/* in */ SString &sDebugString);
HRESULT Flush(/* in */ DWORD dwDetailLevel,
/* in */ DWORD dwLogCategory);
protected:
HRESULT Init(/* in */ ApplicationContext *pApplicationContext,
/* in */ AssemblyName *pAssemblyName,
/* in */ SString &sCodeBase);
HRESULT LogHeader(/* in */ DWORD dwLogCategory);
HRESULT LogFooter(/* in */ DWORD dwLogCategory);
LONG m_cRef;
FileHandleHolder m_hLogFile;
List<SString> m_content[FUSION_BIND_LOG_CATEGORY_MAX];
SString m_applicationName;
SString m_logFileName;
HRESULT m_HrResult[FUSION_BIND_LOG_CATEGORY_MAX];
};
};
#endif
|