00001 #ifndef _SOAR_ECORE_UTILS_H_
00002 #define _SOAR_ECORE_UTILS_H_
00003
00004 #include "soarkernel.h"
00005 #include "soar_core_utils.h"
00006 #include "soarapi_datatypes.h"
00007
00008 typedef struct production_memory_use_struct {
00009 Symbol *name;
00010 int mem;
00011 struct production_memory_use_struct *next;
00012 } production_memory_use;
00013
00014 typedef struct wme_filter_struct {
00015 Symbol *id;
00016 Symbol *attr;
00017 Symbol *value;
00018 bool adds;
00019 bool removes;
00020 } wme_filter;
00021
00022 typedef struct replayed_id_map_struct {
00023
00024 struct replayed_id_map_struct *next;
00025
00026 char *from;
00027 char *to;
00028 } replayed_id_map;
00029
00030 void cb_soar_PrintToFile(soar_callback_agent a, soar_callback_data d, soar_call_data c);
00031
00032 #ifdef USE_CAPTURE_REPLAY
00033 extern void capture_input_wme(enum captured_action_type action, soarapi_wme * sw, wme * w);
00034 extern void replay_input_wme(soar_callback_agent agent, soar_callback_data dummy, soar_call_data mode);
00035 #endif
00036
00037 extern int compare_firing_counts(const void *e1, const void *e2);
00038
00039 extern production_memory_use *print_memories_insert_in_list(production_memory_use * n, production_memory_use * l);
00040 extern int read_wme_filter_component(const char *s, Symbol ** sym);
00041 extern void soar_alternate_input(agent * ai_agent, const char *ai_string, const char *ai_suffix, bool ai_exit);
00042
00043 extern int read_attribute_from_string(Symbol * id, const char *the_lexeme, Symbol * *attr);
00044 extern void print_preference_and_source(preference * pref, bool print_source, wme_trace_type wtt);
00045
00046 unsigned long int hash_soar_id_string(void *id, short nbits);
00047 char *replayed_hash_contains_id(char *fromid);
00048 #endif