1- using System ;
2-
31namespace LogExpert ;
42
53///<summary>
64/// This interface defines a so-called 'Columnizer' for LogExpert.
75/// A columnizer splits a single text line into well defined columns. These columns
86/// are used in the data grid view of LogExpert.
9- /// <br></br><br></br>
7+ /// <br></br><br></br>
108/// Optionally a columnizer can parse the log line to determine the date/time of
119/// the log line (assuming that all log lines have a timestamp). This is needed for
1210/// some of the features of LogExpert (see user documentation for more information).
@@ -20,45 +18,50 @@ public interface ILogLineColumnizer
2018 /// <summary>
2119 /// Returns the name for the columnizer. This name is used for the columnizer selection dialog.
2220 /// </summary>
23- string GetName ( ) ;
21+ string GetName ( ) ;
22+
23+ /// <summary>
24+ /// Returns the name that is given by the user for this columnizer.
25+ /// </summary>
26+ string GetCustomName ( ) ;
2427
2528 /// <summary>
2629 /// Returns the description of the columnizer. This text is used in the columnizer selection dialog.
2730 /// </summary>
28- string GetDescription ( ) ;
31+ string GetDescription ( ) ;
2932
3033 /// <summary>
31- /// Returns the number of columns the columnizer will split lines into.
34+ /// Returns the number of columns the columnizer will split lines into.
3235 /// </summary>
3336 /// <remarks>
34- /// This value does not include the column for displaying the line number. The line number column
37+ /// This value does not include the column for displaying the line number. The line number column
3538 /// is added by LogExpert and is not handled by columnizers.
3639 /// </remarks>
37- int GetColumnCount ( ) ;
40+ int GetColumnCount ( ) ;
3841
3942 /// <summary>
4043 /// Returns the names of the columns. The returned names are used by LogExpert for the column headers in the data grid view.
41- /// The names are expected in order from left to right.
44+ /// The names are expected in order from left to right.
4245 /// </summary>
43- string [ ] GetColumnNames ( ) ;
46+ string [ ] GetColumnNames ( ) ;
4447
4548 /// <summary>
46- /// Given a single line of the logfile this function splits the line content into columns. The function returns
49+ /// Given a single line of the logfile this function splits the line content into columns. The function returns
4750 /// a string array containing the splitted content.
4851 /// </summary>
4952 /// <remarks>
5053 /// This function is called by LogExpert for every line that has to be drawn in the grid view. The faster your code
5154 /// handles the splitting, the faster LogExpert can draw the grid view content.<br></br>
5255 /// <br></br>
5356 /// Notes about timeshift handling:<br></br>
54- /// If your columnizer implementation supports timeshift (see <see cref="IsTimeshiftImplemented">IsTimeshiftImplemented</see>)
57+ /// If your columnizer implementation supports timeshift (see <see cref="IsTimeshiftImplemented">IsTimeshiftImplemented</see>)
5558 /// you have to add the timestamp offset to the columns representing the timestamp (e.g. columns like 'date' and 'time').
56- /// In practice this means you have to parse the date/time value of your log line (see <see cref="GetTimestamp">GetTimestamp</see>)
59+ /// In practice this means you have to parse the date/time value of your log line (see <see cref="GetTimestamp">GetTimestamp</see>)
5760 /// add the offset and convert the timestamp back to string value(s).
5861 /// </remarks>
5962 /// <param name="callback">Callback interface with functions which can be used by the columnizer</param>
6063 /// <param name="line">The line content to be splitted</param>
61- IColumnizedLogLine SplitLine ( ILogLineColumnizerCallback callback , ILogLine line ) ;
64+ IColumnizedLogLine SplitLine ( ILogLineColumnizerCallback callback , ILogLine line ) ;
6265
6366 /// <summary>
6467 /// Returns true, if the columnizer supports timeshift handling.
@@ -67,23 +70,23 @@ public interface ILogLineColumnizer
6770 /// If you return true, you also have to implement the function SetTimeOffset(), GetTimeOffset() and GetTimestamp().
6871 /// You also must handle PushValue() for the column(s) that displays the timestamp.
6972 /// </remarks>
70- bool IsTimeshiftImplemented ( ) ;
73+ bool IsTimeshiftImplemented ( ) ;
7174
7275 /// <summary>
73- /// Sets an offset to be used for displaying timestamp values. You have to implement this function, if
76+ /// Sets an offset to be used for displaying timestamp values. You have to implement this function, if
7477 /// your IsTimeshiftImplemented() function return true.
7578 /// </summary>
7679 /// <remarks>
77- /// You have to store the given value in the Columnizer instance and add this offset to the timestamp column(s) returned by SplitLine()
80+ /// You have to store the given value in the Columnizer instance and add this offset to the timestamp column(s) returned by SplitLine()
7881 /// (e.g. in the date and time columns).
7982 /// </remarks>
8083 /// <param name="msecOffset">The timestamp offset in milliseconds.</param>
81- void SetTimeOffset ( int msecOffset ) ;
84+ void SetTimeOffset ( int msecOffset ) ;
8285
8386 /// <summary>
8487 /// Returns the current stored timestamp offset (set by SetTimeOffset()).
8588 /// </summary>
86- int GetTimeOffset ( ) ;
89+ int GetTimeOffset ( ) ;
8790
8891 /// <summary>
8992 /// Returns the timestamp value of the given line as a .NET DateTime object. If there's no valid timestamp in the
@@ -99,7 +102,7 @@ public interface ILogLineColumnizer
99102 /// </remarks>
100103 /// <param name="callback">Callback interface with functions which can be used by the columnizer</param>
101104 /// <param name="line">The line content which timestamp has to be returned.</param>
102- DateTime GetTimestamp ( ILogLineColumnizerCallback callback , ILogLine line ) ;
105+ DateTime GetTimestamp ( ILogLineColumnizerCallback callback , ILogLine line ) ;
103106
104107 /// <summary>
105108 /// This function is called if the user changes a value in a column (edit mode in the log view).
@@ -114,7 +117,7 @@ public interface ILogLineColumnizer
114117 /// <param name="column">The column number which value has changed.</param>
115118 /// <param name="value">The new value.</param>
116119 /// <param name="oldValue">The old value.</param>
117- void PushValue ( ILogLineColumnizerCallback callback , int column , string value , string oldValue ) ;
120+ void PushValue ( ILogLineColumnizerCallback callback , int column , string value , string oldValue ) ;
118121
119122 #endregion
120123}
0 commit comments