Merge branch 'master'
[mono.git] / mcs / class / corlib / System.Diagnostics.Tracing / EventSource.cs
index cfa4bcaba5dee4234b25ccc87f9014f81cbe330f..a67571aa9a62682b298878d44699cc4cc2479f9c 100644 (file)
@@ -3,8 +3,10 @@
 //
 // Authors:
 //     Marek Safar  <marek.safar@gmail.com>
+//     Frederik Carlier <frederik.carlier@quamotion.mobi>
 //
 // Copyright (C) 2014 Xamarin Inc (http://www.xamarin.com)
+// Copyrithg (C) 2015 Quamotion (http://quamotion.mobi)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -26,7 +28,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_4_5
 
 namespace System.Diagnostics.Tracing
 {
@@ -34,12 +35,68 @@ namespace System.Diagnostics.Tracing
        {
                protected EventSource ()
                {
+                       this.Name = this.GetType().Name;
                }
 
                protected EventSource (bool throwOnEventWriteErrors)
+                       : this ()
                {
                }
 
+               protected EventSource (EventSourceSettings settings)
+                       : this ()
+               {
+                       this.Settings = settings;
+               }
+
+               protected EventSource (EventSourceSettings settings, params string[] traits)
+                       : this (settings)
+               {
+               }
+
+               public EventSource (string eventSourceName)
+               {
+                       this.Name = eventSourceName;
+               }
+
+               public EventSource (string eventSourceName, EventSourceSettings config)
+                       : this (eventSourceName)
+               {
+                       this.Settings = config;
+               }
+
+               public EventSource (string eventSourceName, EventSourceSettings config, params string[] traits)
+                       : this (eventSourceName, config)
+               {
+               }
+
+               public Exception ConstructionException
+               {
+                       get { return null; }
+               }
+
+               public static Guid CurrentThreadActivityId
+               {
+                       get { return Guid.Empty; }
+               }
+
+               public Guid Guid
+               {
+                       get { return Guid.Empty; }
+               }
+
+               public string Name
+               {
+                       get;
+                       private set;
+               }
+
+               public EventSourceSettings Settings
+               {
+                       get;
+                       private set;
+               }
+
                public bool IsEnabled ()
                {
                        return false;
@@ -50,35 +107,139 @@ namespace System.Diagnostics.Tracing
                        return false;
                }
 
+               public bool IsEnabled (EventLevel level, EventKeywords keywords, EventChannel channel)
+               {
+                       return false;
+               }
+
                public void Dispose ()
                {
                        Dispose (true);
                }
 
+               public string GetTrait (string key)
+               {
+                       return null;
+               }
+
+               public void Write (string eventName)
+               {
+               }
+
+#if NET_4_6
+               public void Write<T> (string eventName, T data)
+               {
+               }
+
+               public void Write<T> (string eventName, EventSourceOptions options, T data)
+               {
+               }
+
+               public void Write<T> (string eventName, ref EventSourceOptions options, ref T data)
+               {
+               }
+
+               public void Write<T> (string eventName, ref EventSourceOptions options, ref Guid activityId, ref Guid relatedActivityId, ref T data)
+               {
+               }
+#endif
+
                protected virtual void Dispose (bool disposing)
-               {                       
+               {
                }
 
                protected virtual void OnEventCommand (EventCommandEventArgs command)
                {
                }
 
+               protected void WriteEvent (int eventId)
+               {
+                       WriteEvent (eventId, new object[] { } );
+               }
+
+               protected void WriteEvent (int eventId, byte[] arg1)
+               {
+                       WriteEvent (eventId, new object[] { arg1 } );
+               }
+
+               protected void WriteEvent (int eventId, int arg1)
+               {
+                       WriteEvent (eventId, new object[] { arg1 } );
+               }
+
                protected void WriteEvent (int eventId, string arg1)
                {
+                       WriteEvent (eventId, new object[] { arg1 } );
                }
 
-               protected void WriteEvent (int eventId, string arg1, int arg2)
+               protected void WriteEvent (int eventId, int arg1, int arg2)
                {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
                }
 
                protected void WriteEvent (int eventId, int arg1, int arg2, int arg3)
                {
+                       WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
+               }
+
+               protected void WriteEvent (int eventId, int arg1, string arg2)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
+               }
+
+               protected void WriteEvent (int eventId, long arg1)
+               {
+                       WriteEvent (eventId, new object[] { arg1 } );
+               }
+
+               protected void WriteEvent (int eventId, long arg1, byte[] arg2)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
+               }
+
+               protected void WriteEvent (int eventId, long arg1, long arg2)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
+               }
+
+               protected void WriteEvent (int eventId, long arg1, long arg2, long arg3)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
+               }
+
+               protected void WriteEvent (int eventId, long arg1, string arg2)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
+               }
+
+               protected void WriteEvent (int eventId, params object[] args)
+               {
+               }
+
+               protected void WriteEvent (int eventId, string arg1, int arg2)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
                }
 
                protected void WriteEvent (int eventId, string arg1, int arg2, int arg3)
                {
+                       WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
+               }
+
+               protected void WriteEvent (int eventId, string arg1, long arg2)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
+               }
+
+               protected void WriteEvent (int eventId, string arg1, string arg2)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2 } );
+               }
+
+               protected void WriteEvent (int eventId, string arg1, string arg2, string arg3)
+               {
+                       WriteEvent (eventId, new object[] { arg1, arg2, arg3 } );
                }
        }
 }
 
-#endif