ARSperl
view release on metacpan or search on metacpan
PROTOTYPES: ENABLE
int
isa_int(...)
CODE:
{
if (items != 1)
croak("usage: isa_int(value)");
RETVAL = SvIOKp(ST(0));
}
OUTPUT:
RETVAL
int
isa_float(...)
CODE:
{
if (items != 1)
croak("usage: isa_int(value)");
RETVAL = SvNOKp(ST(0));
}
OUTPUT:
RETVAL
int
isa_string(...)
CODE:
{
if (items != 1)
croak("usage: isa_int(value)");
RETVAL = SvPOKp(ST(0));
}
OUTPUT:
RETVAL
HV *
ars_perl_qualifier(ctrl, in)
ARControlStruct * ctrl
ARQualifierStruct * in
CODE:
{
RETVAL = perl_qualifier(ctrl, in);
}
OUTPUT:
RETVAL
ARQualifierStruct *
ars_qualifier_ptr(ctrl, in)
ARControlStruct * ctrl
SV * in
CODE:
{
ARQualifierStruct *qual;
HV *h_dummy;
if( rv == 0 ){
RETVAL = qual;
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_PREREVFAIL );
RETVAL = NULL;
FreeARQualifierStruct(qual, TRUE);
}
ars_qualifier_ptr_end:;
}
OUTPUT:
RETVAL
ARQualifierStruct *
ars_LoadQualifier(ctrl,schema,qualstring,displayTag=NULL)
ARControlStruct * ctrl
char * schema
char * qualstring
char * displayTag
CODE:
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if (! ARError( ret, status)) {
RETVAL = qual;
} else {
RETVAL = NULL;
FreeARQualifierStruct(qual, TRUE);
}
}
OUTPUT:
RETVAL
void
__ars_Termination()
CODE:
{
#if AR_EXPORT_VERSION <= 3
int ret;
#endif
ARStatusList status;
(void) ARError_add(AR_RETURN_ERROR, AP_ERR_DEPRECATED, "__ars_init() is only available when compiled against ARS <= 3.2");
#endif
}
int
ars_APIVersion()
CODE:
{
RETVAL = AR_CURRENT_API_VERSION;
}
OUTPUT:
RETVAL
int
ars_SetServerPort(ctrl, name, port, progNum)
ARControlStruct * ctrl
char * name
int port
int progNum
CODE:
{
#if AR_EXPORT_VERSION >= 4
ret = ARSetServerPort(ctrl, name, port, progNum, &status);
if (! ARError(ret, status)) {
RETVAL = 1;
}
#else
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_SetServerPort() is only available in ARS >= 4.x");
#endif
}
OUTPUT:
RETVAL
ARControlStruct *
ars_Login(server, username, password, lang=NULL, authString=NULL, tcpport=0, rpcnumber=0, ...)
char * server
char * username
char * password
char * lang
char * authString
unsigned int tcpport
RETVAL = ctrl; /* valid, return ctrl struct */
}
if(s_ok == 0) {
DBG( ("s_ok == 0, cleaning ServerNameList\n") );
FreeARServerNameList(&serverList, FALSE);
}
ar_login_end:;
DBG( ("finished.\n") );
}
OUTPUT:
RETVAL
HV*
ars_VerifyUser(ctrl)
ARControlStruct * ctrl
CODE:
{
int ret = 0;
ARBoolean adminFlag = 0,
subAdminFlag = 0,
RETVAL = newHV();
sv_2mortal( (SV*) RETVAL );
hv_store( RETVAL, "adminFlag", strlen("adminFlag"), newSViv(adminFlag), 0);
hv_store( RETVAL, "subAdminFlag", strlen("subAdminFlag"), newSViv(subAdminFlag), 0);
hv_store( RETVAL, "customFlag", strlen("customFlag"), newSViv(customFlag), 0);
}else{
XSRETURN_UNDEF;
}
}
OUTPUT:
RETVAL
void
ars_GetControlStructFields(ctrl)
ARControlStruct * ctrl
PPCODE:
{
(void) ARError_reset();
if(!ctrl) return;
XPUSHs(sv_2mortal(newSViv(ctrl->cacheId)));
ars_GetCurrentServer(ctrl)
ARControlStruct * ctrl
CODE:
{
RETVAL = NULL;
(void) ARError_reset();
if(ctrl && ctrl->server) {
RETVAL = newSVpv( ctrl->server, strlen(ctrl->server) );
}
}
OUTPUT:
RETVAL
HV *
ars_GetProfileInfo(ctrl)
ARControlStruct * ctrl
CODE:
{
RETVAL = newHV();
sv_2mortal( (SV*) RETVAL );
(void) ARError_reset();
#ifdef PROFILE
hv_store(RETVAL, "queries", strlen("queries") ,
newSViv(((ars_ctrl *)ctrl)->queries), 0);
hv_store(RETVAL, "startTime", strlen("startTime") ,
newSViv(((ars_ctrl *)ctrl)->startTime), 0);
#else /* profiling not compiled in */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_OPT_NA,
"Optional profiling code not compiled into this build of ARSperl");
#endif
}
OUTPUT:
RETVAL
void
ars_Logoff(ctrl)
ARControlStruct * ctrl
CODE:
{
int ret = 0;
ARStatusList status;
Zero(&status, 1, ARStatusList);
create_entry_end:;
if(rv == 0) {
RETVAL = newSVsv(&PL_sv_undef);
} else {
RETVAL = newSVpv( entryId, strlen(entryId) );
}
AP_FREE(fieldList.fieldValueList);
if( getFieldIds.internalIdList != NULL ) AP_FREE(getFieldIds.internalIdList);
}
}
OUTPUT:
RETVAL
int
ars_DeleteEntry(ctrl,schema,entry_id)
ARControlStruct * ctrl
char * schema
char * entry_id
CODE:
{
int ret = 0;
#endif
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if (ARError(ret, status))
RETVAL = 0;
else
RETVAL = 1;
delete_fail:;
}
OUTPUT:
RETVAL
void
ars_GetEntryBLOB(ctrl,schema,entry_id,field_id,locType,locFile=NULL)
ARControlStruct * ctrl
char * schema
char * entry_id
ARInternalId field_id
int locType
char * locFile
if(helpText)
arsperl_FreeARTextString(helpText);
if(changeDiary)
arsperl_FreeARTextString(changeDiary);
if(label)
arsperl_FreeARTextString(label);
if(description)
arsperl_FreeARTextString(description);
}
}
OUTPUT:
RETVAL
void
ars_GetListServer()
PPCODE:
{
ARServerNameList serverList;
ARStatusList status;
int ret = 0;
unsigned int i = 0;
FreeARActiveLinkActionList(&elseList,FALSE);
FreeARWorkflowConnectStruct(&schemaList, FALSE);
FreeARPropList(&objPropList, FALSE);
if(helpText) arsperl_FreeARTextString(helpText);
if(changeDiary) arsperl_FreeARTextString(changeDiary);
}else{
XSRETURN_UNDEF;
}
}
OUTPUT:
RETVAL
HV *
ars_GetFilter(ctrl,name)
ARControlStruct * ctrl
char * name
CODE:
{
if(helpText) {
AP_FREE(helpText);
}
if(changeDiary) {
AP_FREE(changeDiary);
}
}else{
XSRETURN_UNDEF;
}
}
OUTPUT:
RETVAL
void
ars_GetServerStatistics(ctrl,...)
ARControlStruct * ctrl
PPCODE:
{
ARServerInfoRequestList requestList;
ARServerInfoList serverInfo;
int i = 0, ret = 0;
if (helpText) {
AP_FREE(helpText);
}
if (changeDiary) {
AP_FREE(changeDiary);
}
}else{
XSRETURN_UNDEF;
}
}
OUTPUT:
RETVAL
SV *
ars_ExpandCharMenu2(ctrl,name,qual=NULL)
ARControlStruct * ctrl
char * name
ARQualifierStruct * qual
CODE:
{
ARCharMenuStruct menuDefn;
#endif
if (! ARError(ret, status)) {
DBG( ("-> perl_expandARCharMenuStruct\n") );
RETVAL = perl_expandARCharMenuStruct(ctrl,
&menuDefn);
DBG( ("<- perl_expandARCharMenuStruct\n") );
FreeARCharMenuStruct(&menuDefn, FALSE);
DBG( ("after Free\n") );
}
}
OUTPUT:
RETVAL
HV *
ars_GetSchema(ctrl,name)
ARControlStruct * ctrl
char * name
CODE:
{
ARStatusList status;
int ret = 0;
if(helpText) {
AP_FREE(helpText);
}
if(changeDiary) {
AP_FREE(changeDiary);
}
FreeARCompoundSchema(&schema,FALSE);
FreeARSortList(&sortList,FALSE);
}
}
OUTPUT:
RETVAL
void
ars_GetListActiveLink(ctrl,schema=NULL,changedSince=0)
ARControlStruct * ctrl
char * schema
int changedSince
PPCODE:
{
ARNameList nameList;
if(helpText) {
/* AP_FREE(helpText); */ /* TS 20060207 disabled bc of memory errors with 5.8.8 */
}
if(changeDiary) {
AP_FREE(changeDiary);
}
}else{
XSRETURN_UNDEF;
}
}
OUTPUT:
RETVAL
HV*
ars_GetImage(ctrl,name)
ARControlStruct * ctrl
ARNameType name
CODE:
{
ARStatusList status;
XSRETURN_UNDEF;
}
#else /* prior to ARS 7.5 */
(void) ARError_reset();
Zero(&status, 1, ARStatusList);
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_GetImage() is only available in ARS >= 7.5");
XSRETURN_UNDEF;
#endif
}
OUTPUT:
RETVAL
int
ars_SetEntry(ctrl,schema,entry_id,getTime,...)
ARControlStruct * ctrl
char * schema
char * entry_id
unsigned long getTime
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if (! ARError( ret, status)) {
RETVAL = 1;
}
set_entry_end:;
if (fieldList.fieldValueList) AP_FREE(fieldList.fieldValueList);
set_entry_exit:;
}
OUTPUT:
RETVAL
SV *
ars_Export(ctrl,displayTag,vuiType,...)
ARControlStruct * ctrl
char * displayTag
unsigned int vuiType
CODE:
{
int ret = 0, i = 0, a = 0, c = (items - 3) / 2, ok = 1;
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if (! ARError(ret, status) ) {
RETVAL = newSVpv(buf, 0);
}
}
if(buf) arsperl_FreeARTextString(buf);
AP_FREE(structItems.structItemList);
}
OUTPUT:
RETVAL
int
ars_Import(ctrl,importOption=AR_IMPORT_OPT_CREATE,importBuf,...)
ARControlStruct * ctrl
char * importBuf
unsigned int importOption
CODE:
{
int ret = 1, i = 0, a = 0, c = (items - 2) / 2, ok = 1;
}
} else {
RETVAL = 0;
}
if (structItems != NULL)
{
AP_FREE(structItems->structItemList);
AP_FREE(structItems);
}
}
OUTPUT:
RETVAL
void
ars_GetListFilter(control,schema=NULL,changedsince=0)
ARControlStruct * control
char * schema
unsigned long changedsince
PPCODE:
{
ARNameList nameList;
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError(ret, status)) {
RETVAL = 1;
}
} else {
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
}
OUTPUT:
RETVAL
int
ars_DeleteVUI(ctrl, schema, vuiId)
ARControlStruct * ctrl
char * schema
ARInternalId vuiId
CODE:
{
ARStatusList status;
if(!ARError( ret, status)) {
RETVAL = 1;
}
} else {
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
#else /* 2.x */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "DeleteVUI() is only available in ARS3.x");
#endif
}
OUTPUT:
RETVAL
int
ars_DeleteCharMenu(ctrl, name)
ARControlStruct * ctrl
char * name
CODE:
{
char *objectModificationLogLabel = NULL;
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError( ret, status)) {
RETVAL = 1;
}
} else {
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
}
OUTPUT:
RETVAL
int
ars_DeleteEscalation(ctrl, name)
ARControlStruct * ctrl
char * name
CODE:
{
char *objectModificationLogLabel = NULL;
ARStatusList status;
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError( ret, status)) {
RETVAL = 1;
}
} else {
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
}
OUTPUT:
RETVAL
int
ars_DeleteField(ctrl, schema, fieldId, deleteOption=0)
ARControlStruct * ctrl
char * schema
ARInternalId fieldId
unsigned int deleteOption
CODE:
{
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError( ret, status)) {
RETVAL = 1;
}
} else {
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
}
OUTPUT:
RETVAL
int
ars_DeleteFilter(ctrl, name)
ARControlStruct * ctrl
char * name
CODE:
{
char *objectModificationLogLabel = NULL;
ARStatusList status;
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError( ret, status)) {
RETVAL = 1;
}
} else {
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
}
OUTPUT:
RETVAL
int
ars_DeleteContainer(ctrl, name)
ARControlStruct * ctrl
char * name
CODE:
{
char *objectModificationLogLabel = NULL;
ARStatusList status;
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError( ret, status)) {
RETVAL = 1;
}
} else {
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
}
OUTPUT:
RETVAL
int
ars_DeleteSchema(ctrl, name, deleteOption)
ARControlStruct * ctrl
char * name
unsigned int deleteOption
CODE:
{
char *objectModificationLogLabel = NULL;
#endif
&status);
#ifdef PROFILE
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError( ret, status))
RETVAL = 1;
} else
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
OUTPUT:
RETVAL
int
ars_DeleteMultipleFields(ctrl, schema, deleteOption, ...)
ARControlStruct * ctrl
char * schema
unsigned int deleteOption
CODE:
{
int i = 0, ret = 0, c = (items - 3);
((ars_ctrl *)ctrl)->queries++;
#endif
if(!ARError( ret, status))
RETVAL = 1;
FreeARInternalIdList(&fieldList, FALSE);
}
#else /* 2.x */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "Not available in 2.x");
#endif
}
OUTPUT:
RETVAL
int
ars_DeleteImage(ctrl, name, updateRef=FALSE)
ARControlStruct * ctrl
char * name
ARBoolean updateRef
CODE:
{
char *objectModificationLogLabel = NULL;
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
}
#else /* prior to ARS 7.5 */
(void) ARError_reset();
Zero(&status, 1, ARStatusList);
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_DeleteImage() is only available in ARS >= 7.5");
XSRETURN_UNDEF;
#endif
}
OUTPUT:
RETVAL
void
ars_ExecuteProcess(ctrl, command, runOption=0)
ARControlStruct * ctrl
char * command
int runOption
if(helpText) {
arsperl_FreeARTextString(helpText);
}
if(changeDiary) {
arsperl_FreeARTextString(changeDiary);
}
}else{
XSRETURN_UNDEF;
}
}
OUTPUT:
RETVAL
HV *
ars_GetFullTextInfo(ctrl)
ARControlStruct * ctrl
CODE:
{
ARFullTextInfoRequestList requestList;
ARFullTextInfoList fullTextInfo;
ARStatusList status;
case AR_FULLTEXTINFO_STATE:
hv_store(RETVAL, "State", strlen("State") ,
perl_ARValueStruct(ctrl,
&(fullTextInfo.fullTextInfoList[i].u.value)), 0);
break;
}
}
FreeARFullTextInfoList(&fullTextInfo, FALSE);
}
}
OUTPUT:
RETVAL
#ifdef GETLISTGROUP_OLD_STYLE
HV *
ars_GetListGroup(ctrl, userName=NULL,password=NULL)
ARControlStruct * ctrl
char * userName
av_push(gnameListList, newRV_noinc((SV *)gnameList));
}
hv_store(RETVAL, "groupId", strlen("groupId") , newRV_noinc((SV *)gidList), 0);
hv_store(RETVAL, "groupType", strlen("groupType") , newRV_noinc((SV *)gtypeList), 0);
hv_store(RETVAL, "groupName", strlen("groupName") , newRV_noinc((SV *)gnameListList), 0);
FreeARGroupInfoList(&groupList, FALSE);
}
}
OUTPUT:
RETVAL
#else
void
ars_GetListGroup(ctrl, userName=NULL,password=NULL)
ARControlStruct * ctrl
char * userName
char * password
PPCODE:
if(changeDiary) {
AP_FREE(changeDiary);
}
#else /* ars 2.x */
(void) ARError_reset();
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "Not available in 2.x");
RETVAL = newHV();
#endif
}
OUTPUT:
RETVAL
int
ars_CreateCharMenu( ctrl, menuDefRef, removeFlag=TRUE )
ARControlStruct * ctrl
SV * menuDefRef
ARBoolean removeFlag;
}
FreeARCharMenuStruct( &arMenuDef, FALSE );
FreeARPropList( &objPropList, FALSE );
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateCharMenu() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_SetCharMenu( ctrl, name, menuDefRef, removeFlag=TRUE )
ARControlStruct * ctrl
ARNameType name
SV * menuDefRef
if( objPropList != NULL ){
FreeARPropList( objPropList, TRUE );
}
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports SetCharMenu() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
#define STR_TEMP_SIZE 30
int
ars_CreateField( ctrl, schema, fieldDefRef, reservedIdOK=0 )
ARControlStruct * ctrl
ARNameType schema
SV * fieldDefRef
FreeARStatusList( &status, FALSE );
printf( "-- FreeARStatusList -- OK\n" ); // _DEBUG_
*/
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateField() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_SetField( ctrl, schema, fieldId, fieldDefRef )
ARControlStruct * ctrl
ARNameType schema
ARInternalId fieldId
SV * fieldDefRef
FreeARStatusList( &status, FALSE );
printf( "-- FreeARStatusList -- OK\n" ); // _DEBUG_
*/
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports SetField() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_CreateSchema( ctrl, schemaDefRef )
ARControlStruct * ctrl
SV * schemaDefRef
CODE:
if( objPropList != NULL ){
FreeARPropList( objPropList, TRUE ); // TODO: we need our own free routine
}
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateSchema() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_SetSchema( ctrl, name, schemaDefRef )
ARControlStruct * ctrl
ARNameType name
SV * schemaDefRef
if( objPropList != NULL ){
FreeARPropList( objPropList, TRUE );
}
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports SetSchema() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_CreateVUI( ctrl, schemaName, vuiDefRef )
ARControlStruct * ctrl
ARNameType schemaName
SV * vuiDefRef
}
FreeARPropList( &dPropList, FALSE );
FreeARPropList( &objPropList, FALSE );
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateVUI() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_SetVUI( ctrl, schemaName, vuiId, vuiDefRef )
ARControlStruct * ctrl
ARNameType schemaName
ARInternalId vuiId
SV * vuiDefRef
}
FreeARPropList( dPropList, TRUE );
FreeARPropList( objPropList, TRUE );
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports SetVUI() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_CreateContainer( ctrl, containerDefRef, removeFlag=TRUE )
ARControlStruct * ctrl
SV * containerDefRef
ARBoolean removeFlag;
FreeARContainerOwnerObjList( &ownerObjList, FALSE );
FreeARReferenceList( &references, FALSE );
FreeARPropList( &objPropList, FALSE );
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateContainer() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_SetContainer( ctrl, name, containerDefRef, removeFlag=TRUE )
ARControlStruct * ctrl
ARNameType name
SV * containerDefRef
if( objPropList != NULL ){
FreeARPropList( objPropList, TRUE );
}
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports SetContainer() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_CreateActiveLink(ctrl, alDefRef)
ARControlStruct * ctrl
SV * alDefRef
CODE:
{
#if AR_EXPORT_VERSION >= 3
FreeARActiveLinkActionList(&elseList, FALSE);
#else /* 2.x */
FreeARDisplayList(&displayList, FALSE);
#endif
#if AR_EXPORT_VERSION >= 5
FreeARPropList(&objPropList, FALSE);
FreeARNameList(&schemaNameList, FALSE);
#endif
}
OUTPUT:
RETVAL
int
ars_SetActiveLink(ctrl, name, objDefRef)
ARControlStruct * ctrl
ARNameType name
SV * objDefRef
CODE:
{
if( actionList != NULL ) { FreeARActiveLinkActionList( actionList, TRUE ); }
if( elseList != NULL ) { FreeARActiveLinkActionList( elseList, TRUE ); }
if( objPropList != NULL ) { FreeARPropList( objPropList, TRUE ); }
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateContainer() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_CreateFilter(ctrl, objDefRef)
ARControlStruct * ctrl
SV * objDefRef
CODE:
{
#if AR_EXPORT_VERSION >= 5
FreeARFilterActionList(&elseList, FALSE);
FreeARPropList(&objPropList, FALSE);
FreeARNameList(&schemaNameList, FALSE);
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateContainer() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_SetFilter(ctrl, name, objDefRef)
ARControlStruct * ctrl
ARNameType name
SV * objDefRef
CODE:
{
if( actionList != NULL ) { FreeARFilterActionList( actionList, TRUE ); }
if( elseList != NULL ) { FreeARFilterActionList( elseList, TRUE ); }
if( objPropList != NULL ) { FreeARPropList( objPropList, TRUE ); }
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateContainer() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_CreateEscalation(ctrl, objDefRef)
ARControlStruct * ctrl
SV * objDefRef
CODE:
{
#if AR_EXPORT_VERSION >= 5
FreeARFilterActionList(&elseList, FALSE);
FreeARPropList(&objPropList, FALSE);
FreeARNameList(&schemaNameList, FALSE);
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateContainer() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_SetEscalation(ctrl, name, objDefRef)
ARControlStruct * ctrl
ARNameType name
SV * objDefRef
CODE:
{
if( actionList != NULL ) { FreeARFilterActionList( actionList, TRUE ); }
if( elseList != NULL ) { FreeARFilterActionList( elseList, TRUE ); }
if( objPropList != NULL ) { FreeARPropList( objPropList, TRUE ); }
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ARSperl supports CreateContainer() only for ARSystem >= 5.0");
RETVAL = AR_RETURN_ERROR;
#endif
}
OUTPUT:
RETVAL
int
ars_CreateImage(ctrl, objDefRef)
ARControlStruct * ctrl
SV * objDefRef
CODE:
{
ARStatusList status;
FreeARImageDataStruct(&imageBuf, FALSE);
FreeARPropList(&objPropList, FALSE);
#else /* prior to ARS 7.5 */
(void) ARError_reset();
Zero(&status, 1, ARStatusList);
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_CreateImage() is only available in ARS >= 7.5");
XSRETURN_UNDEF;
#endif
}
OUTPUT:
RETVAL
int
ars_SetImage(ctrl, name, objDefRef)
ARControlStruct * ctrl
ARNameType name
SV * objDefRef
CODE:
{
ARStatusList status;
if( imageBuf != NULL ) { FreeARImageDataStruct(imageBuf, TRUE); }
if( objPropList != NULL ) { FreeARPropList(objPropList, TRUE); }
#else /* prior to ARS 7.5 */
(void) ARError_reset();
Zero(&status, 1, ARStatusList);
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_SetImage() is only available in ARS >= 7.5");
XSRETURN_UNDEF;
#endif
}
OUTPUT:
RETVAL
char *
ars_MergeEntry(ctrl, schema, mergeType, ...)
ARControlStruct * ctrl
char * schema
unsigned int mergeType
if (! ARError( ret, status)) {
DBG( ("MergeEntry returned %d\n", ret) );
DBG( ("entryId %s\n", SAFEPRT(entryId)) );
RETVAL = entryId;
}
merge_entry_end:;
if (fieldList.fieldValueList) AP_FREE(fieldList.fieldValueList);
merge_entry_exit:;
}
OUTPUT:
RETVAL
void
ars_GetMultipleEntries(ctrl,schema,...)
ARControlStruct * ctrl
char * schema
PPCODE:
{
int ret = 0;
unsigned int c = items - 3, i;
(void) ARError_reset();
msgTxt = ARGetTextForErrorMessage( msgId );
if( msgTxt != NULL ){
RETVAL = newSVpv( msgTxt, 0 );
free( msgTxt );
}else{
XSRETURN_UNDEF;
}
}
OUTPUT:
RETVAL
void
ars_ValidateMultipleLicenses(ctrl, ...)
ARControlStruct * ctrl
PPCODE:
{
ARStatusList status;
ARLicenseNameList licNameList;
RETVAL = jd;
}else{
XSRETURN_UNDEF;
}
#else /* < 5.1 */
RETVAL = NULL; /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_DateToJulianDate() is only supported for ARSystem >= 5.1");
#endif
}
OUTPUT:
RETVAL
SV *
ars_GetServerCharSet( ctrl )
ARControlStruct * ctrl
CODE:
{
#if AR_CURRENT_API_VERSION >= 12
char charSet[AR_MAX_LANG_SIZE+1];
ret = ARGetServerCharSet( ctrl, charSet, &status );
if( ! ARError(ret,status) ){
RETVAL = newSVpv( charSet, 0 );
}
#else /* < 7.0 */
RETVAL = NULL; /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_GetServerCharSet() is only available in ARSystem >= 7.0");
#endif
}
OUTPUT:
RETVAL
SV *
ars_GetClientCharSet( ctrl )
ARControlStruct * ctrl
CODE:
{
#if AR_CURRENT_API_VERSION >= 12
char charSet[AR_MAX_LANG_SIZE+1];
ret = ARGetClientCharSet( ctrl, charSet, &status );
if( ! ARError(ret,status) ){
RETVAL = newSVpv( charSet, 0 );
}
#else /* < 7.0 */
RETVAL = NULL; /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"ars_GetClientCharSet() is only available in ARSystem >= 7.0");
#endif
}
OUTPUT:
RETVAL
###################################################
# ALERT ROUTINES
int
ars_RegisterForAlerts(ctrl, clientPort, registrationFlags=0)
ARControlStruct * ctrl
ret = ARRegisterForAlerts(ctrl, clientPort,
registrationFlags, &status);
if( !ARError(ret, status) ) {
RETVAL = 1;
}
#else
(void) ARError_add(AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"RegisterForAlerts() is only available in ARSystem >= 5.0");
#endif
}
OUTPUT:
RETVAL
int
ars_DeregisterForAlerts(ctrl,clientPort)
ARControlStruct * ctrl
int clientPort
CODE:
{
ARStatusList status;
int ret = 0;
ret = ARDeregisterForAlerts(ctrl, clientPort,
&status);
if( !ARError(ret, status) ) {
RETVAL = 1;
}
#else
(void) ARError_add(AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"DeregisterForAlerts() is only available in ARSystem >= 5.0");
#endif
}
OUTPUT:
RETVAL
void
ars_GetListAlertUser(ctrl)
ARControlStruct * ctrl
PPCODE:
{
#if AR_EXPORT_VERSION >= 6
ARStatusList status;
ARAccessNameList userList;
&status);
if( !ARError(ret, status) ) {
/* RETVAL=sv_2mortal(newSViv(count)); */
RETVAL = newSViv(count);
}
#else
(void) ARError_add(AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"GetAlertCount() is only available in ARSystem >= 5.0");
#endif
}
OUTPUT:
RETVAL
HV *
ars_DecodeAlertMessage(ctrl,message,messageLen)
ARControlStruct * ctrl
unsigned char * message
unsigned int messageLen
CODE:
{
ARStatusList status;
if (sourceTag) AP_FREE(sourceTag);
if (serverName) AP_FREE(serverName);
if (serverAddr) AP_FREE(serverAddr);
if (formName) AP_FREE(formName);
if (objId) AP_FREE(objId);
#else
(void) ARError_add(AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"GetAlertCount() is only available in ARSystem >= 5.0");
#endif
}
OUTPUT:
RETVAL
SV *
ars_CreateAlertEvent(ctrl,user,alertText,priority,sourceTag,serverName,formName,objectId)
ARControlStruct * ctrl
char * user
char * alertText
int priority
ARNameType sourceTag
ARServerNameType serverName
&status);
if( !ARError(ret, status) ) {
RETVAL=newSVpvn(entryId, AR_MAX_ENTRYID_SIZE);
}
#else
(void) ARError_add(AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"CreateAlertEvent() is only available in ARSystem >= 5.0");
#endif
}
OUTPUT:
RETVAL
SV *
ars_GetSessionConfiguration(ctrl,variableId)
ARControlStruct* ctrl
unsigned int variableId
CODE:
{
#if AR_EXPORT_VERSION >= 6
int ret = 0;
{
RETVAL = &PL_sv_undef;
}
FreeARValueStruct(&varValue, FALSE);
#else /* < 5.0 */
XPUSHs(sv_2mortal(newSViv(0))); /* ERR */
(void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED,
"GetSessionConfiguration() is only available in ARSystem >= 5.0");
#endif
}
OUTPUT:
RETVAL
#
# Destructors for Blessed C structures
#
MODULE = ARS PACKAGE = ARControlStructPtr
void
DESTROY(ctrl)
char *
field_cache_key(ctrl)
ARControlStruct * ctrl
CODE:
{
char server_tag[100];
sprintf( server_tag, "%s:%p", ctrl->server, ctrl );
RETVAL = server_tag;
}
OUTPUT:
RETVAL
MODULE = ARS PACKAGE = ARQualifierStructPtr
void
DESTROY(qual)
ARQualifierStruct * qual
CODE:
{
ARS/CodeTemplate.pm view on Meta::CPAN
if( $line =~ /^@@\s+(\S+)\s+(.*)$/ ){
my( $openMode, $outFile ) = ( $1, $2 );
if( $outFile =~ /^<@(.*)@>\s*$/ ){
eval( 'package '.caller()."; \$outFile = $1; package ARS::CodeTemplate;" );
# print "OUTFILE: $outFile\n";
}
# print "OM($openMode) FILE($outFile)\n";
die "Syntax error in \"$line\"\n" unless $openMode =~ /^[>|]+$/;
if( defined $opt{debug} ){
print "#------------------------------------------------------------\n";
print "# OUTPUT: $line\n";
print $pCode;
print "#------------------------------------------------------------\n\n";
}else{
eval( 'package '.caller()."; $pCode; package ARWT::Template;" );
if( $@ ){
warn $@, "\n";
exit 1;
}
open( OUTPUT, "$openMode $outFile" ) or die "Open Error($openMode $outFile): $!\n";
print OUTPUT $output;
close OUTPUT;
}
( $pFlag, $pCode, $output ) = ( 0, '', '' );
}elsif( $line =~ s/^@>+// ){
$pCode .= "$line\n";
}else{
$pCode .= '$output .= $LINE_INDENT;';
$pCode .= '$output .= ';
$pCode .= "'' . \"\\n\";\n" if $line eq '';
while( $line ){
if( $pFlag ){
ARPropList * T_PTROBJ
ARInternalId T_IV
ARBoolean T_IV
ARTimestamp T_IV
NTBoolean T_IV
NTPortAddr T_IV
ARAccessNameType T_CAR
ARNameType T_CAR
ARServerNameType T_CAR
INPUT
T_CAR
strncpy($var, SvPV($arg, PL_na), sizeof($type))
( run in 0.443 second using v1.01-cache-2.11-cpan-4e96b696675 )