1 <?xml version="1.0"?>
\r
4 <name>ExceptionReporter.WinForms</name>
\r
7 <member name="T:ExceptionReporting.Core.ExceptionReportGenerator">
\r
9 ExceptionReportGenerator does everything that needs to happen to generate an ExceptionReport
\r
10 This class is the entry point to use 'ExceptionReporter' as a general-purpose exception reporter
\r
11 (ie use this class to create an exception report without showing a GUI/dialog)
\r
14 <member name="T:ExceptionReporting.Core.Disposable">
\r
16 Base class for all classes wanting to implement <see cref="T:System.IDisposable"/>.
\r
19 Base on an article by Davy Brion
\r
20 <see href="http://davybrion.com/blog/2008/06/disposing-of-the-idisposable-implementation/"/>.
\r
23 <member name="M:ExceptionReporting.Core.ExceptionReportGenerator.#ctor(ExceptionReporting.Core.ExceptionReportInfo)">
\r
25 Initialises some ExceptionReportInfo properties related to the application/system
\r
27 <param name="reportInfo">an ExceptionReportInfo, can be pre-populated with config
\r
28 however 'base' properties such as MachineName</param>
\r
30 <member name="M:ExceptionReporting.Core.ExceptionReportGenerator.CreateExceptionReport">
\r
32 Create an exception report
\r
33 NB This method re-uses the same information retrieved from the system on subsequent calls
\r
34 Create a new ExceptionReportGenerator if you need to refresh system information from the computer
\r
38 <member name="T:ExceptionReporting.IExceptionReportView">
\r
40 The interface (contract) for an ExceptionReportView
\r
43 <member name="T:ExceptionReporting.SystemInfo.SysInfoQuery">
\r
45 describes a query to SysInfo (more precisely, the Windows 'WMI' ManagementObjectSearcher)
\r
48 <member name="M:ExceptionReporting.Core.ExceptionReportBuilder.Build">
\r
50 Build the exception report
\r
53 <member name="M:ExceptionReporting.Core.ExceptionReportBuilder.ExceptionHierarchyToString(System.Exception)">
\r
55 Create a line-delimited string of the exception hierarchy
\r
56 //TODO see Label='EH' in View, this is doing too much and is duplicated
\r
59 <member name="T:ExceptionReporting.Config.IFileReader">
\r
60 <summary>generic interface to reading a file</summary>
\r
62 <member name="M:ExceptionReporting.Config.IFileReader.ReadAll(System.String)">
\r
63 <summary>read all contents of a file</summary>
\r
65 <member name="T:ExceptionReporting.WinForms.Views.InternalExceptionView">
\r
67 For exceptions within the ExceptionReporter - considering removing altogether
\r
70 <member name="T:ExceptionReporting.IInternalExceptionView">
\r
72 An interface that represents the presentation of an internal exception
\r
75 <member name="M:ExceptionReporting.IInternalExceptionView.ShowException(System.String,System.Exception)">
\r
76 <summary> Show the internal exception</summary>
\r
78 <member name="T:ExceptionReporting.ViewFactory">
\r
80 ViewFactory inspects the assembly and retrieves the appropriate class
\r
83 <member name="T:ExceptionReporting.SystemInfo.SysInfoRetriever">
\r
85 Retrieves system information using WMI
\r
88 <member name="M:ExceptionReporting.SystemInfo.SysInfoRetriever.Retrieve(ExceptionReporting.SystemInfo.SysInfoQuery)">
\r
90 Retrieve system information, using the given SysInfoQuery to determine what information to retrieve
\r
92 <param name="sysInfoQuery">the query to determine what information to retrieve</param>
\r
93 <returns>a SysInfoResult ie containing the results of the query</returns>
\r
95 <member name="T:ExceptionReporting.Core.ExceptionReporter">
\r
97 The entry-point (class) to invoking an ExceptionReporter dialog
\r
98 eg new ExceptionReporter().Show()
\r
101 <member name="M:ExceptionReporting.Core.ExceptionReporter.#ctor">
\r
103 Initialise the ExceptionReporter
\r
104 <remarks>readConfig() should be called (explicitly) if you need to override default config settings</remarks>
\r
107 <member name="M:ExceptionReporting.Core.ExceptionReporter.Show(System.Exception[])">
\r
109 Show the ExceptionReport dialog
\r
111 <remarks>The <see cref="T:ExceptionReporting.Core.ExceptionReporter"/> will analyze the <see cref="T:System.Exception"/>s and
\r
112 create and show the report dialog.</remarks>
\r
113 <param name="exceptions">The <see cref="T:System.Exception"/>s to show.</param>
\r
115 <member name="M:ExceptionReporting.Core.ExceptionReporter.Show(System.String,System.Exception[])">
\r
117 Show the ExceptionReport dialog with a custom message instead of the Exception's Message property
\r
119 <param name="customMessage">custom (exception) message</param>
\r
120 <param name="exceptions">The exception/s to display in the exception report</param>
\r
122 <member name="M:ExceptionReporting.Core.ExceptionReporter.ReadConfig">
\r
124 Read settings from config file
\r
125 <remarks> This method must be explicitly called - config is not automatically read</remarks>
\r
128 <member name="P:ExceptionReporting.Core.ExceptionReporter.Config">
\r
130 Public access to configuration
\r
133 <member name="T:ExceptionReporting.SystemInfo.SysInfoResultMapper">
\r
135 Map SysInfoResults to human-readable formats
\r
138 <member name="M:ExceptionReporting.SystemInfo.SysInfoResultMapper.AddTreeViewNode(System.Windows.Forms.TreeNode,ExceptionReporting.SystemInfo.SysInfoResult)">
\r
140 Add a tree node to an existing parentNode, by passing the SyfInfoResult
\r
143 <member name="M:ExceptionReporting.SystemInfo.SysInfoResultMapper.CreateStringList(System.Collections.Generic.IEnumerable{ExceptionReporting.SystemInfo.SysInfoResult})">
\r
145 create a string representation of a list of SysInfoResults, customised specifically (eg 2-level deep)
\r
148 <member name="T:ExceptionReporting.Core.ExceptionReportInfo">
\r
150 a bag of information (some of which is stored and retrieved from config)
\r
153 <member name="M:ExceptionReporting.Core.ExceptionReportInfo.SetExceptions(System.Collections.Generic.IEnumerable{System.Exception})">
\r
155 Add multiple exceptions to be shown (each in a separate tab if shown in dialog)
\r
157 Note: Showing multiple exceptions is a special-case requirement - for only 1 top-level exception
\r
158 use the MainException property instead
\r
162 <member name="P:ExceptionReporting.Core.ExceptionReportInfo.MainException">
\r
164 The Main (ostensibly 'only') exception, which is the subject of this exception 'report'
\r
165 Setting this property will clear any previously set exceptions
\r
166 <remarks>If multiple top-level exceptions are required, use SetExceptions instead</remarks>
\r
169 <member name="P:ExceptionReporting.Core.ExceptionReportInfo.ContactEmail">
\r
171 an email that is displayed in the 'Contact Information' (see EmailReportAddress for the email used to actually send)
\r
174 <member name="P:ExceptionReporting.Core.ExceptionReportInfo.EmailReportAddress">
\r
176 address that is used to send an email (eg appears in the 'to:' field in the default email client if simpleMAPI)
\r
179 <member name="T:ExceptionReporting.Core.ExceptionReportInfo.EmailMethod">
\r
181 Enumerated type used to represent supported e-mail mechanisms
\r
184 <member name="T:ExceptionReporting.ExceptionReportPresenter">
\r
186 The Presenter in this MVP (Model-View-Presenter) implementation
\r
189 <member name="M:ExceptionReporting.ExceptionReportPresenter.SaveReportToFile(System.String)">
\r
191 Save the exception report to file/disk
\r
193 <param name="fileName">the filename to save</param>
\r
195 <member name="M:ExceptionReporting.ExceptionReportPresenter.SendReportByEmail(System.IntPtr)">
\r
197 Send the exception report via email, using the configured email method/type
\r
199 <param name="handle">The handle of the window to use in sending the email</param>
\r
201 <member name="M:ExceptionReporting.ExceptionReportPresenter.CopyReportToClipboard">
\r
203 copy the report to the clipboard, using the clipboard implementation supplied
\r
206 <member name="M:ExceptionReporting.ExceptionReportPresenter.ToggleDetail">
\r
208 toggle the detail between 'simple' (just messsage) and showFullDetail (ie normal)
\r
211 <member name="M:ExceptionReporting.ExceptionReportPresenter.GetSysInfoResults">
\r
213 Get the system information results
\r
216 <member name="M:ExceptionReporting.ExceptionReportPresenter.SendContactEmail">
\r
218 Send email (using ShellExecute) to the configured contact email address
\r
221 <member name="M:ExceptionReporting.ExceptionReportPresenter.NavigateToWebsite">
\r
223 Navigate to the website configured
\r
226 <member name="M:ExceptionReporting.ExceptionReportPresenter.PopulateReport">
\r
228 The main entry point, populate the report with everything it needs
\r
231 <member name="M:ExceptionReporting.ExceptionReportPresenter.Close">
\r
236 <member name="P:ExceptionReporting.ExceptionReportPresenter.AppAssembly">
\r
238 The application assembly - ie the main application using the exception reporter assembly
\r
241 <member name="P:ExceptionReporting.ExceptionReportPresenter.Clipboard">
\r
243 An IClipboard needs to be set by the calling View before copying to clipboard (see IClipboard for info)
\r
246 <member name="T:ExceptionReporting.WinForms.Views.ExceptionReportView">
\r
248 The main ExceptionReporter dialog
\r
251 <member name="F:ExceptionReporting.WinForms.Views.ExceptionReportView.components">
\r
253 Required designer variable.
\r
256 <member name="M:ExceptionReporting.WinForms.Views.ExceptionReportView.Dispose(System.Boolean)">
\r
258 Clean up any resources being used.
\r
260 <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
\r
262 <member name="M:ExceptionReporting.WinForms.Views.ExceptionReportView.InitializeComponent">
\r
264 Required method for Designer support - do not modify
\r
265 the contents of this method with the code editor.
\r
268 <member name="M:ExceptionReporting.WinForms.Views.ExceptionReportView.PopulateTabs">
\r
270 starts with all tabs visible, and removes ones that aren't configured to show
\r
273 <member name="T:ExceptionReporting.Core.AssemblyReferenceDigger">
\r
275 Used to find and do things with referenced assemblies
\r
278 <member name="M:ExceptionReporting.Core.AssemblyReferenceDigger.#ctor(System.Reflection.Assembly)">
\r
279 <summary>Initialise with assembly</summary>
\r
281 <member name="M:ExceptionReporting.Core.AssemblyReferenceDigger.CreateReferencesString">
\r
282 <summary> Finds all assemblies referenced and return a string </summary>
\r
283 <returns>line-delimited string of referenced assemblies</returns>
\r
285 <member name="F:ExceptionReporting.WinForms.Views.ExceptionDetailControl.components">
\r
287 Required designer variable.
\r
290 <member name="M:ExceptionReporting.WinForms.Views.ExceptionDetailControl.Dispose(System.Boolean)">
\r
292 Clean up any resources being used.
\r
294 <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
\r
296 <member name="M:ExceptionReporting.WinForms.Views.ExceptionDetailControl.InitializeComponent">
\r
298 Required method for Designer support - do not modify
\r
299 the contents of this method with the code editor.
\r
302 <member name="T:ExceptionReporting.ViewResolver">
\r
304 Resolve a view from an assembly (limited to ExceptionReportView and InternalExceptionView)
\r
305 This flexibility is required in order to load either a WPF or WinForms version of the view class
\r
308 <member name="M:ExceptionReporting.ViewResolver.#ctor(System.Reflection.Assembly)">
\r
310 Initialise the ViewResolver with an assembly to search
\r
312 <param name="assembly">the Assembly which contains the desired view</param>
\r
314 <member name="M:ExceptionReporting.ViewResolver.Resolve``1">
\r
316 Resolve an interface to a concrete view class, limited to 2 particular expected 'View' classes in ExceptionReporter
\r
318 <typeparam name="T">The interface type (currenty just IExceptionReportView or IInternalExceptionView)</typeparam>
\r
319 <returns>An instance of a type that implements the interface (T) in the given assembly (see constructor)</returns>
\r
321 <member name="T:ExceptionReporting.Core.ScreenshotTaker">
\r
323 Utility to take a screenshot and return as a graphic file
\r
326 <member name="F:ExceptionReporting.Core.ScreenshotTaker.ScreenshotMimeType">
\r
327 <summary>The (hard-coded) file type that will be used to save the attached screenshot </summary>
\r
329 <member name="M:ExceptionReporting.Core.ScreenshotTaker.TakeScreenShot">
\r
330 <summary> Take a screenshot (supports multiple monitors) </summary>
\r
331 <returns>Bitmap of the screen, as at the time called</returns>
\r
333 <member name="M:ExceptionReporting.Core.ScreenshotTaker.GetImageAsFile(System.Drawing.Bitmap)">
\r
335 Return the supplied Bitmap, as a file on the system, in JPEG format
\r
337 <param name="bitmap">The Bitmap to save (most likely one created using TakeScreenshot()</param>
\r
338 <returns></returns>
\r
340 <member name="T:ExceptionReporting.Core.IClipboard">
\r
342 interface to abstract the concept of a clipboard - required because of the different implementations
\r
343 of clipboard in windows (ie WPF and WinForms)
\r
346 <member name="M:ExceptionReporting.Core.IClipboard.CopyTo(System.String)">
\r
347 <summary> copy text to clipboard </summary>
\r
348 <param name="text">plain-text string</param>
\r
350 <member name="T:ExceptionReporting.SystemInfo.SysInfoResult">
\r
352 SysInfoResult holds results from a (ultimately WMI) query into system information
\r
355 <member name="M:ExceptionReporting.Mail.MailSender.SendSmtp(System.String,ExceptionReporting.Mail.MailSender.CompletedMethodDelegate)">
\r
360 <member name="M:ExceptionReporting.Mail.MailSender.SendMapi(System.String,System.IntPtr)">
\r
362 Send SimpleMAPI email
\r
365 <member name="T:System.Runtime.CompilerServices.ExtensionAttribute">
\r
367 a hack (?) to ensure that we can use Extension Methods and still target .NET2
\r
368 see http://www.danielmoth.com/Blog/2007/05/using-extension-methods-in-fx-20.html
\r
371 <member name="T:ExceptionReporting.Extensions.ExceptionReporterExtensions">
\r
373 All extension methods for ExceptionReporter
\r
376 <member name="M:ExceptionReporting.Extensions.ExceptionReporterExtensions.AppendDottedLine(System.Text.StringBuilder)">
\r
378 Append a dotted line to the given string
\r
381 <member name="M:ExceptionReporting.Extensions.ExceptionReporterExtensions.GetString(System.String,System.String)">
\r
383 Return a string if not null, else the current value
\r
386 <member name="M:ExceptionReporting.Extensions.ExceptionReporterExtensions.GetBool(System.String,System.Boolean)">
\r
388 Returns the boolean value of configString; where configString is null or empty, the current value is returned
\r
389 <remarks>all of (case insensitive) 'y' 'n' 'true' or 'false' are accepted as boolean indicators</remarks>
\r
392 <member name="T:ExceptionReporting.Core.ExceptionReport">
\r
394 Encapsulates the concept of an ExceptionReport
\r
397 <member name="M:ExceptionReporting.Core.ExceptionReport.#ctor(System.Text.StringBuilder)">
\r
399 Construct an ExceptionReport from a StringBuilder
\r
402 <member name="T:ExceptionReporting.Config.ConfigReader">
\r
404 Read ExceptionReport configuration from the main application's (ie not this assembly's) config file
\r
407 <member name="M:ExceptionReporting.Config.ConfigReader.#ctor(ExceptionReporting.Core.ExceptionReportInfo)">
\r
408 <param name="reportInfo">the ExceptionReportInfo object to fill with configuration information</param>
\r
410 <member name="M:ExceptionReporting.Config.ConfigReader.ReadConfig">
\r
411 <summary>Read all settings from the application config file</summary>
\r
413 <member name="T:ExceptionReporting.Mail.EmailTextBuilder">
\r
415 textual content for email introduction
\r