Microsoft Information Protection (MIP) SDK for C++: Reference
1.15
Doxygen-generated documentation for MIP SDK written in C++
Loading...
Searching...
No Matches
diagnostic_delegate.h
Go to the documentation of this file.
1
/*
2
*
3
* Copyright (c) Microsoft Corporation.
4
* All rights reserved.
5
*
6
* This code is licensed under the MIT License.
7
*
8
* Permission is hereby granted, free of charge, to any person obtaining a copy
9
* of this software and associated documentation files(the "Software"), to deal
10
* in the Software without restriction, including without limitation the rights
11
* to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
12
* copies of the Software, and to permit persons to whom the Software is
13
* furnished to do so, subject to the following conditions :
14
*
15
* The above copyright notice and this permission notice shall be included in
16
* all copies or substantial portions of the Software.
17
*
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
21
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
* THE SOFTWARE.
25
*
26
*/
27
/**
28
* @brief A file containing the DiagnosticDelegate class to be used to override MIP audit/telemetry
29
*
30
* @file diagnostic_delegate.h
31
*/
32
33
#ifndef API_MIP_DIAGNOSTIC_DELEGATE_H_
34
#define API_MIP_DIAGNOSTIC_DELEGATE_H_
35
36
#include <memory>
37
38
#include "
mip/event_context.h
"
39
#include "
mip/mip_namespace.h
"
40
41
MIP_NAMESPACE_BEGIN
42
43
/**
44
* @brief A class that defines the interface to the MIP SDK audit/telemetry notifications.
45
*/
46
template
<
class
T>
47
class
DiagnosticDelegate
{
48
public
:
49
50
/**
51
* @brief Log a diagnostic event
52
*
53
* @param event Event to be logged
54
*/
55
virtual
void
WriteEvent
(
56
const
std::shared_ptr<T>& event) = 0;
57
58
/**
59
* @brief Log a diagnostic event
60
*
61
* @param event Event to be logged
62
* @param eventContext EventContext associated with event
63
*/
64
virtual
void
WriteEvent
(
65
const
std::shared_ptr<T>& event,
66
const
mip::EventContext& eventContext) = 0;
67
68
/**
69
* @brief Flush any queued events (e.g. due to shutdown)
70
*/
71
virtual
void
Flush
() = 0;
72
73
/** @cond DOXYGEN_HIDE */
74
virtual
~DiagnosticDelegate
() {}
75
protected
:
76
DiagnosticDelegate
() {}
77
/** @endcond */
78
};
79
80
MIP_NAMESPACE_END
81
82
#endif
// API_MIP_DIAGNOSTIC_DELEGATE_H_
DiagnosticDelegate
A class that defines the interface to the MIP SDK audit/telemetry notifications.
Definition
diagnostic_delegate.h:47
DiagnosticDelegate::WriteEvent
virtual void WriteEvent(const std::shared_ptr< T > &event)=0
Log a diagnostic event.
DiagnosticDelegate::Flush
virtual void Flush()=0
Flush any queued events (e.g.
DiagnosticDelegate::WriteEvent
virtual void WriteEvent(const std::shared_ptr< T > &event, const mip::EventContext &eventContext)=0
Log a diagnostic event.
event_context.h
A file containing the EventContext class which describes a single audit/telemetry event context.
mip_namespace.h
MIP namespace macros.
src
api
mip
diagnostic_delegate.h
Generated by
1.12.0