[utils] Add check for ANDROID_UNIFIED_HEADERS to mono-compiler.h (#5742)
[mono.git] / mcs / class / referencesource / System.ServiceModel.Channels / TD.Designer.cs
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 //     This code was generated by a tool.
4 //
5 //     Changes to this file may cause incorrect behavior and will be lost if
6 //     the code is regenerated.
7 // </auto-generated>
8 //------------------------------------------------------------------------------
9
10 namespace System.ServiceModel.Channels
11 {
12     using System.Runtime;
13     using System.Runtime.Diagnostics;
14     using System.Security;
15     
16     
17     internal partial class TD
18     {
19         
20         static System.Resources.ResourceManager resourceManager;
21         
22         static System.Globalization.CultureInfo resourceCulture;
23         
24         [System.Security.SecurityCriticalAttribute()]
25         static System.Runtime.Diagnostics.EventDescriptor[] eventDescriptors;
26         
27         static object syncLock = new object();
28         
29         // Double-checked locking pattern requires volatile for read/write synchronization
30         static volatile bool eventDescriptorsCreated;
31         
32         private TD()
33         {
34         }
35         
36         [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Justification="This is an auto-generated code, some ETW/TraceSource mixed code would use it.")]
37         static System.Resources.ResourceManager ResourceManager
38         {
39             get
40             {
41                 if (object.ReferenceEquals(resourceManager, null))
42                 {
43                     resourceManager = new System.Resources.ResourceManager("System.ServiceModel.Channels.TD", typeof(TD).Assembly);
44                 }
45                 return resourceManager;
46             }
47         }
48         
49         [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Justification="This template is shared across all assemblies, some of which use this accessor.")]
50         internal static System.Globalization.CultureInfo Culture
51         {
52             get
53             {
54                 return resourceCulture;
55             }
56             set
57             {
58                 resourceCulture = value;
59             }
60         }
61         
62         /// <summary>
63         /// Check if trace definition is enabled
64         /// Event description ID=4800, Level=Warning, Channel=debug
65         /// </summary>
66         internal static bool MaxPendingMessagesTotalSizeReachedIsEnabled()
67         {
68             return (FxTrace.ShouldTraceWarning 
69                         && (FxTrace.ShouldTraceWarningToTraceSource || TD.IsEtwEventEnabled(0)));
70         }
71         
72         /// <summary>
73         /// Gets trace definition like: Message {0}was dropped, because pending messages total size limit ({1}) was exceeded. Use {2}.MaxPendingMessagesTotalSize to adjust the pending message limit.
74         /// Event description ID=4800, Level=Warning, Channel=debug
75         /// </summary>
76         /// <param name="eventTraceActivity">The event trace activity</param>
77         /// <param name="messageID">Parameter 0 for event: Message {0}was dropped, because pending messages total size limit ({1}) was exceeded. Use {2}.MaxPendingMessagesTotalSize to adjust the pending message limit.</param>
78         /// <param name="maxPendingMessagesTotalSize">Parameter 1 for event: Message {0}was dropped, because pending messages total size limit ({1}) was exceeded. Use {2}.MaxPendingMessagesTotalSize to adjust the pending message limit.</param>
79         /// <param name="bindingElementTypeName">Parameter 2 for event: Message {0}was dropped, because pending messages total size limit ({1}) was exceeded. Use {2}.MaxPendingMessagesTotalSize to adjust the pending message limit.</param>
80         internal static void MaxPendingMessagesTotalSizeReached(System.Runtime.Diagnostics.EventTraceActivity eventTraceActivity, string messageID, long maxPendingMessagesTotalSize, string bindingElementTypeName)
81         {
82             TracePayload payload = FxTrace.Trace.GetSerializedPayload(null, null, null);
83             if (TD.IsEtwEventEnabled(0))
84             {
85                 TD.WriteEtwEvent(0, eventTraceActivity, messageID, maxPendingMessagesTotalSize, bindingElementTypeName, payload.AppDomainFriendlyName);
86             }
87             if (FxTrace.ShouldTraceWarningToTraceSource)
88             {
89                 string description = string.Format(Culture, ResourceManager.GetString("MaxPendingMessagesTotalSizeReached", Culture), messageID, maxPendingMessagesTotalSize, bindingElementTypeName);
90                 TD.WriteTraceSource(0, description, payload);
91             }
92         }
93         
94         /// <summary>
95         /// Check if trace definition is enabled
96         /// Event description ID=4801, Level=verbose, Channel=Debug
97         /// </summary>
98         internal static bool ByteStreamMessageDecodingStartIsEnabled()
99         {
100             return (FxTrace.ShouldTraceVerbose && TD.IsEtwEventEnabled(1));
101         }
102         
103         /// <summary>
104         /// Gets trace definition like: ByteStreamMessageEncoder started decoding the message.
105         /// Event description ID=4801, Level=verbose, Channel=Debug
106         /// </summary>
107         internal static void ByteStreamMessageDecodingStart()
108         {
109             TracePayload payload = FxTrace.Trace.GetSerializedPayload(null, null, null);
110             if (TD.IsEtwEventEnabled(1))
111             {
112                 TD.WriteEtwEvent(1, null, payload.AppDomainFriendlyName);
113             }
114         }
115         
116         /// <summary>
117         /// Check if trace definition is enabled
118         /// Event description ID=4802, Level=verbose, Channel=Debug
119         /// </summary>
120         internal static bool ByteStreamMessageEncodingStartIsEnabled()
121         {
122             return (FxTrace.ShouldTraceVerbose && TD.IsEtwEventEnabled(2));
123         }
124         
125         /// <summary>
126         /// Gets trace definition like: ByteStreamMessageEncoder started encoding the message.
127         /// Event description ID=4802, Level=verbose, Channel=Debug
128         /// </summary>
129         /// <param name="eventTraceActivity">The event trace activity</param>
130         internal static void ByteStreamMessageEncodingStart(System.Runtime.Diagnostics.EventTraceActivity eventTraceActivity)
131         {
132             TracePayload payload = FxTrace.Trace.GetSerializedPayload(null, null, null);
133             if (TD.IsEtwEventEnabled(2))
134             {
135                 TD.WriteEtwEvent(2, eventTraceActivity, payload.AppDomainFriendlyName);
136             }
137         }
138         
139         /// <summary>
140         /// Creates the event descriptors array
141         /// </summary>
142         // Critical = Sets the SecurityCritical member eventDescriptors
143         // Safe = We control what the event descriptors contain
144         [System.Security.SecuritySafeCriticalAttribute()]
145         static void CreateEventDescriptors()
146         {
147             System.Runtime.Diagnostics.EventDescriptor[] descriptors = new System.Runtime.Diagnostics.EventDescriptor[] {
148                     new System.Runtime.Diagnostics.EventDescriptor(4800, 0, (byte)TraceChannel.Debug, (byte)TraceEventLevel.Warning, (byte)TraceEventOpcode.Info, 0x0, 0x1000000000000000),
149                     new System.Runtime.Diagnostics.EventDescriptor(4801, 0, (byte)TraceChannel.Debug, (byte)TraceEventLevel.Verbose, (byte)TraceEventOpcode.Start, 0x9fb, 0x1000000000001000),
150                     new System.Runtime.Diagnostics.EventDescriptor(4802, 0, (byte)TraceChannel.Debug, (byte)TraceEventLevel.Verbose, (byte)TraceEventOpcode.Start, 0x9fb, 0x1000000000001000)};
151             ushort[] e2eEvents = new ushort[] {
152                     4800,
153                     4802};
154             FxTrace.UpdateEventDefinitions(descriptors, e2eEvents);
155             eventDescriptors = descriptors;
156         }
157         
158         /// <summary>
159         /// Ensures that the event descriptors array is initialized
160         /// </summary>
161         static void EnsureEventDescriptors()
162         {
163             if (eventDescriptorsCreated)
164             {
165                 return;
166             }
167             System.Threading.Monitor.Enter(syncLock);
168             try
169             {
170                 if (eventDescriptorsCreated)
171                 {
172                     return;
173                 }
174                 CreateEventDescriptors();
175                 eventDescriptorsCreated = true;
176             }
177             finally
178             {
179                 System.Threading.Monitor.Exit(syncLock);
180             }
181         }
182         
183         /// <summary>
184         /// Check if ETW tracing is enabled for the particular event
185         /// </summary>
186         /// <param name="eventIndex">The index of the event descriptor</param>
187         static bool IsEtwEventEnabled(int eventIndex)
188         {
189             if (FxTrace.Trace.IsEtwProviderEnabled)
190             {
191                 EnsureEventDescriptors();
192                 return FxTrace.IsEventEnabled(eventIndex);
193             }
194             return false;
195         }
196         
197         /// <summary>
198         /// Writes ETW trace event
199         ///</summary>
200         /// <param name="eventIndex">The index of the event descriptor</param>>
201         /// <param name="eventParam0">A parameter of the ETW event</param>>
202         /// <param name="eventParam1">A parameter of the ETW event</param>>
203         /// <param name="eventParam2">A parameter of the ETW event</param>>
204         /// <param name="eventParam3">A parameter of the ETW event</param>>
205         /// <param name="eventParam4">A parameter of the ETW event</param>>
206         // Critical = Calls SecurityCritical method EtwProvider.WriteEvent
207         // Safe = We only allow setting of provider id from SecurityCritical code, access to EventDescriptors is SecurityCritical, and ETW limits buffer sizes.
208         [System.Security.SecuritySafeCriticalAttribute()]
209         static bool WriteEtwEvent(int eventIndex, System.Runtime.Diagnostics.EventTraceActivity eventParam0, string eventParam1, long eventParam2, string eventParam3, string eventParam4)
210         {
211             EnsureEventDescriptors();
212             return FxTrace.Trace.EtwProvider.WriteEvent(ref eventDescriptors[eventIndex], eventParam0, eventParam1, eventParam2, eventParam3, eventParam4);
213         }
214         
215         /// <summary>
216         /// Writes ETW trace event
217         ///</summary>
218         /// <param name="eventIndex">The index of the event descriptor</param>>
219         /// <param name="eventParam0">A parameter of the ETW event</param>>
220         /// <param name="eventParam1">A parameter of the ETW event</param>>
221         // Critical = Calls SecurityCritical method EtwProvider.WriteEvent
222         // Safe = We only allow setting of provider id from SecurityCritical code, access to EventDescriptors is SecurityCritical, and ETW limits buffer sizes.
223         [System.Security.SecuritySafeCriticalAttribute()]
224         static bool WriteEtwEvent(int eventIndex, System.Runtime.Diagnostics.EventTraceActivity eventParam0, string eventParam1)
225         {
226             EnsureEventDescriptors();
227             return FxTrace.Trace.EtwProvider.WriteEvent(ref eventDescriptors[eventIndex], eventParam0, eventParam1);
228         }
229         
230         /// <summary>
231         /// write a trace source into the diagnostic trace
232         /// </summary>
233         /// <param name="eventIndex">The index of the event descriptor</param>
234         /// <param name="description">The description to write</param>
235         /// <param name="payload">The trace payload</param>
236         // Critical = Calls SecurityCritical method EtwDiagnosticTrace.WriteTraceSource
237         // Safe = We only allow setting of provider id from SecurityCritical code
238         [System.Security.SecuritySafeCriticalAttribute()]
239         static void WriteTraceSource(int eventIndex, string description, TracePayload payload)
240         {
241             EnsureEventDescriptors();
242             FxTrace.Trace.WriteTraceSource(ref eventDescriptors[eventIndex], description, payload);
243         }
244     }
245 }
246