TraceMgr Struct Reference

TraceMgr Class. More...

#include <TraceMgr.h>

Related Functions

(Note that these are not member functions.)



TraceMgr_ptr TraceMgr_create (NuSMVEnv_ptr env)
 Initializes the TraceMgr.
void TraceMgr_destroy (TraceMgr_ptr self)
 Destroys the TraceMgr with all the registered traces and plugins.
int TraceMgr_execute_plugin (const TraceMgr_ptr self, const TraceOpt_ptr opt, int plugin_index, int trace_index)
 Executes the given trace plugin on given trace.
int TraceMgr_get_abs_index_from_label (TraceMgr_ptr self, TraceLabel label)
 Returns the absolute state index pointed by the label.
CompleteTraceExecutor_ptr TraceMgr_get_complete_trace_executor (const TraceMgr_ptr self, const char *name)
 Retrieves a registered complete trace executor instance with given name.
const char * TraceMgr_get_complete_trace_executor_desc (const TraceMgr_ptr self, const char *name)
 Retrieves description for a registered complete trace executor.
array_tTraceMgr_get_complete_trace_executor_ids (const TraceMgr_ptr self)
 Returns an array of registered complete trace executor IDs. IDs are alphabetically sorted using lexicographical ordering.
int TraceMgr_get_current_trace_number (TraceMgr_ptr self)
 Returns the trace_id of the current trace of the TraceMgr.
int TraceMgr_get_default_plugin (TraceMgr_ptr self)
 Returns the index of the default plugin of the TraceMgr.
BaseEvaluator_ptr TraceMgr_get_evaluator (TraceMgr_ptr self)
 Retrieves currently registered evaluator.
int TraceMgr_get_internal_plugin_size (const TraceMgr_ptr self)
 Returns the number of internal plugins registered with TraceMgr.
TraceIter TraceMgr_get_iterator_from_label (TraceMgr_ptr self, TraceLabel label)
 Returns a trace iterator pointing to the particular trace step indicated by the given label.
PartialTraceExecutor_ptr TraceMgr_get_partial_trace_executor (const TraceMgr_ptr self, const char *name)
 Retrieves partial trace registered with given name.
const char * TraceMgr_get_partial_trace_executor_desc (const TraceMgr_ptr self, const char *name)
 Retrieves description for partial trace executor.
array_tTraceMgr_get_partial_trace_executor_ids (const TraceMgr_ptr self)
 Returns an array of registered partial trace executor IDs. IDs are alphabetically sorted using lexicographical ordering.
TracePlugin_ptr TraceMgr_get_plugin_at_index (const TraceMgr_ptr self, int index)
 Returns the plugin stored at given index.
int TraceMgr_get_plugin_size (const TraceMgr_ptr self)
 Returns the total number of plugins registered with TraceMgr.
array_tTraceMgr_get_registered_layers (const TraceMgr_ptr self)
 Returns an array of names (strings) of the registered layers.
int TraceMgr_get_size (const TraceMgr_ptr self)
 Returns the size of the TraceMgr.
Trace_ptr TraceMgr_get_trace_at_index (const TraceMgr_ptr self, int index)
 Returns the trace stored at given index.
void TraceMgr_init_plugins (TraceMgr_ptr self)
 Registers default plugins.
boolean TraceMgr_is_label_valid (TraceMgr_ptr self, TraceLabel label)
 Checks if the label is valid label in a registered trace.
boolean TraceMgr_is_layer_registered (const TraceMgr_ptr self, const char *layer_name)
 Returns true if the given layer names was previously registered.
boolean TraceMgr_is_plugin_internal (const TraceMgr_ptr self, int index)
 Returns true if the plugin whose index is provided is internal to NuSMV. It returns false if the given plugin has been externally registered.
boolean TraceMgr_is_visible_symbol (TraceMgr_ptr self, node_ptr symbol)
 Checks whether a symbol is visible.
void TraceMgr_register_complete_trace_executor (TraceMgr_ptr self, const char *executor_name, const char *executor_desc, const CompleteTraceExecutor_ptr executor)
 Registers a complete trace executor plugin with TraceMgr.
void TraceMgr_register_evaluator (TraceMgr_ptr self, BaseEvaluator_ptr eval)
 Registers an evaluator.
void TraceMgr_register_layer (TraceMgr_ptr self, const char *layer_name)
 Registers a new layer name to be used later by the explainers when printing symbols. Only the symbols into registered layers will be shown.
void TraceMgr_register_partial_trace_executor (TraceMgr_ptr self, const char *executor_name, const char *executor_desc, const PartialTraceExecutor_ptr executor)
 Registers a partial trace executor plugin with TraceMgr.
int TraceMgr_register_plugin (TraceMgr_ptr self, TracePlugin_ptr plugin)
 Registers a plugin with TraceMgr.
int TraceMgr_register_trace (TraceMgr_ptr self, Trace_ptr trace)
 Registers a trace with TraceMgr.
void TraceMgr_set_current_trace_number (TraceMgr_ptr self, int trace_id)
 Sets trace_id as ths current trace of the TraceMgr.
void TraceMgr_set_default_plugin (TraceMgr_ptr self, int plugin_id)
 Sets plugin_id as ths default_plugin of the TraceMgr.
void TraceMgr_unregister_evaluator (TraceMgr_ptr self)
 Unregisters current evaluator.
void TraceMgr_unregister_layer (TraceMgr_ptr self, const char *layer_name)
 Unregisters a previoulsy registered layer.

Detailed Description

TraceMgr Class.

This class contains informations about TraceMgr:

trace_list
List of Traces registered with TraceMgr.
plugin_list
List of plugins registered with TraceMgr.
layer_names
List of symb layers registered with TraceMgr.
complete_trace_executors
Dictionary str->object of complete trace executors registered with TraceMgr.
partial_trace_executors
Dictionary str->object of partial trace executors registered with TraceMgr.
evaluator
Currently registered evaluator.
default_opt
Internal TraceOpt object.
current_trace_number
Index of the current trace.
default_plugin
default plugin to print traces.
internal_plugins_num
The number of plugins registered within NuSMV. All the possibly existing other external plugins will be assigned to indices greater or equal to this value.



Friends And Related Function Documentation

TraceMgr_ptr TraceMgr_create ( NuSMVEnv_ptr  env  )  [related]

Initializes the TraceMgr.

AutomaticStart

void TraceMgr_destroy ( TraceMgr_ptr  self  )  [related]

Destroys the TraceMgr with all the registered traces and plugins.

int TraceMgr_execute_plugin ( const TraceMgr_ptr  self,
const TraceOpt_ptr  opt,
int  plugin_index,
int  trace_index 
) [related]

Executes the given trace plugin on given trace.

\"opt\" is either a valid TraceOpt instance or NULL. Defaults are provided by the trace manager in the latter case.

plugin_index is either a non-negative integer, to which must correspond a registered plugin, or a negative integer. Default plugin is used in the latter case.

trace_index is either a non_negative integerm to which must correspond a valid registered trace, or a negative integer. Last registered trace is used in the latter case.

The return value is the one provided by TracePlugin_action, so -1 is error raised by the ErrorMgr, 0 should be normal error, 1 is success. But this is not respected.

none

See also:
TRACE_MGR_DEFAULT_PLUGIN, TRACE_MGR_LAST_TRACE
int TraceMgr_get_abs_index_from_label ( TraceMgr_ptr  self,
TraceLabel  label 
) [related]

Returns the absolute state index pointed by the label.

CompleteTraceExecutor_ptr TraceMgr_get_complete_trace_executor ( const TraceMgr_ptr  self,
const char *  name 
) [related]

Retrieves a registered complete trace executor instance with given name.

Returns a valid complete trace executor instance if any suitable such object has been previously registered with given name, using TraceMgr_register_complete_trace_executor. If no such object is found, NULL is returned

none

const char * TraceMgr_get_complete_trace_executor_desc ( const TraceMgr_ptr  self,
const char *  name 
) [related]

Retrieves description for a registered complete trace executor.

Retrieves description for a registered complete trace executor. The executor must have been previously registered within the trace manager using TraceMgr_register_complete_trace_executor.

Trying to retrieve description for a non-registered executor results in an assertion failure.

none

array_t * TraceMgr_get_complete_trace_executor_ids ( const TraceMgr_ptr  self  )  [related]

Returns an array of registered complete trace executor IDs. IDs are alphabetically sorted using lexicographical ordering.

Returned array must be destroyed by the caller

See also:
TraceMgr_register_complete_trace_executor
int TraceMgr_get_current_trace_number ( TraceMgr_ptr  self  )  [related]

Returns the trace_id of the current trace of the TraceMgr.

int TraceMgr_get_default_plugin ( TraceMgr_ptr  self  )  [related]

Returns the index of the default plugin of the TraceMgr.

BaseEvaluator_ptr TraceMgr_get_evaluator ( TraceMgr_ptr  self  )  [related]

Retrieves currently registered evaluator.

int TraceMgr_get_internal_plugin_size ( const TraceMgr_ptr  self  )  [related]

Returns the number of internal plugins registered with TraceMgr.

This function returns the number of internal plugins registered with traceManager

TraceIter TraceMgr_get_iterator_from_label ( TraceMgr_ptr  self,
TraceLabel  label 
) [related]

Returns a trace iterator pointing to the particular trace step indicated by the given label.

PartialTraceExecutor_ptr TraceMgr_get_partial_trace_executor ( const TraceMgr_ptr  self,
const char *  name 
) [related]

Retrieves partial trace registered with given name.

Retrieves description for a registered partial trace executor. The executor must have been previously registered within the trace manager using TraceMgr_register_complete_trace_executor.

Trying to retrieve description for a non-registered executor results in an assertion failure.

none

const char * TraceMgr_get_partial_trace_executor_desc ( const TraceMgr_ptr  self,
const char *  name 
) [related]

Retrieves description for partial trace executor.

Retrieves description for partial trace executor registered with given name, or NULL if no such executor exists

none

array_t * TraceMgr_get_partial_trace_executor_ids ( const TraceMgr_ptr  self  )  [related]

Returns an array of registered partial trace executor IDs. IDs are alphabetically sorted using lexicographical ordering.

Returned array must be destroyed by the caller

See also:
TraceMgr_register_complete_trace_executor
TracePlugin_ptr TraceMgr_get_plugin_at_index ( const TraceMgr_ptr  self,
int  index 
) [related]

Returns the plugin stored at given index.

int TraceMgr_get_plugin_size ( const TraceMgr_ptr  self  )  [related]

Returns the total number of plugins registered with TraceMgr.

This function returns the total number of plugins registered with traceManager

array_t * TraceMgr_get_registered_layers ( const TraceMgr_ptr  self  )  [related]

Returns an array of names (strings) of the registered layers.

Returned array belongs to self, do not change or delete it

int TraceMgr_get_size ( const TraceMgr_ptr  self  )  [related]

Returns the size of the TraceMgr.

This function returns the number of traces registered with traceManager

Trace_ptr TraceMgr_get_trace_at_index ( const TraceMgr_ptr  self,
int  index 
) [related]

Returns the trace stored at given index.

void TraceMgr_init_plugins ( TraceMgr_ptr  self  )  [related]

Registers default plugins.

Statically registers available plugins

boolean TraceMgr_is_label_valid ( TraceMgr_ptr  self,
TraceLabel  label 
) [related]

Checks if the label is valid label in a registered trace.

This function can be safely used to determine whether a label denotes a valid <trace, state> pair. This is guaranteed to raise no errors (exceptions, assertions) and should be used before any other label-related function to avoid any subsequent failure.

boolean TraceMgr_is_layer_registered ( const TraceMgr_ptr  self,
const char *  layer_name 
) [related]

Returns true if the given layer names was previously registered.

See also:
unregister_layer
boolean TraceMgr_is_plugin_internal ( const TraceMgr_ptr  self,
int  index 
) [related]

Returns true if the plugin whose index is provided is internal to NuSMV. It returns false if the given plugin has been externally registered.

boolean TraceMgr_is_visible_symbol ( TraceMgr_ptr  self,
node_ptr  symbol 
) [related]

Checks whether a symbol is visible.

Returns true iff the symbol is visible according to the following criteria:

1. symbol name does not contain the prefix defined in system variable traces_hiding_prefix.

2. if system variable traces_regexp is not empty, (1) holds and symbol name matches the regexp described in traces_regexp

none

void TraceMgr_register_complete_trace_executor ( TraceMgr_ptr  self,
const char *  executor_name,
const char *  executor_desc,
const CompleteTraceExecutor_ptr  executor 
) [related]

Registers a complete trace executor plugin with TraceMgr.

It registers a complete trace executor with the TraceMgr and returns the corresponding index

A previously registered executor (if any existing) is destroyed

See also:
TraceMgr_register_partial_trace_executor
void TraceMgr_register_evaluator ( TraceMgr_ptr  self,
BaseEvaluator_ptr  eval 
) [related]

Registers an evaluator.

Registers an evaluator. If some evaluator was already registered it is destroyed

void TraceMgr_register_layer ( TraceMgr_ptr  self,
const char *  layer_name 
) [related]

Registers a new layer name to be used later by the explainers when printing symbols. Only the symbols into registered layers will be shown.

Use this method to control which symbols will be shown when a trace is shown. Only symbols occurring inside registered layers will be presented by plugins. Warning: before renaming or deleting a previoulsy registered layer, the layer should be unregistered. If not unregistered, the behaviour is unpredictable.

See also:
unregister_layer
void TraceMgr_register_partial_trace_executor ( TraceMgr_ptr  self,
const char *  executor_name,
const char *  executor_desc,
const PartialTraceExecutor_ptr  executor 
) [related]

Registers a partial trace executor plugin with TraceMgr.

It registers a partial trace executor with the TraceMgr and returns the corresponding index.

int TraceMgr_register_plugin ( TraceMgr_ptr  self,
TracePlugin_ptr  plugin 
) [related]

Registers a plugin with TraceMgr.

It registers a plugin with the TraceMgr and returns the corresponding index.

int TraceMgr_register_trace ( TraceMgr_ptr  self,
Trace_ptr  trace 
) [related]

Registers a trace with TraceMgr.

It registers a trace with the TraceMgr and returns the corresponding index. The given trace can not be previously registered with any Trace Manager.

OWNERSHIP: "trace" is now owned by the TraceMgr

void TraceMgr_set_current_trace_number ( TraceMgr_ptr  self,
int  trace_id 
) [related]

Sets trace_id as ths current trace of the TraceMgr.

void TraceMgr_set_default_plugin ( TraceMgr_ptr  self,
int  plugin_id 
) [related]

Sets plugin_id as ths default_plugin of the TraceMgr.

Default plugin is the plugin to be used to print a trace by default.

void TraceMgr_unregister_evaluator ( TraceMgr_ptr  self  )  [related]

Unregisters current evaluator.

Unregisters currently registered evaluator. If some evaluator was already registered it is destroyed. If no evaluator was registered, no action is performed

void TraceMgr_unregister_layer ( TraceMgr_ptr  self,
const char *  layer_name 
) [related]

Unregisters a previoulsy registered layer.

The given layer must be registered before calling this method, otherwise an internal error occurs

See also:
register_layer

The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1