trace.cpp
 1  #include "pch.h"
 2  #include "trace.h"
 3  
 4  #include <common/Telemetry/TraceBase.h>
 5  
 6  // Telemetry strings should not be localized.
 7  #define LoggingProviderKey "Microsoft.PowerToys"
 8  
 9  #define EventEnableMouseWithoutBordersKey "MouseWithoutBorders_EnableMouseWithoutBorders"
10  #define EventEnabledKey "Enabled"
11  
12  TRACELOGGING_DEFINE_PROVIDER(
13      g_hProvider,
14      LoggingProviderKey,
15      // {38e8889b-9731-53f5-e901-e8a7c1753074}
16      (0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
17      TraceLoggingOptionProjectTelemetry());
18  
19  void Trace::MouseWithoutBorders::Enable(bool enabled) noexcept
20  {
21      TraceLoggingWriteWrapper(
22          g_hProvider,
23          EventEnableMouseWithoutBordersKey,
24          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
25          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
26          TraceLoggingBoolean(enabled, EventEnabledKey));
27  }
28  
29  void Trace::MouseWithoutBorders::ToggleServiceRegistration(bool enabled) noexcept
30  {
31      TraceLoggingWriteWrapper(
32          g_hProvider,
33          "MouseWithoutBorders_ToggleServiceRegistration",
34          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
35          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
36          TraceLoggingBoolean(enabled, EventEnabledKey));
37  }
38  
39  void Trace::MouseWithoutBorders::Activate() noexcept
40  {
41      TraceLoggingWriteWrapper(
42          g_hProvider,
43          "MouseWithoutBorders_Activate",
44          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
45          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
46  }
47  
48  // Log that the user tried to activate the editor
49  void Trace::MouseWithoutBorders::AddFirewallRule() noexcept
50  {
51      TraceLoggingWriteWrapper(
52          g_hProvider,
53          "MouseWithoutBorders_AddFirewallRule",
54          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
55          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
56  }