00001
00002
00003
00004
00005 #include "ruleExecMod.h"
00006 #include "reGlobalsExtern.h"
00007 #include "icatHighLevelRoutines.h"
00008
00009 int
00010 rsRuleExecMod (rsComm_t *rsComm, ruleExecModInp_t *ruleExecModInp )
00011 {
00012 rodsServerHost_t *rodsServerHost;
00013 int status;
00014
00015 status = getAndConnRcatHost(rsComm, MASTER_RCAT, NULL, &rodsServerHost);
00016 if (status < 0) {
00017 return(status);
00018 }
00019
00020 if (rodsServerHost->localFlag == LOCAL_HOST) {
00021 #ifdef RODS_CAT
00022 status = _rsRuleExecMod (rsComm, ruleExecModInp);
00023 #else
00024 status = SYS_NO_RCAT_SERVER_ERR;
00025 #endif
00026 }
00027 else {
00028 status = rcRuleExecMod(rodsServerHost->conn,
00029 ruleExecModInp);
00030 }
00031
00032 if (status < 0) {
00033 rodsLog (LOG_NOTICE,
00034 "rsRuleExecMod: rcRuleExecMod failed");
00035 }
00036 return (status);
00037 }
00038
00039 #ifdef RODS_CAT
00040 int
00041 _rsRuleExecMod (rsComm_t *rsComm,
00042 ruleExecModInp_t *ruleExecModInp )
00043 {
00044 int status;
00045
00046 status = chlModRuleExec(rsComm,
00047 ruleExecModInp->ruleId,
00048 &ruleExecModInp->condInput );
00049 return(status);
00050 }
00051 #endif