verifRegisterCallback
verifRegisterCallback(
g_callback
)
=> g_callback
Description
Registers a callback with Verifier, which is executed at various times, such as, when a session is opened, saved, closed, simulations are started, finished, and when percentage changes.
Callback registration can be done at any time, and even before any Verifier sessions are opened.
The callback function takes three arguments, x_session, x_signal, and l_args. The x_session is the session identifier that calls the callback. x_signal is a symbol containing the type of callback, and args is a list containing data specific to the signal. For example,
for the 'sessionSaved signal the args is a list:
'("opamp090.full_diff_opamp_AC:verifier")
whereas for 'simulationPercentage the list is:
'("opamp090/full_diff_opamp_AC/maestro/Active" 49 98 200), and for 'requirementStatusChange it is '("ID6" "Passed").
The following table describes the supported signals:
|
Signal
|
args
|
When the signal is sent
|
|
'sessionCreated
|
|
|
session_num
|
When a session is first created either when it is opened from a cellview, or created from scratch.
Example: '(0)
|
|
'sessionDeleted
|
|
|
session_num
|
When the session has been deleted, which is typically done by closing the window.
Example: '(0)
|
|
'sessionSaved
|
|
|
lib_Name cell_Name view_Name
|
When the session is saved to disk.
Example: '("myLib" "myCell" "verifier")
|
|
'sessionLoaded
|
|
|
lib_Name cell_Name view_Name
|
When the session has been loaded from disk.
Example: '("myLib" "myCell" "verifier")
|
|
'simulationStatus
|
|
|
imp_name sim_status
|
When the simulation status of the given implementation changes. The sim_status is a string such as "Running", "Finished".
Example: '("myLib/myCell/maestro/Active" "Finished")
|
|
'simulationPercentage
|
|
|
imp_name int_percentage_Complete int_num_Completed int_num_Submitted
|
When the implementation simulation percentage changes. The three numbers are the calculated percentage complete, the number of points that have completed, and the total number of points.
Example: '("myLib/myCell/maestro/Active" 75 3 4).
|
|
'simulationsDone
|
|
|
|
When all of the simulations for the implementations have completed.
Example: nil.
|
|
'simulationsAdded
|
|
|
Int_number_added
|
The number of implementations that have been added to the simulation queue. Typically this will happen when the user clicks Run.
Example: '(3).
|
|
'implementationAdded
|
|
|
imp_name
|
The name of the implementation that has been added. Typically sent out when an implementation is added to the Verifier session.
Example: '("opamp090/full_diff_opamp_AC/maestro/MonteCarlo.1").
|
|
'implementationDeleted
|
|
|
imp_name
|
The name of the implementation that is being deleted. Typically gets called just before the implementation is deleted so that the implementation to be deleted is still accessible.
Example: '("opamp090/full_diff_opamp_AC/maestro/MonteCarlo.1").
|
|
'preImplementationModified
|
|
|
imp_name name_property key_property_value
|
The given implementation is about to be changed.
Example: '("opamp090/full_diff_opamp_AC_bad/maestro/Interactive.226" "Run" t).
|
|
'implementationModified
|
|
|
imp_name name_property
|
The callback after the implementation has changed.
Example: '("opamp090/full_diff_opamp_AC_bad/maestro/Interactive.226" "Run" nil).
|
|
'mappingCreated
|
|
|
req_id mappable_name
|
The callback when a mapping between a requirement and implementation is created.
Example: '("z_48" "avgOutN::Cpk").
|
|
'mappingDeleted
|
|
|
req_id mappable_name
|
The callback when a mapping between a requirement and implementation is deleted. Typically gets called just before the mapping is deleted so that the mapping to be deleted is still accessible.
Example: '("z_48" "avgOutN::Cpk").
|
|
'requirementCreated
|
|
|
req_id
|
The ID of the requirement that has been created.
Example: '("2902d5a4-7ec5-4302-b083-3750dfc10da7").
|
|
'requirementDeleted
|
|
|
req_id
|
The ID of the requirement that is about to be deleted. Typically gets called just before the requirement is deleted so that the requirement to be deleted is still accessible.
Example: '("2902d5a4-7ec5-4302-b083-3750dfc10da7").
|
|
'requirementModified
|
|
|
req_id property_name property_value
|
This callback gets a list of changes that match the property name or value specified using verifGetReqProps().
Example: '(("x_5" "MinSpec" "0.5")).
The only exception to this behavior is when the ID changes and both the IDs, before and after the change, are returned.
Example: '("my_req" "ID" "2902d5a4-7ec5-4302-b083-3750dfc10da7" "my_req").
|
Arguments
|
g_callback
|
A symbol or function object, where the symbol is the name of a function that takes three arguments, and the function object is a callable function that also takes three arguments.
|
Value Returned
|
g_callback
|
The callback is registered.
|
Examples
The following example shows how to register a callback with Verifier.
defun(myCallback (sess sig args)
info("Callback: %L %L %L\n" sess sig args)
)
myCallback
verifRegisterCallback('myCallback)
=> myCallback
verifRegisterCallback(lambda((sess sig args) info("Lambda CB: %L %L %L\n" sess sig
args)))
funobj@0x254db9a8
Related Topics
verifGetCallbacks
verifRemoveCallback
Verifier Session and Setup Functions
Return to top