IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Lib::ReporterConsoleMsgboxSpeech_Base Class Reference

Base class for reporter classes that contain either reporting via system console, via message box, via speech, or any combination thereof. More...

Inheritance diagram for IG::Lib::ReporterConsoleMsgboxSpeech_Base:
Collaboration diagram for IG::Lib::ReporterConsoleMsgboxSpeech_Base:

List of all members.

Public Member Functions

override void Report (ReportType messagetype, string location, string message, Exception ex)
 Basic reporting method (overloaded). Launches an error report, a warning report or other kind of report/message. Supplemental data (such as objects necessary to launch visualize the report or operation flags) are obtained from the class' instance.

Static Public Member Functions

static void Articulate (string text, bool only_one)
 Speaks out a specified text. The caller can specify that articulation of only one text can be requested simultaneously.
static void Articulate (string text)
 Speeks a specified text. If functino is called from multiple threads simultaneously then calls are serialized.

Public Attributes

ReportDelegate ReportDlgSpeech = new ReportDelegate(DefaultReport_Speech)
 Delegate that performs error reporting via speech. It calls delegates ReportDlg to assemble error location information and ReportMessageDlg to assemble error message. Then it uses both to assemble the final decorated error message and launches it in its own way.
ReportLocationDelegate ReportLocationDlgSpeech = new ReportLocationDelegate(DefaultReportLocation_Speech)
 Delegate that assembles the error location string for reporting via speech.
ReportMessageDelegate ReportMessageDlgSpeech = new ReportMessageDelegate(DefaultReportMessage_Speech)
 Delegate that assembles the eror message string for reporting via speech.

Protected Member Functions

override void ReadAppSettingsBasic (string groupname)
 Reads settings for a specified named group of reporters from the application configuration file.
virtual void Report_Speech (ReportType messagetype, string location, string message, Exception ex)
 Launches a report via speech. Report is launched by using special delegates for this kind of reporting. If the corresponding delegates for error location and message are not specified then general delegates are used for this purporse, or location and message string are simple assembled by this function.

Static Protected Member Functions

static void DefaultReport_Speech (ReporterBase reporter, ReportType messagetype, string location, string message)
 Delegate for launching a report via speech.
static string DefaultReportLocation_Speech (ReporterBase reporter, ReportType messagetype, string location, Exception ex)
 Delegate for assembling a location string for this kind of report.
static string DefaultReportMessage_Speech (ReporterBase reporter, ReportType messagetype, string basicmessage, Exception ex)
 Delegate for assembling a report message for this kind of report.

Protected Attributes

const string KeyUseSpeech = "UseSpeech"

Properties

virtual bool UseSpeech [get, set]
 Gets or sets the flag specifying whether reporting using a message box is performed or not.
virtual ReportLevel SpeechLevelSignal [get, set]
 Gets or sets the reporting level for speaking out signals (such as "Warning", "Error", "Information", etc.)
virtual ReportLevel SpeechLevelMessage [get, set]
 Gets or sets the reporting level for speaking out message text.
static object VoiceLock [get]
static SpVoice Voice [get, set]

Static Private Member Functions

static void ThreadArticulate (object txt)

Private Attributes

bool _UseSpeech = false
ReportLevel _SpeechLevelSignal = ReportLevel.Warning
ReportLevel _SpeechLevelMessage = ReportLevel.Off

Static Private Attributes

static SpVoice _voice = null
static object _voiceLock = new object()
static int _numSpeaking = 0
static string ArticulateText = ""

Detailed Description

Base class for reporter classes that contain either reporting via system console, via message box, via speech, or any combination thereof.

Code common to all classes is put here. This is to reduce duplication of code as much as possible, while at the same time achieving pure behavior, similar as with ReporterConsoleMsgbox_Base. Interfaces are intended to clearly distinguish between various functionality supported.


Member Function Documentation

override void IG::Lib::ReporterConsoleMsgboxSpeech_Base::ReadAppSettingsBasic ( string  groupname) [inline, protected, virtual]

Reads settings for a specified named group of reporters from the application configuration file.

Parameters:
groupnameName of the group of reporters for which the settings apply.

Reimplemented from IG::Forms::ReporterConsoleMsgbox_Base.

override void IG::Lib::ReporterConsoleMsgboxSpeech_Base::Report ( ReportType  messagetype,
string  location,
string  message,
Exception  ex 
) [inline, virtual]

Basic reporting method (overloaded). Launches an error report, a warning report or other kind of report/message. Supplemental data (such as objects necessary to launch visualize the report or operation flags) are obtained from the class' instance.

Parameters:
messagetypeThe type of the report (e.g. Error, Warning, etc.).
locationUser-provided description of error location.
messageUser-provided description of error.
exException thrown when error occurred.

Reimplemented from IG::Forms::ReporterConsoleMsgbox_Base.

static void IG::Lib::ReporterConsoleMsgboxSpeech_Base::Articulate ( string  text,
bool  only_one 
) [inline, static]

Speaks out a specified text. The caller can specify that articulation of only one text can be requested simultaneously.

Parameters:
textText to be articulated.
only_oneIf true then only one text can be articulated at a given time. If the function is called during articulation of another text then it exits without triggering articulation.
static void IG::Lib::ReporterConsoleMsgboxSpeech_Base::Articulate ( string  text) [inline, static]

Speeks a specified text. If functino is called from multiple threads simultaneously then calls are serialized.

Parameters:
textText to be spoken.
static void IG::Lib::ReporterConsoleMsgboxSpeech_Base::DefaultReport_Speech ( ReporterBase  reporter,
ReportType  messagetype,
string  location,
string  message 
) [inline, static, protected]

Delegate for launching a report via speech.

Parameters:
reporterReporter object where additional information can be found.
messagetypeType of the report(Error, Warning, Info...).
locationShort string desctribing location where report was triggered.
messageMessage of the report.
static void IG::Lib::ReporterConsoleMsgboxSpeech_Base::ThreadArticulate ( object  txt) [inline, static, private]
static string IG::Lib::ReporterConsoleMsgboxSpeech_Base::DefaultReportLocation_Speech ( ReporterBase  reporter,
ReportType  messagetype,
string  location,
Exception  ex 
) [inline, static, protected]

Delegate for assembling a location string for this kind of report.

Parameters:
reporterReporter object where additional information can be found.
messagetypeType of the report(Error, Warning, Info...).
locationUser provided location string.
exException that triggered reporting.
Returns:
Location string that can be used in a report.
static string IG::Lib::ReporterConsoleMsgboxSpeech_Base::DefaultReportMessage_Speech ( ReporterBase  reporter,
ReportType  messagetype,
string  basicmessage,
Exception  ex 
) [inline, static, protected]

Delegate for assembling a report message for this kind of report.

Parameters:
reporterReporter object where additional information can be found.
messagetypeType of the report(Error, Warning, Info...).
basicmessageUser provided message string.
exException that triggered reporting.
Returns:
Message string that can be used in a report.
virtual void IG::Lib::ReporterConsoleMsgboxSpeech_Base::Report_Speech ( ReportType  messagetype,
string  location,
string  message,
Exception  ex 
) [inline, protected, virtual]

Launches a report via speech. Report is launched by using special delegates for this kind of reporting. If the corresponding delegates for error location and message are not specified then general delegates are used for this purporse, or location and message string are simple assembled by this function.

Parameters:
messagetypeType of the report(Error, Warning, Info...).
locationUser provided location string.
messageUser provided message string.
exException that triggered reporting.

Member Data Documentation

const string IG::Lib::ReporterConsoleMsgboxSpeech_Base::KeyUseSpeech = "UseSpeech" [protected]
SpVoice IG::Lib::ReporterConsoleMsgboxSpeech_Base::_voice = null [static, private]
object IG::Lib::ReporterConsoleMsgboxSpeech_Base::_voiceLock = new object() [static, private]
ReportDelegate IG::Lib::ReporterConsoleMsgboxSpeech_Base::ReportDlgSpeech = new ReportDelegate(DefaultReport_Speech)

Delegate that performs error reporting via speech. It calls delegates ReportDlg to assemble error location information and ReportMessageDlg to assemble error message. Then it uses both to assemble the final decorated error message and launches it in its own way.

ReportLocationDelegate IG::Lib::ReporterConsoleMsgboxSpeech_Base::ReportLocationDlgSpeech = new ReportLocationDelegate(DefaultReportLocation_Speech)

Delegate that assembles the error location string for reporting via speech.

ReportMessageDelegate IG::Lib::ReporterConsoleMsgboxSpeech_Base::ReportMessageDlgSpeech = new ReportMessageDelegate(DefaultReportMessage_Speech)

Delegate that assembles the eror message string for reporting via speech.


Property Documentation

virtual bool IG::Lib::ReporterConsoleMsgboxSpeech_Base::UseSpeech [get, set]

Gets or sets the flag specifying whether reporting using a message box is performed or not.

Implements IG::Forms::IReporterSpeech.

virtual ReportLevel IG::Lib::ReporterConsoleMsgboxSpeech_Base::SpeechLevelSignal [get, set]

Gets or sets the reporting level for speaking out signals (such as "Warning", "Error", "Information", etc.)

Implements IG::Forms::IReporterSpeech.

virtual ReportLevel IG::Lib::ReporterConsoleMsgboxSpeech_Base::SpeechLevelMessage [get, set]

Gets or sets the reporting level for speaking out message text.

Implements IG::Forms::IReporterSpeech.

object IG::Lib::ReporterConsoleMsgboxSpeech_Base::VoiceLock [static, get]
SpVoice IG::Lib::ReporterConsoleMsgboxSpeech_Base::Voice [static, get, set]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events