-
Notifications
You must be signed in to change notification settings - Fork 141
Expand file tree
/
Copy pathReferenceCounter.cpp
More file actions
45 lines (42 loc) · 1.18 KB
/
ReferenceCounter.cpp
File metadata and controls
45 lines (42 loc) · 1.18 KB
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 "stdafx.h"
#include "ReferenceCounter.h"
// ********************************************************
// WriteReport()
// ********************************************************
void ReferenceCounter::WriteReport(bool unreleasedOnly)
{
CString s = GetReport(unreleasedOnly);
Debug::WriteLine(s);
Debug::WriteLine("-------------------------");
}
// ********************************************************
// GetReport()
// ********************************************************
CString ReferenceCounter::GetReport(bool unreleasedOnly)
{
CString s, temp;
s += unreleasedOnly ? "UNRELEASED COM REFERENCES:\n": "COM REFERENCES (unreleased/allocated):\n";
for(int i = 0; i < INTERFACES_COUNT; i++)
{
if (unreleasedOnly)
{
if (referenceCounts[i] != 0)
{
temp.Format("Class %s: %d\n", ComHelper::GetInterfaceName((tkInterface)i), referenceCounts[i]);
s += temp;
}
}
else
{
if (totalCounts[i] != 0)
{
temp.Format("Class %s: %d/%d\n", ComHelper::GetInterfaceName((tkInterface)i), referenceCounts[i], totalCounts[i]);
s += temp;
}
}
}
if (temp.GetLength() == 0) {
s += "<none>";
}
return s;
}