liboaa.h
来自「SRI international 发布的OAA框架软件」· C头文件 代码 · 共 166 行
H
166 行
/**************************************************************************** * File : liboaa.h * Author : Adam Cheyer * Updated : 5/21/97 * * ------------------------------------------------------------------------- * Unpublished-rights reserved under the copyright laws of the United States. * * This data and information is proprietary to, and a valuable trade * secret of, SRI International. It is given in confidence by SRI * International. Its use, duplication, or disclosure is subject to the * restrictions set forth in the License Agreement under which it has * been distributed. * * Unpublished Copyright (c) 1993-97, SRI International. * ------------------------------------------------------------------------- * *****************************************************************************/#ifndef _AGENTLIB_H_INCLUDED#define _AGENTLIB_H_INCLUDED#ifdef __cplusplusextern "C" {#endif#ifdef IS_DLL#define EXTERN __declspec(dllexport)#else#define EXTERN extern#endif#ifndef FALSE#define FALSE 0#define TRUE 1#endif#ifndef _WINDOWS#include <unistd.h>#else#include "oaa-windows.h"#endif#include <libtrigger.h>#include <libutils.h> /***************************************************************************** * Initialization and connection functions *****************************************************************************/ EXTERN int oaa_Register(char *ConnectionId, char *AgentName, ICLTerm *Solvables); EXTERN void oaa_Ready(int ShouldPrint); /***************************************************************************** * Classifying and Manipulating ICL expressions *****************************************************************************/ EXTERN int icl_Builtin(ICLTerm *goal); EXTERN int icl_BasicGoal(ICLTerm *goal); EXTERN int icl_GetParamValue(ICLTerm *Param, ICLTerm *ParamList, ICLTerm **Result); EXTERN int icl_GetPermValue(ICLTerm *Perm, ICLTerm *PermList, ICLTerm **Result); EXTERN int icl_ConvertSolvables(int toStandard, ICLTerm *ShorthandSolvables, ICLTerm **StandardSolvables); /* ************************************************************************** * Retrieving and managing events * *************************************************************************/ EXTERN int oaa_Init(int argc, char* argv[]); EXTERN void oaa_MainLoop(int ShouldPrint); EXTERN void oaa_ProcessAllEvents(); EXTERN void oaa_ProcessEvent(ICLTerm *Event, ICLTerm *Params); EXTERN void oaa_SetTimeout(double NSecs); EXTERN void oaa_GetEvent(ICLTerm **Event, ICLTerm **Params, int LowestPriority); EXTERN int oaa_ValidateEvent(ICLTerm *E, ICLTerm **OkEvent); EXTERN int oaa_Interpret(ICLTerm *goal, ICLTerm *params, ICLTerm **solutions); EXTERN int oaa_DelaySolution(ICLTerm *id); EXTERN int oaa_ReturnDelayedSolutions(ICLTerm *id, ICLTerm *solution_list); EXTERN int oaa_AddDelayedContextParams(ICLTerm *id, ICLTerm *params, ICLTerm **new_params); EXTERN int oaa_PostEvent(ICLTerm *contents, ICLTerm *params); EXTERN int oaa_Version(ICLTerm *agent_id, ICLTerm **language, ICLTerm **version); EXTERN int oaa_CanSolve(ICLTerm *goal, ICLTerm **kslist); EXTERN int oaa_Ping(ICLTerm *agent_addr, double time_limit, double *total_response_time); EXTERN int oaa_Declare(ICLTerm *solvable, ICLTerm *initial_common_perms, ICLTerm *initial_common_params, ICLTerm *initial_params, ICLTerm **declared_solvables); EXTERN int oaa_DeclareData(ICLTerm *solv, ICLTerm *params, ICLTerm **declared_solvs); EXTERN int oaa_Undeclare(ICLTerm *solvable, ICLTerm *initial_params, ICLTerm **undeclared_solvables); EXTERN int oaa_Redeclare(ICLTerm *initial_solvable, ICLTerm *initial_new_solvable, ICLTerm *initial_params); EXTERN int oaa_AddData(ICLTerm *clause, ICLTerm *in_params, ICLTerm **out_params); EXTERN int oaa_RemoveData(ICLTerm *clause, ICLTerm *in_params, ICLTerm **out_params); EXTERN int oaa_ReplaceData(ICLTerm *clause1, ICLTerm *clause2, ICLTerm *in_params, ICLTerm **out_params); EXTERN int oaa_Id(ICLTerm **my_id); EXTERN int oaa_Name(ICLTerm **my_name); EXTERN int oaa_Address(char* connectionId, ICLTerm* Type, ICLTerm **myAddress); EXTERN int oaa_PrimaryAddress(ICLTerm** primaryAddress); EXTERN int oaa_PrimaryId(ICLTerm** primaryId); EXTERN int oaa_Solve(ICLTerm *goal, ICLTerm *initial_params, ICLTerm **out_params, ICLTerm **solutions); EXTERN int oaa_InCache(ICLTerm *goal, ICLTerm **solutions); EXTERN int oaa_AddToCache(ICLTerm *goal, ICLTerm *solutions); EXTERN int oaa_ClearCache(); EXTERN int oaa_RegisterCallback(char *callback_id, int (*callback_proc)(ICLTerm*, ICLTerm*, ICLTerm*)); EXTERN int oaa_GetCallback(char* callback_id, int (**callback_proc)(ICLTerm*, ICLTerm*, ICLTerm*)); EXTERN int oaa_TraceMsg(char *format_string, ...); EXTERN char *oaa_name_string(void); EXTERN int memberchk(ICLTerm *Param, ICLTerm *ParamList); EXTERN int oaa_Connect(char *ConnectionId, ICLTerm *Address, char *InitialAgentName, ICLTerm *Params); EXTERN int oaa_Disconnect(char* ConnectionId, ICLTerm *Params); EXTERN int oaa_SetupCommunication(char *InitialAgentName); EXTERN int oaa_LibraryVersion(ICLTerm** versionCopy); /** * @deprecated use oaa_LibraryVersion() */ EXTERN char* oaa_library_version_str; /**************************************************************************** * Macros ****************************************************************************/ /** * @deprecated use oaa_LibraryVersion() */#define OAA_LIBRARY_VERSION oaa_library_version_str;#ifndef STREQ#define STREQ(str1, str2) (strcmp((str1), (str2)) == 0)#endif// Function which sleeps a specified number of milliseconds
#ifdef _WINDOWS#define sleep_millis(n) Sleep(n)#else#define sleep_millis(n) usleep((n)*1000L)#endif#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?