00001 #include "soarkernel.h"
00002 #include "soar_core_api.h"
00003 #include "soar_ecore_api.h"
00004
00005
00006
00007
00008
00009
00010
00011
00012 agent *create_soar_agent(char *name)
00013 {
00014 soar_cCreateAgent(name);
00015 return (agent *) soar_cGetAgentByName(name);
00016 }
00017
00018
00019
00020
00021 void destroy_soar_agent(agent * d)
00022 {
00023 soar_cDestroyAgentByAddress(d);
00024 }
00025
00026
00027
00028
00029 void reinitialize_soar(void)
00030 {
00031 soar_cReInitSoar();
00032 }
00033
00034
00035
00036
00037 void init_soar(void)
00038 {
00039 soar_cInitializeSoar();
00040 }
00041
00042
00043
00044
00045 void add_input_function(agent * a, soar_callback_fn f,
00046 soar_callback_data cb_data, soar_callback_free_fn free_fn, char *name)
00047 {
00048 soar_cAddInputFunction(a, f, cb_data, free_fn, name);
00049 }
00050
00051
00052
00053
00054 void remove_input_function(agent * a, char *name)
00055 {
00056 soar_cRemoveInputFunction(a, name);
00057 }
00058
00059
00060
00061
00062 void add_output_function(agent * a, soar_callback_fn f,
00063 soar_callback_data cb_data, soar_callback_free_fn free_fn, char *output_link_name)
00064 {
00065 soar_cAddOutputFunction(a, f, cb_data, free_fn, output_link_name);
00066
00067 }
00068
00069
00070
00071
00072 void remove_output_function(agent * a, char *name)
00073 {
00074
00075 soar_cRemoveOutputFunction(a, name);
00076 }
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092 void explain_trace_named_chunk(char *name)
00093 {
00094 soar_ecExplainChunkTrace(name);
00095 }
00096
00097
00098
00099
00100
00101
00102 void explain_cond_list(char *name)
00103 {
00104 soar_ecExplainChunkConditionList(name);
00105 }
00106
00107
00108
00109
00110
00111
00112 void explain_chunk(char *name, int cond_number)
00113 {
00114 soar_ecExplainChunkCondition(name, cond_number);
00115 }
00116
00117
00118
00119
00120
00121 void soar_test_all_monitorable_callbacks(soar_callback_agent a)
00122 {
00123 soar_cTestAllMonitorableCallbacks(a);
00124 }
00125
00126
00127
00128
00129
00130 void soar_remove_all_callbacks_for_event(soar_callback_agent a, SOAR_CALLBACK_TYPE ct)
00131 {
00132 soar_cRemoveAllCallbacksForEvent(a, ct);
00133 }
00134
00135
00136
00137
00138
00139 void soar_remove_all_monitorable_callbacks(soar_callback_agent a)
00140 {
00141
00142 soar_cRemoveAllMonitorableCallbacks(a);
00143 }
00144
00145
00146
00147
00148
00149 void soar_list_all_callbacks_for_event(soar_callback_agent a, SOAR_CALLBACK_TYPE ct)
00150 {
00151
00152 soar_cListAllCallbacksForEvent(a, ct);
00153 }
00154
00155
00156
00157
00158
00159
00160 void soar_list_all_callbacks(soar_callback_agent a, bool monitorable_only)
00161 {
00162
00163 soar_cListAllCallbacks(a, monitorable_only);
00164 }
00165
00166
00167
00168
00169
00170 SOAR_CALLBACK_TYPE soar_callback_name_to_enum(char *name, bool monitorable_only)
00171 {
00172
00173 return soar_cCallbackNameToEnum(name, monitorable_only);
00174 }
00175
00176
00177
00178
00179
00180
00181 void print_rete_statistics(void)
00182 {
00183
00184 soar_ecPrintReteStatistics();
00185 }
00186
00187
00188
00189
00190
00191
00192 void print_memory_statistics(void)
00193 {
00194
00195 soar_ecPrintMemoryStatistics();
00196 }
00197
00198
00199
00200
00201
00202 void print_memory_pool_statistics(void)
00203 {
00204
00205 soar_ecPrintMemoryPoolStatistics();
00206 }
00207
00208
00209
00210
00211
00212 void print_internal_symbols(void)
00213 {
00214
00215 soar_ecPrintInternalSymbols();
00216 }
00217
00218 void print_memories(int n, byte type[])
00219 {
00220 soar_ecPrintMemories(n, (int *) type);
00221 }