Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

callback.h File Reference

Soar Callbacks. More...

Go to the source code of this file.

Data Structures

struct  callback_struct

Typedefs

typedef listsoar_global_callback_array [NUMBER_OF_GLOBAL_CALLBACKS]
typedef listsoar_callback_array [NUMBER_OF_CALLBACKS]
typedef void * soar_callback_agent
 The agent upon which the callback is invoked.

typedef const char * soar_callback_id
 A callback id is also a string.

typedef void * soar_callback_data
 Data sent to the callback function each time it is invoked.

typedef const void * soar_call_data
 Data sent to the callback function.

typedef void(* soar_callback_fn )(soar_callback_agent, soar_callback_data, soar_call_data)
 Any callback registered with Soar, must be in this format.

typedef void(* soar_callback_free_fn )(soar_callback_data)
typedef callback_struct soar_callback

Enumerations

enum  SOAR_CALLBACK_TYPE {
  NO_CALLBACK, SYSTEM_STARTUP_CALLBACK, SYSTEM_TERMINATION_CALLBACK, BEFORE_INIT_SOAR_CALLBACK,
  AFTER_INIT_SOAR_CALLBACK, AFTER_HALT_SOAR_CALLBACK, BEFORE_SCHEDULE_CYCLE_CALLBACK, AFTER_SCHEDULE_CYCLE_CALLBACK,
  BEFORE_DECISION_CYCLE_CALLBACK, AFTER_DECISION_CYCLE_CALLBACK, BEFORE_INPUT_PHASE_CALLBACK, INPUT_PHASE_CALLBACK,
  AFTER_INPUT_PHASE_CALLBACK, BEFORE_PREFERENCE_PHASE_CALLBACK, AFTER_PREFERENCE_PHASE_CALLBACK, BEFORE_WM_PHASE_CALLBACK,
  AFTER_WM_PHASE_CALLBACK, BEFORE_OUTPUT_PHASE_CALLBACK, OUTPUT_PHASE_CALLBACK, AFTER_OUTPUT_PHASE_CALLBACK,
  BEFORE_DECISION_PHASE_CALLBACK, AFTER_DECISION_PHASE_CALLBACK, WM_CHANGES_CALLBACK, CREATE_NEW_CONTEXT_CALLBACK,
  POP_CONTEXT_STACK_CALLBACK, CREATE_NEW_ATTRIBUTE_IMPASSE_CALLBACK, REMOVE_ATTRIBUTE_IMPASSE_CALLBACK, PRODUCTION_JUST_ADDED_CALLBACK,
  PRODUCTION_JUST_ABOUT_TO_BE_EXCISED_CALLBACK, FIRING_CALLBACK, RETRACTION_CALLBACK, SYSTEM_PARAMETER_CHANGED_CALLBACK,
  PRINT_CALLBACK, LOG_CALLBACK, ASK_CALLBACK, WAIT_CALLBACK,
  INIT_LAPSE_DURATION_CALLBACK, NUMBER_OF_CALLBACKS
}
enum  SOAR_GLOBAL_CALLBACK_TYPE {
  NO_GLOBAL_CALLBACK, GLB_CREATE_AGENT, GLB_AGENT_CREATED, GLB_DESTROY_AGENT,
  NUMBER_OF_GLOBAL_CALLBACKS
}

Functions

void soar_callback_data_free_string (soar_callback_data)
char * soar_callback_enum_to_name (SOAR_CALLBACK_TYPE, bool)
void soar_destroy_callback (soar_callback *)
bool soar_exists_callback (soar_callback_agent, SOAR_CALLBACK_TYPE)
soar_callbacksoar_exists_callback_id (soar_callback_agent the_agent, SOAR_CALLBACK_TYPE callback_type, soar_callback_id id)
void soar_init_callbacks (soar_callback_agent)
void soar_init_global_callbacks (void)
void soar_invoke_callbacks (soar_callback_agent, SOAR_CALLBACK_TYPE, soar_call_data)
void soar_invoke_global_callbacks (soar_callback_agent, SOAR_CALLBACK_TYPE, soar_call_data)
void soar_invoke_first_callback (soar_callback_agent, SOAR_CALLBACK_TYPE, soar_call_data)
bool soar_exists_global_callback (SOAR_GLOBAL_CALLBACK_TYPE)


Detailed Description

Soar Callbacks.

Copyright 1995-2003 Carnegie Mellon University, University of Michigan, University of Southern California/Information Sciences Institute. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE SOAR CONSORTIUM ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE SOAR CONSORTIUM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Carnegie Mellon University, the University of Michigan, the University of Southern California/Information Sciences Institute, or the Soar consortium. =======================================================================

Id
callback.h,v 1.3 2003/11/10 17:36:06 toolshed Exp

Each agent has a separate callback table. The table has one entry per callback type and the entry is a pointer to a list. The list contains installed callbacks, one callback per list cons cell.

Definition in file callback.h.


Typedef Documentation

typedef const void* soar_call_data
 

Data sent to the callback function.

This content of this data is determined solely by the type of callback and the internals of Soar

Definition at line 417 of file callback.h.

Referenced by abort_with_fatal_error(), add_production_to_rete(), cb_appendToSoarResultResult(), cb_soar_PrintToFile(), cb_soarResult_AppendResult(), create_instantiation(), do_buffered_wm_changes(), do_input_cycle(), do_one_top_level_phase(), excise_production_from_rete(), just_before_exit_soar(), replay_input_wme(), reteload_node_and_children(), retract_instantiation(), run_current_agent(), run_preference_semantics(), set_sysparam(), soar_cCreateAgent(), soar_cDefaultAskCallback(), soar_cDestroyAgentByAddress(), soar_cReInitSoar(), soar_cTestCallback(), soar_default_create_agent_procedure(), soar_invoke_callbacks(), soar_invoke_first_callback(), and soar_invoke_global_callbacks().

typedef struct callback_struct soar_callback
 

Referenced by soar_cAddCallback(), soar_cAddGlobalCallback(), soar_cListAllCallbacksForEvent(), soar_cPopCallback(), soar_cPushCallback(), soar_cRemoveAllCallbacksForEvent(), soar_cRemoveCallback(), soar_cRemoveGlobalCallback(), soar_cRemoveOutputFunction(), soar_destroy_callback(), soar_exists_callback_id(), soar_invoke_callbacks(), soar_invoke_first_callback(), soar_invoke_global_callbacks(), and update_for_top_state_wme_addition().

typedef void* soar_callback_agent
 

The agent upon which the callback is invoked.

Directly castable to either agent * or psoar_agent

Definition at line 397 of file callback.h.

Referenced by cb_soar_PrintToFile(), replay_input_wme(), soar_cAddCallback(), soar_cDefaultAskCallback(), soar_cListAllCallbacks(), soar_cListAllCallbacksForEvent(), soar_cPopCallback(), soar_cPushCallback(), soar_cRemoveAllCallbacksForEvent(), soar_cRemoveAllMonitorableCallbacks(), soar_cRemoveCallback(), soar_cTestAllMonitorableCallbacks(), soar_cTestCallback(), soar_default_create_agent_procedure(), soar_exists_callback(), soar_exists_callback_id(), soar_init_callbacks(), soar_invoke_callbacks(), soar_invoke_first_callback(), soar_invoke_global_callbacks(), soar_list_all_callbacks(), soar_list_all_callbacks_for_event(), soar_remove_all_callbacks_for_event(), soar_remove_all_monitorable_callbacks(), and soar_test_all_monitorable_callbacks().

typedef list* soar_callback_array[NUMBER_OF_CALLBACKS]
 

Definition at line 391 of file callback.h.

typedef void* soar_callback_data
 

Data sent to the callback function each time it is invoked.

This data is available at the time the user registers the callback, and has nothing to do with Soar's internals whatsoever.

Definition at line 410 of file callback.h.

Referenced by add_input_function(), add_output_function(), cb_appendToSoarResultResult(), cb_soar_PrintToFile(), cb_soarResult_AppendResult(), replay_input_wme(), soar_cAddCallback(), soar_cAddGlobalCallback(), soar_cAddInputFunction(), soar_cAddOutputFunction(), soar_callback_data_free_string(), soar_cDefaultAskCallback(), soar_cPushCallback(), soar_cTestCallback(), and soar_ecOpenLog().

typedef void(* soar_callback_fn)(soar_callback_agent, soar_callback_data, soar_call_data)
 

Any callback registered with Soar, must be in this format.

Definition at line 423 of file callback.h.

Referenced by add_input_function(), add_output_function(), soar_cAddCallback(), soar_cAddGlobalCallback(), soar_cAddInputFunction(), soar_cAddOutputFunction(), soar_cPushCallback(), soar_cTestAllMonitorableCallbacks(), and soar_ecOpenLog().

typedef void(* soar_callback_free_fn)(soar_callback_data)
 

Definition at line 425 of file callback.h.

Referenced by add_input_function(), add_output_function(), soar_cAddCallback(), soar_cAddGlobalCallback(), soar_cAddInputFunction(), soar_cAddOutputFunction(), soar_cPushCallback(), and soar_ecOpenLog().

typedef const char* soar_callback_id
 

A callback id is also a string.

Definition at line 402 of file callback.h.

Referenced by soar_cAddCallback(), soar_cAddGlobalCallback(), soar_cRemoveCallback(), soar_cRemoveGlobalCallback(), and soar_exists_callback_id().

typedef list* soar_global_callback_array[NUMBER_OF_GLOBAL_CALLBACKS]
 

Definition at line 117 of file callback.h.


Enumeration Type Documentation

enum SOAR_CALLBACK_TYPE
 

Standard (Agent Specific) Callbacks

All callback functions installed by the user must use the function soar_add_callback. The type signature of all callback functions is the same and has the following form:

my_callback_fn(agent * a, soar_callback_data scd, soar_call_data call_data);

where "a" is a pointer to the agent structure for the agent in which the callback was invoked, "scd" is the data structure given in the installation when soar_add_callback was called, and "call_data" is the data relevant to this particular call. To use the "call_data" parameter, it should first be cast to the appropriate type, which is mentioned below. Since only the "call_data" argument varies for all callbacks, only that argument will be mentioned in the following.

SYSTEM_STARTUP_CALLBACK
This function is called only once, at system startup time. It can be used to set up any Soar I/O routines and install any interface commands. This function is called after most of the system has been initialized, but before any agent initialization file is loaded. The "call_data" argument is given as NULL.

SYSTEM_TERMINATION_CALLBACK
This function is called only once, just before the system exits back to the shell. The "call_data" parameter is of type "bool" which is TRUE if the system is exiting normally, and FALSE if the exit is happening because some fatal error situation was detected. Typically, this routine should do any final cleanup (closing files, etc.) necessary.

BEFORE_INIT_SOAR_CALLBACK
This function is called just before any init-soar is done. (This includes not only the init-soar command, but also excise-task and excise-all, which do an init-soar.) The "call_data" argument is given as NULL.

AFTER_INIT_SOAR_CALLBACK
This function is called just after any init-soar is done. (This includes not only the init-soar command, but also excise-task and excise-all, which do an init-soar.) The "call_data" argument is given as NULL.

AFTER_HALT_SOAR_CALLBACK
This function is called after Soar halts; i.e., after the preference phase in which the RHS function "halt" is executed. The "call_data" argument is given as NULL.

BEFORE_SCHEDULE_CYCLE_CALLBACK
This function is called just before the agent is scheduled. The "call_data" argument is given as NULL.

AFTER_SCHEDULE_CYCLE_CALLBACK
This function is called just after the agent is scheduled. The "call_data" argument is given as NULL.

BEFORE_DECISION_CYCLE_CALLBACK
This function is called at the start of each decision cycle. The "call_data" argument is given as NULL.

AFTER_DECISION_CYCLE_CALLBACK
This function is called at the end of each decision cycle. The "call_data" argument is given as NULL.

BEFORE_INPUT_PHASE_CALLBACK
This function is called at the start of each input phase. This is called even if the input cycle is effectively null because there is no top state. The "call_data" argument is given as NULL.

INPUT_PHASE_CALLBACK
This function is called during each input phase. The "call_data" argument contains the input mode currently being used.

AFTER_INPUT_PHASE_CALLBACK
This function is called at the end of each input phase. This is called even if the input cycle is effectively null because there is no top state. The "call_data" argument is given as NULL.

BEFORE_PREFERENCE_PHASE_CALLBACK
This function is called at the start of each preference phase. The "call_data" argument is given as NULL.

AFTER_PREFERENCE_PHASE_CALLBACK
This function is called at the end of each preference phase. The "call_data" argument is given as NULL.

BEFORE_WM_PHASE_CALLBACK
This function is called at the start of each working memory phase. The "call_data" argument is given as NULL.

AFTER_WM_PHASE_CALLBACK
This function is called at the end of each working memory phase. The "call_data" argument is given as NULL.

BEFORE_OUTPUT_PHASE_CALLBACK
This function is called at the start of each Soar output cycle. This is called even if the output cycle is effectively null because there is no top state. The "call_data" argument is given as NULL.

OUTPUT_PHASE_CALLBACK
This function is called during each Soar output cycle. The "call_data" argument is a structure which contains both the output mode being used and the list of output wmes.

AFTER_OUTPUT_PHASE_CALLBACK
This function is called at the end of each Soar output cycle. This is called even if the output cycle is effectively null because there is no top state. The "call_data" argument is given as NULL.

BEFORE_DECISION_PHASE_CALLBACK
This function is called at the start of each decision phase. The "call_data" argument is given as NULL.

AFTER_DECISION_PHASE_CALLBACK
This function is called at the end of each decision phase. The "call_data" argument is given as NULL.

WM_CHANGES_CALLBACK
This function is called just before changes are made to working memory. The pre-callback hook function passed two arguments to the corresponding hook function. However, the "call_data" argument is given as NULL, in this callback. The wmes_being_added and wmes_being_removed can be retrieved from the agent structure already being passed.

CREATE_NEW_CONTEXT_CALLBACK
This function is called after a new goal context is created. The "call_data" argument is a pointer to a "Symbol" which is the new goal identifier. This goal identifier is equal to the agent variable bottom_goal.

POP_CONTEXT_STACK_CALLBACK
This function is called just before the context stack is popped. The "call_data" argument is a pointer to a "Symbol" which is the identifier of the goal about to be removed. This goal identifier is equal to the aget variable bottom_goal. If the stack is popped k levels at once, this routine is called k times in bottom-up order.

CREATE_NEW_ATTRIBUTE_IMPASSE_CALLBACK
This function is called just after an attribute impasse is created. The "call_data" argument is a pointer to a "slot" which is the impassed slot.

REMOVE_ATTRIBUTE_IMPASSE_CALLBACK
This function is called just before an attribute impasse is removed. The "call_data" argument is a pointer to a "slot" which is the impassed slot.

PRODUCTION_JUST_ADDED_CALLBACK
This function is called just after a production (including chunks and justifications) is added to the system. The "call_data" argument is a pointer to a "production" which is the production just added.

PRODUCTION_JUST_ABOUT_TO_BE_EXCISED_CALLBACK
This function is called just before a production (including chunks and justifications) is excised from the system. The "call_data" argument is a pointer to a "production" which is the production just about to be removed.

FIRING_CALLBACK
This function is called after every production firing. The "call_data" argument is a pointer to an "instantiation" which is the newly created instantiation.

RETRACTION_CALLBACK
This function is called before every production retraction. The "call_data" argument is a pointer to an "instantiation" which is the instantiation about to be retracted.

SYSTEM_PARAMETER_CHANGED_CALLBACK
This function is called after any change to one of the agent system parameters (e.g., learn on/off). See soarkernel.h for a list of these system parameters. The "call_data" argument is an "int" which indicates which system parameter is being changed. This function should examine the new value of the parameter by looking at the appropriate agent variable. (For most parameters, this means looking at the sysparams[] array.)

INIT_LAPSE_DURATION_CALLBACK
This function is called upon agent (re-initialization). The "call_data" argument is a "long" which indicates the time since the last lapse. It should be modified by the callback to indicate how long of an attention lapse should occur.
Enumeration values:
NO_CALLBACK 
SYSTEM_STARTUP_CALLBACK 
SYSTEM_TERMINATION_CALLBACK 
BEFORE_INIT_SOAR_CALLBACK 
AFTER_INIT_SOAR_CALLBACK 
AFTER_HALT_SOAR_CALLBACK 
BEFORE_SCHEDULE_CYCLE_CALLBACK 
AFTER_SCHEDULE_CYCLE_CALLBACK 
BEFORE_DECISION_CYCLE_CALLBACK 
AFTER_DECISION_CYCLE_CALLBACK 
BEFORE_INPUT_PHASE_CALLBACK 
INPUT_PHASE_CALLBACK 
AFTER_INPUT_PHASE_CALLBACK 
BEFORE_PREFERENCE_PHASE_CALLBACK 
AFTER_PREFERENCE_PHASE_CALLBACK 
BEFORE_WM_PHASE_CALLBACK 
AFTER_WM_PHASE_CALLBACK 
BEFORE_OUTPUT_PHASE_CALLBACK 
OUTPUT_PHASE_CALLBACK 
AFTER_OUTPUT_PHASE_CALLBACK 
BEFORE_DECISION_PHASE_CALLBACK 
AFTER_DECISION_PHASE_CALLBACK 
WM_CHANGES_CALLBACK 
CREATE_NEW_CONTEXT_CALLBACK 
POP_CONTEXT_STACK_CALLBACK 
CREATE_NEW_ATTRIBUTE_IMPASSE_CALLBACK 
REMOVE_ATTRIBUTE_IMPASSE_CALLBACK 
PRODUCTION_JUST_ADDED_CALLBACK 
PRODUCTION_JUST_ABOUT_TO_BE_EXCISED_CALLBACK 
FIRING_CALLBACK 
RETRACTION_CALLBACK 
SYSTEM_PARAMETER_CHANGED_CALLBACK 
PRINT_CALLBACK 
LOG_CALLBACK 
ASK_CALLBACK 
WAIT_CALLBACK 
INIT_LAPSE_DURATION_CALLBACK 
NUMBER_OF_CALLBACKS 

Definition at line 59 of file callback.h.

Referenced by soar_callback_name_to_enum(), soar_cCallbackNameToEnum(), soar_cListAllCallbacks(), soar_cRemoveAllMonitorableCallbacks(), soar_cTestAllMonitorableCallbacks(), and soar_init_callbacks().

enum SOAR_GLOBAL_CALLBACK_TYPE
 

Global (Agent Independent) Callbacks

All global callback functions installed by the user must use the function soar_add_global_callback. The type signature of all callback functions is the same as that used for agent-dependent callbacks and has the following form:

my_callback_fn(agent * a, soar_callback_data scd, soar_call_data call_data);

however, in some situations, the argument "a" may be NULL, whereas this will never be a case in a normal (agent-dependent) callback. All other parameter, mock those in a normal callback function. Below, arguments are specified for each global callback type:

GLB_CREATE_AGENT
This function is called just prior to the creation of a new agent. Because this is global becuase it is obviously impossible to register a normal callback with an agent which has not yet been created. The parameters passed to the callback function are: a --> NULL call_data --> (char *) agent_name

GLB_AGENT_CREATED
This function is called just after the creation of a new agent. The parameters passed to the callback function are: a --> a pointer to the new agent call_data --> the same as above, a pointer to the new agent

GLB_DESTROY_AGENT
This function is called just before an agent is destroyed. The parameters passed to the callback function are: a --> a pointer to the agent to be destroyed call_data --> the same as above, a pointer to the agent to be destroyed
Enumeration values:
NO_GLOBAL_CALLBACK 
GLB_CREATE_AGENT 
GLB_AGENT_CREATED 
GLB_DESTROY_AGENT 
NUMBER_OF_GLOBAL_CALLBACKS 

Definition at line 109 of file callback.h.

Referenced by soar_init_global_callbacks().


Function Documentation

void soar_callback_data_free_string soar_callback_data   ) 
 

Definition at line 125 of file callback.c.

References soar_callback_data.

char* soar_callback_enum_to_name SOAR_CALLBACK_TYPE  ,
bool 
 

Definition at line 130 of file callback.c.

References NUMBER_OF_CALLBACKS, and soar_callback_names.

Referenced by soar_cListAllCallbacks(), and soar_cTestAllMonitorableCallbacks().

void soar_destroy_callback soar_callback  ) 
 

Definition at line 183 of file callback.c.

References callback_struct::data, callback_struct::free_function, callback_struct::id, and soar_callback.

Referenced by soar_cPopCallback(), soar_cRemoveAllCallbacksForEvent(), soar_cRemoveCallback(), and soar_cRemoveGlobalCallback().

bool soar_exists_callback soar_callback_agent  ,
SOAR_CALLBACK_TYPE 
 

Definition at line 146 of file callback.c.

References agent, list, and soar_callback_agent.

Referenced by init_lapse_duration(), run_preference_semantics(), soar_cQuit(), soar_ecCloseLog(), and soar_Log().

soar_callback* soar_exists_callback_id soar_callback_agent  the_agent,
SOAR_CALLBACK_TYPE  callback_type,
soar_callback_id  id
 

Definition at line 162 of file callback.c.

References agent, cons, cons_struct::first, callback_struct::id, cons_struct::rest, soar_callback, soar_callback_agent, and soar_callback_id.

Referenced by soar_cAddOutputFunction(), soar_cRemoveOutputFunction(), and update_for_top_state_wme_addition().

bool soar_exists_global_callback SOAR_GLOBAL_CALLBACK_TYPE   ) 
 

Definition at line 466 of file callback.c.

References list, and soar_global_callbacks.

Referenced by soar_cCreateAgent(), and soar_cDestroyAgentByAddress().

void soar_init_callbacks soar_callback_agent   ) 
 

Definition at line 106 of file callback.c.

References agent, list, NUMBER_OF_CALLBACKS, soar_callback_agent, and SOAR_CALLBACK_TYPE.

Referenced by soar_default_create_agent_procedure().

void soar_init_global_callbacks void   ) 
 

Definition at line 116 of file callback.c.

References list, NUMBER_OF_GLOBAL_CALLBACKS, SOAR_GLOBAL_CALLBACK_TYPE, and soar_global_callbacks.

Referenced by soar_cInitializeSoar().

void soar_invoke_callbacks soar_callback_agent  ,
SOAR_CALLBACK_TYPE  ,
soar_call_data 
 

Definition at line 194 of file callback.c.

References AFTER_DECISION_CYCLE_CALLBACK, AFTER_DECISION_PHASE_CALLBACK, AFTER_INPUT_PHASE_CALLBACK, AFTER_OUTPUT_PHASE_CALLBACK, AFTER_PREFERENCE_PHASE_CALLBACK, AFTER_WM_PHASE_CALLBACK, agent, BEFORE_DECISION_CYCLE_CALLBACK, BEFORE_DECISION_PHASE_CALLBACK, BEFORE_INPUT_PHASE_CALLBACK, BEFORE_OUTPUT_PHASE_CALLBACK, BEFORE_PREFERENCE_PHASE_CALLBACK, BEFORE_WM_PHASE_CALLBACK, cons, callback_struct::data, cons_struct::first, callback_struct::function, INPUT_PHASE_CALLBACK, cons_struct::rest, soar_call_data, soar_callback, soar_callback_agent, start_timer(), and stop_timer().

Referenced by abort_with_fatal_error(), add_production_to_rete(), create_instantiation(), do_buffered_wm_changes(), do_input_cycle(), do_one_top_level_phase(), excise_production_from_rete(), just_before_exit_soar(), reteload_node_and_children(), retract_instantiation(), run_current_agent(), run_preference_semantics(), set_sysparam(), and soar_cReInitSoar().

void soar_invoke_first_callback soar_callback_agent  ,
SOAR_CALLBACK_TYPE  ,
soar_call_data 
 

Definition at line 338 of file callback.c.

References AFTER_DECISION_CYCLE_CALLBACK, AFTER_DECISION_PHASE_CALLBACK, AFTER_INPUT_PHASE_CALLBACK, AFTER_OUTPUT_PHASE_CALLBACK, AFTER_PREFERENCE_PHASE_CALLBACK, AFTER_WM_PHASE_CALLBACK, agent, BEFORE_DECISION_CYCLE_CALLBACK, BEFORE_DECISION_PHASE_CALLBACK, BEFORE_INPUT_PHASE_CALLBACK, BEFORE_OUTPUT_PHASE_CALLBACK, BEFORE_PREFERENCE_PHASE_CALLBACK, BEFORE_WM_PHASE_CALLBACK, callback_struct::data, cons_struct::first, callback_struct::function, INPUT_PHASE_CALLBACK, list, soar_call_data, soar_callback, soar_callback_agent, start_timer(), and stop_timer().

Referenced by print_string(), run_preference_semantics(), soar_cQuit(), soar_ecCloseLog(), soar_ecOpenLog(), and soar_Log().

void soar_invoke_global_callbacks soar_callback_agent  ,
SOAR_CALLBACK_TYPE  ,
soar_call_data 
 

Definition at line 479 of file callback.c.

References cons, callback_struct::data, cons_struct::first, callback_struct::function, cons_struct::rest, soar_call_data, soar_callback, soar_callback_agent, and soar_global_callbacks.

Referenced by soar_cCreateAgent(), soar_cDestroyAgentByAddress(), and soar_default_create_agent_procedure().


Generated on Thu Dec 11 13:00:25 2003 for Soar Kernel by doxygen 1.3.5