svt_svc_message_manager Class Reference

Inheritance diagram for class svt_svc_message_manager:

List of all members.


Detailed Description

This class provides access to the methodology specific reporting facility. The class provides SVC specific interpretations of the reporting capabilities, and provides support for SVC specific methods.



Public Member Functions

function void  flush_buffer ( )
function void  flush_message ( int client_verbosity, int client_severity, string message, int message_id, string filename = "", int line = 0 )
function void  get_client_verbosity ( int methodology_verbosity, int methodology_severity, ref int client_verbosity, ref int client_severity )
function void  get_methodology_id_and_message ( string client_message, ref string message_id, ref string message )
function string  get_methodology_message ( string client_message )
function void  get_methodology_verbosity ( int client_verbosity, int client_severity, ref int methodology_verbosity, ref int methodology_severity, ref bit include_prefix, ref bit include_newline )
static function bit  is_supported_client_verbosity ( int client_verbosity )
static function int  localized_get_client_verbosity_level ( ref svt_svc_message_manager msg_mgr, input string pref_mgr_id, string def_mgr_id )
function void  new ( string name = "", uvm_report_object reporter = null )
function void  report_message ( int client_verbosity, int client_severity, string message, int message_id = -1, string filename = "", int line = 0 )

Public Attributes

static svt_svc_message_manager  active_svc_msg_mgr = null; 
static svt_svc_message_manager  shared_svc_msg_mgr = new; 

Protected Attributes

protected int  buffered_client_severity = -1; 
protected int  buffered_client_verbosity = -1; 
protected string  buffered_filename = ""; 
protected int  buffered_line = 0; 
protected string  buffered_message = ""; 
protected int  buffered_message_id = -1; 
protected bit  buffer_is_active = 0; 
protected bit  buffered_line_begin = 0; 
protected bit  svc_message_manager_extract_message_id = 0; 


Member Function Documentation

  function void
 svt_svc_message_manager::flush_buffer

 (   ) 


Utility used to flush the current buffer contents.

  function void
 svt_svc_message_manager::flush_message

 (  int client_verbosity , int client_severity , string message , int message_id , string filename = "", int line = 0  ) 


Method used to push a message to the transcript immediately.

client_verbosity - Client specified verbosity which helps define the output level.

client_severity - Client specified severity which helps define the output level.

message - Text to be reported.

message_id - ID associated with the text to be reported.

filename - Optional argument identifying the source file for the message.

line - Optional argument identifying the source line number for the message.

  function void
 svt_svc_message_manager::get_client_verbosity

 (  int methodology_verbosity , int methodology_severity , ref int client_verbosity , ref int client_severity  ) 


Method used to convert from methodology verbosity/severity to client technology verbosity/severity.

methodology_verbosity - Methodology verbosity value that is to be converted.

methodology_severity - Methodology severity value that is to be converted.

client_verbosity - The client verbosity value corresponding to the methodology verbosity.

client_severity - The client severity value corresponding to the methodology severity.


 Superseded functions 
 svt_message_manager :: get_client_verbosity 

  function void
 svt_svc_message_manager::get_methodology_id_and_message

 (  string client_message , ref string message_id , ref string message  ) 


Method used to remove client specific text or add methodology specific text to an 'in process' display message, and also to pull out the messageID if provided in the message.

client_message - Client provided message which is to be converted to a methodology message.

message_id - The ID extracted from the client message.

message - The final message extracted from the client message.


 Superseded functions 
 svt_message_manager :: get_methodology_id_and_message 

  function string
 svt_svc_message_manager::get_methodology_message

 (  string client_message  ) 


Method used to remove client specific text or add methodology specific text to an 'in process' display message.

client_message - Client provided message which is to be converted to a methodology message.

Return values - Message after it has been converted to the current methodology.


 Superseded functions 
 svt_message_manager :: get_methodology_message 

  function void
 svt_svc_message_manager::get_methodology_verbosity

 (  int client_verbosity , int client_severity , ref int methodology_verbosity , ref int methodology_severity , ref bit include_prefix , ref bit include_newline  ) 


Method used to convert from client technology verbosity/severity to methodology verbosity/severity.

client_verbosity - Client specified verbosity value that is to be converted.

client_severity - Client specified severity value that is to be converted.

methodology_verbosity - The methodology verbosity value corresponding to the client provided technology verbosity.

methodology_severity - The methodology severity value corresponding to the client provided technology severity.

include_prefix - Indicates whether the resulting message should include a prefix.

include_newline - Indicates whether the resulting message should be preceded by a carriage return.


 Superseded functions 
 svt_message_manager :: get_methodology_verbosity 

 static function bit
 svt_svc_message_manager::is_supported_client_verbosity

 (  int client_verbosity  ) 


Utility method that can be used to decide if the client verbosity can be supported.

client_verbosity - Client specified verbosity value that is to be evaluated.

Return values - Indicates whether the client_verbosity corresponds to a support verbosity level (1) or not (0).


 Superseded functions 
 svt_message_manager :: is_supported_client_verbosity 

 static function int
 svt_svc_message_manager::localized_get_client_verbosity_level

 (  ref svt_svc_message_manager msg_mgr , input string pref_mgr_id , string def_mgr_id  ) 


Method used to get the current client specified verbosity via a local message manager.

If the supplied message manager is non-null then this method obtains the verbosity level through that. If the supplied message manager is null then a message manager is first obtained using find_message_manager, and then the verbosity level is obtained through that.

The message manager that is used is returned through the provided msg_mgr argument, which is a ref argument. This can then be used to update the local reference so that the lookup does not need to be performed again.

msg_mgr - Reference to the local message manager

pref_mgr_id - ID of the preferred message manager

def_mgr_id - ID of the default message manager

Return values - The current client specified verbosity level associated with the local message manager.

  function void
 svt_svc_message_manager::new

 (  string name = "", uvm_report_object reporter = null  ) 


CONSTRUCTOR: Create a new SVC Message Manager instance.

name - Name associated with the message manager, used to add the message manager to the preferred_msg_mgr array.

reporter - The reporter associated with this message manager resource.


 Superseded functions 
 svt_message_manager :: new 

  function void
 svt_svc_message_manager::report_message

 (  int client_verbosity , int client_severity , string message , int message_id = -1, string filename = "", int line = 0  ) 


Method used to report information to the transcript.

client_verbosity - Client specified verbosity which helps define the output level.

client_severity - Client specified severity which helps define the output level.

message - Text to be reported.

message_id - Optional ID associated with the text to be reported.

filename - Optional argument identifying the source file for the message.

line - Optional argument identifying the source line number for the message.


 Superseded functions 
 svt_message_manager :: report_message 


Member Attribute Documentation

 static svt_svc_message_manager  attribute
 svt_svc_message_manager::active_svc_msg_mgr = null


Identifies svt_svc_message_manager which has an active message buffered. Message managers setting up their own buffers must make sure active buffers are cleared before initiating their own buffer activities.

 protected int  attribute
 svt_svc_message_manager::buffered_client_severity = -1


Used to watch for client_severity conflicts between buffered messages.

 protected int  attribute
 svt_svc_message_manager::buffered_client_verbosity = -1


Used to watch for client_verbosity (i.e., without OPT bits) conflicts between buffered messages.

 protected string  attribute
 svt_svc_message_manager::buffered_filename = ""


Retains the source filename for buffered messages.

 protected int  attribute
 svt_svc_message_manager::buffered_line = 0


Retains the source line number for buffered messages.

 protected string  attribute
 svt_svc_message_manager::buffered_message = ""


Used to build up messages across report_message calls.

 protected int  attribute
 svt_svc_message_manager::buffered_message_id = -1


Used to watch for message_id conflicts between buffered messages.

 protected bit  attribute
 svt_svc_message_manager::buffer_is_active = 0


Used to indicate that the manager is currently buffering a message. Note that we cannot rely on the len method on the buffered_message field as we may be buffering but currently have an empty message.

 protected bit  attribute
 svt_svc_message_manager::buffered_line_begin = 0


Indicates whether we are at the beginning of a new line in the output. This is initialized to 0 to that the first line of any output buffer appears on the same line as the prefix.

 static svt_svc_message_manager  attribute
 svt_svc_message_manager::shared_svc_msg_mgr = new


Static default svt_svc_message_manager which can be used when no preferred svt_svc_message_manager is available.

 protected bit  attribute
 svt_svc_message_manager::svc_message_manager_extract_message_id = 0


Flag to indicate whether or not to extract method from SVC message string. This can be set by individual titles in extensions of this class.