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

soar_core_api.h

Go to the documentation of this file.
00001 
00061 #ifndef _SOAR_CORE_API_H_       /* excludeFromBuildInfo */
00062 #define _SOAR_CORE_API_H_
00063 
00064 #include "soarkernel.h"
00065 #include "callback.h"
00066 #include "soarapi_datatypes.h"
00067 
00068 /* *************************************************************************
00069  * *************************************************************************/
00070 
00082 /* *************************************************************************
00083  * *************************************************************************/
00084 
00098 extern void soar_cInitializeSoar(void);
00099 
00123 extern int soar_cReInitSoar(void);
00124 
00141 extern void soar_cCreateAgent(const char *agent_name);
00142 
00176 extern int soar_cRun(long n, bool all, enum go_type_enum type, enum soar_apiSlotType slot);
00177 
00186 extern void soar_cStopAllAgents(void);
00187 
00199 extern void soar_cStopCurrentAgent(const char *reason);
00200 
00221 extern int soar_cDestroyAgentByName(const char *name);
00222 
00242 extern int soar_cDestroyAllAgentsWithName(char *name);
00243 
00262 extern void soar_cDestroyAgentByAddress(psoar_agent delete_agent);
00263 
00293 extern int soar_cDestroyAgentById(int agent_id);
00294 
00311 extern void soar_cQuit(void);
00312 
00315 /* *************************************************************************
00316  * *************************************************************************/
00317 
00329 /* *************************************************************************
00330  * *************************************************************************/
00331 
00354 extern int soar_cLoadReteNet(const char *filename);
00355 
00375 extern int soar_cSaveReteNet(const char *filename);
00376 
00411 /*extern unsigned long soar_cAddWme( const char *szId, const char *szAttr, const char *szValue,*/
00412 extern long soar_cAddWme(const char *szId, const char *szAttr, const char *szValue, bool accept, psoar_wme * new_wme);
00413 
00432 extern int soar_cRemoveWmeUsingTimetag(int num);
00433 
00458 extern int soar_cRemoveWme(psoar_wme wme);
00459 
00476 extern void soar_cExciseAllProductions(void);
00477 
00493 extern void soar_cExciseAllTaskProductions(void);
00494 
00516 extern void soar_cExciseAllProductionsOfType(byte type);
00517 
00536 extern int soar_cExciseProductionByName(const char *name);
00537 
00540 /* *************************************************************************
00541  * *************************************************************************/
00542 
00549 /* *************************************************************************
00550  * *************************************************************************/
00566 extern void soar_cSetSystemParameter(int param, long value);
00567 
00568 /*#define soar_cGetInputPeriod() (soar_agent->input_period)*/
00569 #define soar_cGetInputPeriod() (current_agent(input_period))
00570 
00571 /*#define soar_cSetInputPeriod(p) ((p >= 0)?(soar_agent->input_period = p) : -1)*/
00572 #define soar_cSetInputPeriod(p) ((p >= 0)?(current_agent(input_period) = p) : -1)
00573 
00574 /*#define soar_cGetVerbosity() (soar_agent->soar_verbose_flag)*/
00575 #define soar_cGetVerbosity() (current_agent(soar_verbose_flag))
00576 
00577 /*#define soar_cSetVerbosity(x) ((soar_agent->soar_verbose_flag) = (x))*/
00578 #define soar_cSetVerbosity(x) ((current_agent(soar_verbose_flag)) = (x))
00579 
00580 #ifndef NO_TIMING_STUFF
00581 
00607 extern double soar_cDetermineTimerResolution(double *min, double *max);
00608 #endif
00609 
00610 #ifdef DC_HISTOGRAM
00611 
00633 extern void soar_cInitializeDCHistogram(int size, int freq);
00634 #endif                          /* DC_HISTOGRAM */
00635 
00636 #ifdef KT_HISTOGRAM
00637 
00658 extern void soar_cInitializeKTHistogram(int size);
00659 #endif                          /* KT_HISTOGRAM */
00660 
00677 extern void soar_cSetChunkNameLong(bool truly);
00678 
00704 extern int soar_cSetChunkNameCount(long count);
00705 
00726 extern int soar_cSetChunkNamePrefix(const char *prefix);
00727 
00745 extern void soar_cSetLearning(enum soar_apiLearningSetting setting);
00746 
00765 extern int soar_cSetOperand2(bool turnOn);
00766 
00780 extern void soar_cSetWaitSNC(bool wait);
00781 
00800 extern int soar_cMultiAttributes(const char *attr, int value);
00801 
00827 extern int soar_cAttributePreferencesMode(int mode);
00828 
00831 /* *************************************************************************
00832  * *************************************************************************/
00833 
00841 /* *************************************************************************
00842  * *************************************************************************/
00869 extern void soar_cAddInputFunction(agent * a, soar_callback_fn f,
00870                                    soar_callback_data cb_data, soar_callback_free_fn free_fn, const char *name);
00871 
00889 extern void soar_cRemoveInputFunction(agent * a, const char *name);
00890 
00920 extern void soar_cAddOutputFunction(agent * a, soar_callback_fn f,
00921                                     soar_callback_data cb_data,
00922                                     soar_callback_free_fn free_fn, const char *output_link_name);
00923 
00942 extern void soar_cRemoveOutputFunction(agent * a, const char *name);
00943 
00970 extern void soar_cPushCallback(soar_callback_agent a,
00971                                SOAR_CALLBACK_TYPE type,
00972                                soar_callback_fn fn, soar_callback_data data, soar_callback_free_fn free_fn);
00973 
01000 extern void soar_cAddCallback(soar_callback_agent a,
01001                               SOAR_CALLBACK_TYPE type,
01002                               soar_callback_fn fn,
01003                               soar_callback_data data, soar_callback_free_fn free_fn, soar_callback_id id);
01004 
01026 extern void soar_cPopCallback(soar_callback_agent a, SOAR_CALLBACK_TYPE type);
01027 
01046 extern void soar_cRemoveCallback(soar_callback_agent a, SOAR_CALLBACK_TYPE type, soar_callback_id id);
01047 
01074 extern void soar_cAddGlobalCallback(SOAR_GLOBAL_CALLBACK_TYPE type,
01075                                     soar_callback_fn fn,
01076                                     soar_callback_data data, soar_callback_free_fn free_fn, soar_callback_id id);
01077 
01093 extern void soar_cRemoveGlobalCallback(SOAR_GLOBAL_CALLBACK_TYPE type, soar_callback_id id);
01094 
01112 extern void soar_cListAllCallbacks(soar_callback_agent a, bool monitorable_only);
01113 
01128 extern void soar_cListAllCallbacksForEvent(soar_callback_agent agent, SOAR_CALLBACK_TYPE type);
01129 
01144 extern void soar_cRemoveAllMonitorableCallbacks(soar_callback_agent agent);
01145 
01161 extern void soar_cRemoveAllCallbacksForEvent(soar_callback_agent agent, SOAR_CALLBACK_TYPE type);
01162 
01180 extern void soar_cTestAllMonitorableCallbacks(soar_callback_agent the_agent);
01181 
01200 extern SOAR_CALLBACK_TYPE soar_cCallbackNameToEnum(const char *name, bool monitor_only);
01201 
01202 extern void soar_cDefaultAskCallback(soar_callback_agent the_agent, soar_callback_data data, soar_call_data call_data);
01203 
01206 /* *************************************************************************
01207  * *************************************************************************/
01208 
01218 /* *************************************************************************
01219  * *************************************************************************/
01251 extern char *soar_cGetWmeId(psoar_wme w, char *buff, size_t buff_size);
01252 
01280 extern char *soar_cGetWmeAttr(psoar_wme w, char *buff, size_t buff_size);
01281 
01309 extern char *soar_cGetWmeValue(psoar_wme w, char *buff, size_t buff_size);
01310 
01325 extern unsigned long soar_cGetWmeTimetag(psoar_wme w);
01326 
01353 extern unsigned long soar_cAddIntWme(char *szId, char *szAttr, int value,
01354                                      bool acceptable_preference, psoar_wme * new_wme);
01355 
01382 extern unsigned long soar_cAddFloatWme(char *szId, char *szAttr, float value,
01383                                        bool acceptable_preference, psoar_wme * new_wme);
01384 
01406 extern void soar_cInitAgentIterator(soar_apiAgentIterator * ai);
01407 
01434 extern bool soar_cStepAgentIterator(soar_apiAgentIterator * ai);
01435 
01454 extern psoar_agent soar_cGetAgentByName(char *name);
01455 
01472 int soar_cGetIdForAgentByName(char *name);
01473 
01488 bool soar_cSetCurrentAgentByName(char *name);
01489 
01504 void soar_cSetCurrentAgent(psoar_agent agent);
01505 
01516 psoar_agent soar_cGetCurrentAgent();
01517 
01543 char *soar_cGetAgentInputLinkId(psoar_agent a, char *buff, size_t buff_size);
01544 
01570 char *soar_cGetAgentOutputLinkId(psoar_agent a, char *buff, size_t buff_size);
01571 
01587 int soar_cGetAgentId(psoar_agent a);
01588 
01604 #ifdef USE_STDARGS
01605 void print(char *format, ...);
01606 #else
01607 void print();
01608 #endif
01609 
01612 #endif

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