ARSperl

 view release on metacpan or  search on metacpan

ARS.pm  view on Meta::CPAN

#    of ARSperl (or the one that accompanies the source distribution of Perl
#    itself) for a full description.
#
#    Official Home Page: 
#    http://www.arsperl.org
#
#    Mailing List (must be subscribed to post):
#    arsperl@arsperl.org
#

# Routines for grabbing the current error message "stack" 
# by simply referring to the $ars_errstr scalar.


package ARS::ERRORSTR;
sub TIESCALAR {
    bless {};
}
sub FETCH {
    my($s, $i) = (undef, undef);
    my(%mTypes) = ( 0 => "OK", 1 => "WARNING", 2 => "ERROR", 3 => "FATAL",

ARS.pm  view on Meta::CPAN

#   ars_padEntryid(control, schema, entry-id)
#
# DESCRIPTION
#   this routine will left-pad the entry-id with
#   zeros out to the appropriate number of place (15 max)
#   depending upon if your prefix your entry-id's with
#   anything
#
# RETURNS
#   a new scalar on success
#   undef on error

sub ars_padEntryid {
	my($c) = shift;
	my($schema) = shift;
	my($entry_id) = shift;
	my($field);

	# entry id field is field id #1
	($field = ars_GetField($c, $schema, 1)) ||
	return undef;

ARS.xs  view on Meta::CPAN

		DBG( ("safemalloc ARControlStruct\n") );
		ctrl = (ARControlStruct *)safemalloc(sizeof(ARControlStruct));
		/* DBG( ("malloc ARControlStruct\n") );
		ctrl = (ARControlStruct *)MALLOCNN(sizeof(ARControlStruct)); */
		Zero(ctrl, 1, ARControlStruct);
#endif
#ifdef PROFILE
		if (gettimeofday(&tv, 0) != -1)
			((ars_ctrl *)ctrl)->startTime = tv.tv_sec;
		else
			perror("gettimeofday");
#endif
		ctrl->cacheId = 0;
#if AR_EXPORT_VERSION >= 4
	 	ctrl->sessionId = 0;
#endif
		ctrl->operationTime = 0;
		strncpy(ctrl->user, username, sizeof(ctrl->user));
		ctrl->user[sizeof(ctrl->user)-1] = 0;
		strncpy(ctrl->password, password, sizeof(ctrl->password));
		ctrl->password[sizeof(ctrl->password)-1] = 0;

ARS.xs  view on Meta::CPAN

	ARControlStruct *	ctrl
	char *			schema
	char *			entry_id
	CODE:
	{
	  int            ret = 0;
	  ARStatusList   status;
#if AR_EXPORT_VERSION >= 3
	  AREntryIdList  entryList;

	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1, ARStatusList);
	  if(perl_BuildEntryList(ctrl, &entryList, entry_id) != 0)
		goto delete_fail;
	  ret = ARDeleteEntry(ctrl, schema, &entryList, 0, &status);
	  if (entryList.entryIdList) AP_FREE(entryList.entryIdList);
#else /* ARS 2 */
	  RETVAL = 0; /* assume error */
	  if(!entry_id || !*entry_id) {
		ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_EID);
		goto delete_fail;
	  }
	  ret = ARDeleteEntry(ctrl, schema, entry_id, &status);
#endif
#ifdef PROFILE
	  ((ars_ctrl *)ctrl)->queries++;
#endif
	  if (ARError(ret, status))

ARS.xs  view on Meta::CPAN

				&schemaList,  /* new in 4.5 */
#if AR_CURRENT_API_VERSION >= 17
				&assignedGroupList,
#endif
				&groupList,
				&executeMask, &controlField, &focusField,
				&enable, query, &actionList, &elseList, &helpText,
				&timestamp, owner, lastChanged, &changeDiary, 
				&objPropList, /* new in 4.5 */
#if AR_CURRENT_API_VERSION >= 14
				NULL,         /* errorActlinkOptions, reserved for future use */
				NULL,         /* errorActlinkName,    reserved for future use */
#endif
				&status);
#ifdef PROFILE
	  ((ars_ctrl *)ctrl)->queries++;
#endif

	  if (!ARError( ret,status)) {
	  RETVAL = newHV();
	  sv_2mortal( (SV*) RETVAL );	  	  
		hv_store(RETVAL,  "name", strlen("name") , newSVpv(name, 0), 0);

ARS.xs  view on Meta::CPAN

	  ARTimestamp timestamp;
	  ARAccessNameType  owner;
	  ARAccessNameType  lastChanged;
	  ARStatusList status;
	  SV         *ref;
	  ARQualifierStruct *query;
	  ARDiaryList      diaryList;
	  ARWorkflowConnectStruct  schemaList;
	  ARPropList       objPropList;
#if AR_CURRENT_API_VERSION >= 13
	  unsigned int errorFilterOptions;
	  ARNameType   errorFilterName;
#endif

	  AMALLOCNN(query,1,ARQualifierStruct);

	  (void) ARError_reset();
	  Zero(&actionList, 1, ARFilterActionList);
	  Zero(&elseList, 1, ARFilterActionList);
	  Zero(&timestamp, 1, ARTimestamp);
	  Zero(owner, 1, ARAccessNameType);
	  Zero(lastChanged, 1, ARAccessNameType);
	  Zero(&diaryList, 1, ARDiaryList);
	  Zero(&status, 1,ARStatusList);
	  Zero(&schemaList, 1, ARWorkflowConnectStruct);
	  Zero(&objPropList, 1, ARPropList);
#if AR_CURRENT_API_VERSION >= 13
	  Zero(&errorFilterName, 1,ARNameType);
#endif
	  ret = ARGetFilter(ctrl, name, &order, 
			    &schemaList,
			    &opSet, &enable, 
			    query, &actionList, &elseList, &helpText,
			    &timestamp, owner, lastChanged, &changeDiary,
			    &objPropList,
#if AR_CURRENT_API_VERSION >= 13
			    &errorFilterOptions,
			    errorFilterName,
#endif
			    &status);
#ifdef PROFILE
	  ((ars_ctrl *)ctrl)->queries++;
#endif
	  if (!ARError( ret,status)) {
	  RETVAL = newHV();
	  sv_2mortal( (SV*) RETVAL );
	    hv_store(RETVAL,  "name", strlen("name") , newSVpv(name, 0), 0);
	    hv_store(RETVAL,  "order", strlen("order") , newSViv(order), 0);

ARS.xs  view on Meta::CPAN

		ret = ARDecodeDiary(ctrl, changeDiary, &diaryList, &status);
		if (!ARError(ret, status)) {
			hv_store(RETVAL,  "changeDiary", strlen("changeDiary") ,
				perl_ARList(ctrl, (ARList *)&diaryList,
				(ARS_fn)perl_diary,
				sizeof(ARDiaryStruct)), 0);
			FreeARDiaryList(&diaryList, FALSE);
		}
	    }
#if AR_CURRENT_API_VERSION >= 13
	    hv_store(RETVAL,  "errorFilterOptions", strlen("errorFilterOptions") , newSViv(errorFilterOptions), 0);
	    hv_store(RETVAL,  "errorFilterName",    strlen("errorFilterName") ,    newSVpv(errorFilterName, 0), 0);
#endif
	    FreeARFilterActionList(&actionList,FALSE);
	    FreeARFilterActionList(&elseList,FALSE);
	    FreeARWorkflowConnectStruct(&schemaList, FALSE);
	    FreeARPropList(&objPropList, FALSE);
	    if(helpText) {
	      	AP_FREE(helpText);
	    }
	    if(changeDiary) {
	      	AP_FREE(changeDiary);

ARS.xs  view on Meta::CPAN

			hv_store(RETVAL,  "changeDiary", strlen("changeDiary") ,
				perl_ARList(ctrl, (ARList *)&diaryList,
				(ARS_fn)perl_diary,
				sizeof(ARDiaryStruct)), 0);
			FreeARDiaryList(&diaryList, FALSE);
		}
	    }
	    FreeARFieldLimitStruct(&limit,FALSE);
	    FreeARDisplayInstanceList(&displayList,FALSE);
	    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

ARS.xs  view on Meta::CPAN

	  unsigned int     dataType = 0, j = 0;
	  unsigned int     option = AR_JOIN_SETOPTION_NONE;
	  AREntryIdList    entryList;
	  HV              *cacheFields;

	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(&fieldList, 1, ARFieldValueList);
	  Zero(&getFieldIds, 1, ARInternalIdList);
	  Zero(&entryList, 1,AREntryIdList);
	  RETVAL = 0; /* assume error */
	  if ((items - 4) % 2) {
	    option = SvIV(ST(offset));
	    offset ++;
	  }
	  if (c < 1) {
	    (void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
	    goto set_entry_exit;
	  }

	  cacheFields = fieldcache_get_schema_fields( ctrl, schema, FALSE );

ARS.xs  view on Meta::CPAN

ars_DeleteMultipleFields(ctrl, schema, deleteOption, ...)
	ARControlStruct	*	ctrl
	char *			schema
	unsigned int		deleteOption
	CODE:
	{
	  int              i = 0, ret = 0, c = (items - 3);
	  ARStatusList     status;
	  ARInternalIdList fieldList;

	  RETVAL = 0; /* assume error */
	  Zero(&status, 1,ARStatusList);
	  Zero(&fieldList, 1, ARInternalIdList);
	  (void) ARError_reset();
#if AR_EXPORT_VERSION >= 3
	  if(items < 4)
	     (void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS);
	  else {
	     /* slurp in each fieldId and put it in a list */
	     fieldList.numItems = c;
	     fieldList.internalIdList = MALLOCNN(sizeof(ARInternalId) * c);

ARS.xs  view on Meta::CPAN

          unsigned int            ui = 0, count = 0;
	  unsigned int            rlist[AR_MAX_SERVER_INFO_USED];

	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(&requestList, 1, ARServerInfoRequestList);
	  Zero(&serverInfo, 1, ARServerInfoList);
	  count = 0;
	  if(items == 1) { /* none specified.. fetch all */
	     for(i = 0; i < AR_MAX_SERVER_INFO_USED ; i++) {
	        /* we'll exclude ones that can't be retrieved to avoid errors */
	        switch(i+1) {
	           case AR_SERVER_INFO_DB_PASSWORD:
#if AR_CURRENT_API_VERSION < 17
	           case 332:
	           case 331:
	           case 330:
	           case 329:
	           case 328:
	           case 327:
	           case 326:

ARS.xs  view on Meta::CPAN

		ARCharMenuStruct arMenuDef;
		char *helpText = NULL;
		ARAccessNameType owner;
		char *changeDiary = NULL;
		ARPropList objPropList;
	    char *objectModificationLogLabel = NULL;
		ARStatusList status;
		HV *menuDef = NULL;
		SV **pSvTemp;

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(&arMenuDef, 1,ARCharMenuStruct);
		Zero(owner, 1,ARAccessNameType);
		Zero(&objPropList, 1,ARPropList);
		Zero(&status, 1,ARStatusList);

		if( SvROK(menuDefRef) && SvTYPE(SvRV(menuDefRef)) == SVt_PVHV ){
			menuDef = (HV*) SvRV(menuDefRef);
		}else{
			croak("usage: ars_CreateCharMenu(...)");

ARS.xs  view on Meta::CPAN

		ARCharMenuStruct *arMenuDef = NULL;
		char *helpText = NULL;
		ARAccessNameType owner;
		char *changeDiary = NULL;
		ARPropList *objPropList = NULL;
		char *objectModificationLogLabel = NULL;
		ARStatusList status;
		HV *menuDef = NULL;
		SV **pSvTemp;

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(owner, 1,ARAccessNameType);
		Zero(&status, 1,ARStatusList);

		if( SvROK(menuDefRef) && SvTYPE(SvRV(menuDefRef)) == SVt_PVHV ){
			menuDef = (HV*) SvRV(menuDefRef);
		}else{
			croak("usage: ars_SetCharMenu(...)");
		}

ARS.xs  view on Meta::CPAN

		ARDisplayInstanceList dInstanceList;
		char *helpText = NULL;
		ARAccessNameType owner;
		char *changeDiary = NULL;
		ARPropList *objPropList = NULL;
		ARStatusList status;
		HV *fieldDef = NULL;
		SV **pSvTemp;
		char strTemp[STR_TEMP_SIZE+1];

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(owner, 1,ARAccessNameType);
		Zero(fieldName, 1,ARNameType);
		Zero(&status, 1,ARStatusList);
		Zero(&fieldMap, 1,ARFieldMappingStruct);
		Zero(&permissions, 1,ARPermissionList);
		Zero(&dInstanceList, 1, ARDisplayInstanceList);

		if( SvROK(fieldDefRef) && SvTYPE(SvRV(fieldDefRef)) == SVt_PVHV ){
			fieldDef = (HV*) SvRV(fieldDefRef);

ARS.xs  view on Meta::CPAN

#if AR_EXPORT_VERSION >= 9L
		unsigned int	setFieldOptions = 0;
#endif
		char *changeDiary = NULL;
		ARPropList *objPropList = NULL;
		ARStatusList status;
		HV *fieldDef = NULL;
		SV **pSvTemp;
		char strTemp[STR_TEMP_SIZE+1];

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(fieldName, 1,ARNameType);
		Zero(owner, 1,ARAccessNameType);
		Zero(&status, 1,ARStatusList);

		if( SvROK(fieldDefRef) && SvTYPE(SvRV(fieldDefRef)) == SVt_PVHV ){
			fieldDef = (HV*) SvRV(fieldDefRef);
		}else{
			croak("usage: ars_SetField(...)");
		}

ARS.xs  view on Meta::CPAN

		char *helpText = NULL;
		ARAccessNameType owner;
		char *changeDiary = NULL;
		ARPropList *objPropList = NULL;
		char *objectModificationLogLabel = NULL;
		ARStatusList status;
		HV *schemaDef = NULL;
		SV **pSvTemp;
		/* char strTemp[STR_TEMP_SIZE+1]; */

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(name, 1,ARNameType);
		Zero(&compoundSchema, 1,ARCompoundSchema);
		Zero(&groupList, 1,ARPermissionList);
		Zero(&admingrpList, 1,ARInternalIdList);
		Zero(&getListFields, 1,AREntryListFieldList);
		Zero(&sortList, 1,ARSortList);
		Zero(&indexList, 1,ARIndexList);
		Zero(defaultVui, 1,ARNameType);
		Zero(owner, 1,ARAccessNameType);

ARS.xs  view on Meta::CPAN

		ARAccessNameType owner;
		char *ownerPtr = NULL; 
		char *changeDiary = NULL;
		ARPropList *objPropList = NULL;
		char *objectModificationLogLabel = NULL;
		ARStatusList status;
		HV *schemaDef = NULL;
		SV **pSvTemp;
		/* char strTemp[STR_TEMP_SIZE+1]; */

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(newName, 1,ARNameType);
		Zero(defaultVui, 1,ARNameType);
		Zero(owner, 1,ARAccessNameType);
		Zero(&status, 1,ARStatusList);

		if( SvROK(schemaDefRef) && SvTYPE(SvRV(schemaDefRef)) == SVt_PVHV ){
			schemaDef = (HV*) SvRV(schemaDefRef);
		}else{
			croak("usage: ars_SetSchema(...)");

ARS.xs  view on Meta::CPAN

		unsigned int vuiType;
		ARPropList dPropList;
		char *helpText = NULL;
		ARAccessNameType owner;
		char *changeDiary = NULL;
		ARPropList objPropList;
		ARStatusList status;
		HV *vuiDef = NULL;
		SV **pSvTemp;

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(vuiName, 1,ARNameType);
		Zero(locale, 1,ARLocaleType);
		Zero(&dPropList, 1,ARPropList);
		Zero(&objPropList, 1,ARPropList);
		Zero(owner, 1,ARAccessNameType);
		Zero(&status, 1,ARStatusList);

		if( SvROK(vuiDefRef) && SvTYPE(SvRV(vuiDefRef)) == SVt_PVHV ){
			vuiDef = (HV*) SvRV(vuiDefRef);

ARS.xs  view on Meta::CPAN

		ARPropList *dPropList = NULL;
		char *helpText = NULL;
		ARAccessNameType owner;
		char *ownerPtr = NULL;
		char *changeDiary = NULL;
		ARPropList *objPropList = NULL;
		ARStatusList status;
		HV *vuiDef = NULL;
		SV **pSvTemp;

		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(vuiName, 1,ARNameType);
		Zero(locale, 1,ARLocaleType);
		Zero(owner, 1,ARAccessNameType);
		Zero(&status, 1,ARStatusList);


		if( SvROK(vuiDefRef) && SvTYPE(SvRV(vuiDefRef)) == SVt_PVHV ){
			vuiDef = (HV*) SvRV(vuiDefRef);
		}else{

ARS.xs  view on Meta::CPAN

		char *helpText = NULL;
		ARAccessNameType owner;
		char *changeDiary = NULL;
		ARPropList objPropList;
		char *objectModificationLogLabel = NULL;
		ARStatusList status;
		HV *containerDef = NULL;
		SV **pSvTemp;


		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(name, 1,ARNameType);
		Zero(&groupList, 1,ARPermissionList);
		Zero(&admingrpList, 1,ARInternalIdList);
		Zero(&ownerObjList, 1,ARContainerOwnerObjList);
		Zero(&references, 1,ARReferenceList);
		Zero(owner, 1,ARAccessNameType);
		Zero(&objPropList, 1,ARPropList);
		Zero(&status, 1,ARStatusList);

ARS.xs  view on Meta::CPAN

		char *helpText = NULL;
		ARAccessNameType owner;
		char *changeDiary = NULL;
		ARPropList *objPropList = NULL;
		char *objectModificationLogLabel = NULL;
		ARStatusList status;
		HV *containerDef = NULL;
		SV **pSvTemp;


		RETVAL = 0; /* assume error */
		(void) ARError_reset();
		Zero(newName, 1,ARNameType);
		Zero(owner, 1,ARAccessNameType);
		Zero(&status, 1,ARStatusList);

		if( SvROK(containerDefRef) && SvTYPE(SvRV(containerDefRef)) == SVt_PVHV ){
			containerDef = (HV*) SvRV(containerDefRef);
		}else{
			croak("usage: ars_SetContainer(...)");
		}

ARS.xs  view on Meta::CPAN

	  ARAccessNameType       owner;
	  char                  *changeDiary = CPNULL;
	  char                  *objectModificationLogLabel = NULL;
	  ARStatusList           status;
#if AR_EXPORT_VERSION >= 5
	  ARNameList              schemaNameList;
	  ARWorkflowConnectStruct schemaList;
	  ARPropList              objPropList;
#endif
	  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(schema, 1, ARNameType);
	  Zero(name, 1, ARNameType);
	  Zero(&groupList, 1,ARInternalIdList);
	  Zero(&actionList, 1,ARActiveLinkActionList);
	  Zero(owner, 1, ARAccessNameType);
#if AR_EXPORT_VERSION >= 3
	  Zero(&elseList, 1,ARActiveLinkActionList);
#else

ARS.xs  view on Meta::CPAN

		if(rv == 0) {
#if AR_EXPORT_VERSION >= 5
		   ret = ARCreateActiveLink(ctrl, name, order, &schemaList, 
					    &groupList, executeMask,
					    &controlField, &focusField, 
					    enable, query,
					    &actionList, &elseList, 
					    helpText, owner, changeDiary, 
					    &objPropList,
#if AR_CURRENT_API_VERSION >= 14
						0,            /* errorActlinkOptions, reserved for future use */
						NULL,         /* errorActlinkName,    reserved for future use */
#endif
#if AR_CURRENT_API_VERSION >= 17
					    objectModificationLogLabel,
#endif
					    &status);
#elif AR_EXPORT_VERSION >= 3
		   ret = ARCreateActiveLink(ctrl, name, order, schema, 
					    &groupList, executeMask,
					    &controlField, &focusField, 
					    enable, query,

ARS.xs  view on Meta::CPAN

	  ARActiveLinkActionList  *elseList   = NULL;
	  char                    *helpText = CPNULL;
	  ARAccessNameType         owner;
	  char                    *ownerPtr = NULL;
	  char                    *changeDiary = CPNULL;
	  char                    *objectModificationLogLabel = NULL;
	  ARStatusList             status;
	  ARWorkflowConnectStruct  *schemaList = NULL;
	  ARPropList               *objPropList = NULL;
	  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(newName, 1, ARNameType);
	  Zero(owner, 1, ARAccessNameType);

	  if(SvTYPE((SV *)SvRV(objDefRef)) != SVt_PVHV) {
		ARError_add( AR_RETURN_ERROR, AP_ERR_EXPECT_PVHV);
	  } else {
		HV *objDef = (HV *)SvRV(objDefRef);
		SV **qhv = hv_fetch(objDef,  "query", strlen("query") , 0);

ARS.xs  view on Meta::CPAN

		 */
		if(rv == 0) {
		   ret = ARSetActiveLink(ctrl, name, newNamePtr, order, schemaList, 
					    groupList, executeMask,
					    controlField, focusField, 
					    enable, query,
					    actionList, elseList, 
					    helpText, ownerPtr, changeDiary, 
					    objPropList,
#if AR_CURRENT_API_VERSION >= 14
						NULL,         /* errorActlinkOptions, reserved for future use */
						NULL,         /* errorActlinkName,    reserved for future use */
#endif
#if AR_CURRENT_API_VERSION >= 17
					    objectModificationLogLabel,
#endif
					    &status);
		   if(!ARError( ret, status))
			   RETVAL = 1;
		} else 
		   ARError_add( AR_RETURN_ERROR, AP_ERR_PREREVFAIL);
	  }

ARS.xs  view on Meta::CPAN

	  ARFilterActionList     elseList;
	  char                  *helpText = CPNULL;
	  ARAccessNameType       owner;
	  char                  *changeDiary = CPNULL;
	  char                  *objectModificationLogLabel = NULL;
	  ARStatusList           status;
	  ARNameList              schemaNameList;
	  ARWorkflowConnectStruct schemaList;
	  ARPropList              objPropList;
#if AR_CURRENT_API_VERSION >= 13
	  unsigned int           errorFilterOptions = 0;
	  ARNameType             errorFilterName;
#endif
	  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(schema, 1, ARNameType);
	  Zero(name, 1, ARNameType);
	  Zero(&actionList, 1,ARFilterActionList);
	  Zero(&elseList, 1,ARFilterActionList);
	  Zero(owner, 1, ARAccessNameType);
	  Zero(&objPropList, 1, ARPropList);
	  Zero(&schemaList, 1, ARWorkflowConnectStruct);
	  Zero(&schemaNameList, 1, ARNameList);
#if AR_CURRENT_API_VERSION >= 13
	  Zero(errorFilterName, 1, ARNameType);
#endif
	  schemaList.type = AR_WORKFLOW_CONN_SCHEMA_LIST;
	  schemaList.u.schemaList = &schemaNameList;

	  if(SvTYPE((SV *)SvRV(objDefRef)) != SVt_PVHV) {
		ARError_add( AR_RETURN_ERROR, AP_ERR_EXPECT_PVHV);
	  } else {
		HV *objDef = (HV *)SvRV(objDefRef);
		SV **qhv = hv_fetch(objDef,  "query", strlen("query") , 0);

ARS.xs  view on Meta::CPAN

		rv += rev_ARFilterActionList(ctrl, objDef, "actionList", 
						&actionList);

		rv += rev_ARFilterActionList(ctrl, objDef, "elseList", 
						&elseList);

		if(hv_exists(objDef,  "objPropList", strlen("objPropList") ))
			rv += rev_ARPropList(ctrl, objDef, "objPropList",
					     &objPropList);
#if AR_CURRENT_API_VERSION >= 13
		if( hv_exists(objDef, "errorFilterOptions", strlen("errorFilterOptions")) )
			rv += uintcpyHVal( objDef, "errorFilterOptions", &errorFilterOptions );

		if( hv_exists(objDef, "errorFilterName", strlen("errorFilterName")) )
			rv += strcpyHVal( objDef, "errorFilterName", errorFilterName, AR_MAX_NAME_SIZE );
#endif

		/* at this point all datastructures (hopefully) are 
		 * built. we can call the api routine to create the
		 * filter.
		 */
		if(rv == 0) {
		   ret = ARCreateFilter(ctrl, name, order, &schemaList, 
					    opSet,
					    enable, query,
					    &actionList, &elseList, 
					    helpText, owner, changeDiary, 
					    &objPropList,
#if AR_CURRENT_API_VERSION >= 13
					    errorFilterOptions,
					    errorFilterName,
#endif
#if AR_CURRENT_API_VERSION >= 17
					    objectModificationLogLabel,
#endif
					    &status);
		   if(!ARError( ret, status))
			   RETVAL = 1;
		} else 
		   ARError_add( AR_RETURN_ERROR, AP_ERR_PREREVFAIL);
	  }

ARS.xs  view on Meta::CPAN

	  ARFilterActionList      *elseList   = NULL;
	  char                    *helpText = CPNULL;
	  ARAccessNameType         owner;
	  char                    *ownerPtr = NULL;
	  char                    *changeDiary = CPNULL;
	  char                    *objectModificationLogLabel = NULL;
	  ARStatusList             status;
	  ARWorkflowConnectStruct  *schemaList = NULL;
	  ARPropList               *objPropList = NULL;
#if AR_CURRENT_API_VERSION >= 13
	  unsigned int           *errorFilterOptions = NULL;
	  ARNameType              errorFilterName;
	  char                   *errorFilterNamePtr = NULL;
#endif
	  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(newName, 1, ARNameType);
	  Zero(owner, 1, ARAccessNameType);
#if AR_CURRENT_API_VERSION >= 13
	  Zero(errorFilterName, 1, ARNameType);
#endif

	  if(SvTYPE((SV *)SvRV(objDefRef)) != SVt_PVHV) {
		ARError_add( AR_RETURN_ERROR, AP_ERR_EXPECT_PVHV);
	  } else {
		HV *objDef = (HV *)SvRV(objDefRef);
		SV **qhv = hv_fetch(objDef,  "query", strlen("query") , 0);

		/* dereference the qual pointer */

ARS.xs  view on Meta::CPAN

		if(hv_exists(objDef,  "elseList", strlen("elseList") )){
			elseList = (ARFilterActionList*) MALLOCNN(sizeof(ARFilterActionList));
			rv += rev_ARFilterActionList(ctrl, objDef, "elseList", elseList);
		}

		if(hv_exists(objDef,  "objPropList", strlen("objPropList") )){
			objPropList = (ARPropList*) MALLOCNN(sizeof(ARPropList));
			rv += rev_ARPropList(ctrl, objDef, "objPropList", objPropList);
		}
#if AR_CURRENT_API_VERSION >= 13
		if( hv_exists(objDef,"errorFilterOptions",18) ){
			errorFilterOptions = (unsigned int*) MALLOCNN(sizeof(unsigned int));
			rv += uintcpyHVal( objDef, "errorFilterOptions", errorFilterOptions);
		}

		if(hv_exists(objDef, "errorFilterName", strlen("errorFilterName") )){
			rv += strcpyHVal( objDef, "errorFilterName", errorFilterName, AR_MAX_NAME_SIZE);
			errorFilterNamePtr = errorFilterName;
		}
#endif

		/* at this point all datastructures (hopefully) are 
		 * built. we can call the api routine to modify the workflow object
		 */
		if(rv == 0) {
		   ret = ARSetFilter(ctrl, name, newNamePtr, order, schemaList, 
					    opSet,
					    enable, query,
					    actionList, elseList, 
					    helpText, ownerPtr, changeDiary, 
					    objPropList, 
#if AR_CURRENT_API_VERSION >= 13
					    errorFilterOptions,
					    errorFilterNamePtr,
#endif
#if AR_CURRENT_API_VERSION >= 17
					    objectModificationLogLabel,
#endif
					    &status);
		   if(!ARError( ret, status))
			   RETVAL = 1;
		} else 
		   ARError_add( AR_RETURN_ERROR, AP_ERR_PREREVFAIL);
	  }

ARS.xs  view on Meta::CPAN

	  ARFilterActionList     elseList;
	  char                  *helpText = CPNULL;
	  ARAccessNameType       owner;
	  char                  *changeDiary = CPNULL;
	  char                  *objectModificationLogLabel = NULL;
	  ARStatusList           status;
	  ARNameList              schemaNameList;
	  ARWorkflowConnectStruct schemaList;
	  ARPropList              objPropList;
	  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(name, 1, ARNameType);
	  Zero(&actionList, 1,ARFilterActionList);
	  Zero(&elseList, 1,ARFilterActionList);
	  Zero(owner, 1, ARAccessNameType);
	  Zero(&objPropList, 1, ARPropList);
	  Zero(&schemaList, 1, ARWorkflowConnectStruct);
	  Zero(&schemaNameList, 1, ARNameList);
	  Zero(&escalationTm, 1, AREscalationTmStruct);

ARS.xs  view on Meta::CPAN

	  ARFilterActionList      *elseList   = NULL;
	  char                    *helpText = CPNULL;
	  ARAccessNameType         owner;
	  char                    *ownerPtr = NULL;
	  char                    *changeDiary = CPNULL;
	  char                    *objectModificationLogLabel = NULL;
	  ARStatusList             status;
	  ARWorkflowConnectStruct  *schemaList = NULL;
	  ARPropList               *objPropList = NULL;
	  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(newName, 1, ARNameType);
	  Zero(owner, 1, ARAccessNameType);

	  if(SvTYPE((SV *)SvRV(objDefRef)) != SVt_PVHV) {
		ARError_add( AR_RETURN_ERROR, AP_ERR_EXPECT_PVHV);
	  } else {
		HV *objDef = (HV *)SvRV(objDefRef);
		SV **qhv = hv_fetch(objDef,  "query", strlen("query") , 0);

ARS.xs  view on Meta::CPAN

	  ARNameType             name;
	  ARImageDataStruct      imageBuf;
	  char                  *imageType   = CPNULL;
	  char                  *description = CPNULL;
	  char                  *helpText    = CPNULL;
	  ARAccessNameType       owner;
	  char                  *changeDiary = CPNULL;
	  ARPropList             objPropList;
	  char                  *objectModificationLogLabel = NULL;
  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(name, 1, ARNameType);
	  Zero(&imageBuf, 1,ARImageDataStruct);
	  Zero(owner, 1, ARAccessNameType);
	  Zero(&objPropList, 1, ARPropList);

	  if(SvTYPE((SV *)SvRV(objDefRef)) != SVt_PVHV) {
		ARError_add( AR_RETURN_ERROR, AP_ERR_EXPECT_PVHV);
	  } else {

ARS.xs  view on Meta::CPAN

	  ARImageDataStruct     *imageBuf    = NULL;
	  char                  *imageType   = CPNULL;
	  char                  *description = CPNULL;
	  char                  *helpText    = CPNULL;
	  ARAccessNameType       owner;
	  char                  *ownerPtr    = NULL;
	  char                  *changeDiary = CPNULL;
	  ARPropList            *objPropList = NULL;
	  char                  *objectModificationLogLabel = NULL;
	  
	  RETVAL = 0; /* assume error */
	  (void) ARError_reset();
	  Zero(&status, 1,ARStatusList);
	  Zero(newName, 1, ARNameType);
	  Zero(owner, 1, ARAccessNameType);

	  if(SvTYPE((SV *)SvRV(objDefRef)) != SVt_PVHV) {
		ARError_add( AR_RETURN_ERROR, AP_ERR_EXPECT_PVHV);
	  } else {
		HV *objDef = (HV *)SvRV(objDefRef);

ARS/CodeTemplate.pm  view on Meta::CPAN

	my $line;

	foreach $line ( @input ){
		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;

ARS/OOmsgs.pm  view on Meta::CPAN

		    $mTypes{@{$ARS::ars_errhash{messageType}}[$i]}, 
		    @{$ARS::ars_errhash{messageText}}[$i], 
		    @{$ARS::ars_errhash{messageNum}}[$i]); 
      $s .= "\n" if($i < $ARS::ars_errhash{numItems}-1); 
    }
  }
  return $s;
}


sub errors {
  my $this = shift;
  return $this->messages(&ARS::AR_RETURN_ERROR);
}

sub warnings {
  my $this = shift;
  return $this->messages(&ARS::AR_RETURN_WARNING);
}

sub fatals {

ARS/OOsup.pm  view on Meta::CPAN

  my ($blessed) = bless($self, $class);
  my ($server, $username, $password, $catch, $ctrl, $dbg, $tcpport) = 
    rearrange([SERVER,USERNAME,PASSWORD,CATCH,CTRL,DEBUG,TCPPORT],@p);
  # should the OO layer emit debugging information?

  $self->{'.debug'} = 0;
  $self->{'.debug'} = 1 if(defined($dbg));

  $self->initCatch();

  # what error handlers should be called automatically by the OO layer?
  # if a handler is 'undef' then the OO layer will ignore that type of
  # exception (warning, error or fatal). it is then upto the user to
  # check ->hasErrors(), etc. 
  # this should be a hash ref.

  if(defined($catch) && ref($catch) ne "HASH") {
      $self->pushMessage(&ARS::AR_RETURN_ERROR,
			  81000,
			  "catch parameter should be a HASH reference. (you gave me ".ref($catch)." reference)"
			 );
  }

CHANGES  view on Meta::CPAN

 (TS)   fixed exsi.pl enumeration gap problem

 (TS)   added lengthUnits,storageOptionForCLOB attributes to ARCharLimitsStruct,ARDisplayLimits

 (TS)   fixed ars_GetServerInfo() keys 325-332 problem

 (TS)   modifications for AR 7.6.3 API

 (TS)   ars_GetEntryBLOB bugfix by Conny Martin

 (TS)   fixed "hv_fetch error" problem in case of undefined ARValueStruct 

 (TS)   fixed SignalTypeMap problem

 (TS)   package directory reorganization/cleanup

 (TS)   additional ars_Login parameters by Conny Martin

 (TS)   implemented ars_GetList/Get/Create/Set/DeleteImage

 (TS)   fixed incorrect AR_ARITH_OP_NEGATE handling in rev_ARArithOpStruct

CHANGES  view on Meta::CPAN

 (TS)   fixed IVLD macro in support-h.template


Released: 05/06/2008 Version: 1.91


 (TS)   fixed ars_padEntryid to work correctly if entry ID prefix is defined

 (TS)   replaced malloc-on-windows patch by UNDEF_PERL_MALLOC compilation option in Makefile.PL

 (TS)   fixed pointer initialization error in ars_SetVUI

 (TS)   modified ars_Create/Get/SetFilter for API 7.1

 (TS)   fixed ars_GetAlertCount

 (MB)   removed legacy ars_NT Notifier and ars_AdminExtension calls

 (MB) ! added ars_VerifyUser implementation by Thilo Stapff

 (MB) ! changed ars_APIVersion to use AR_CURRENT_API_VERSION rather than AR_EXPORT_VERSION

CHANGES  view on Meta::CPAN

Released: 09/20/2005 Version: 1.85


 (TS)   added binmode-statements in t/10entry.t (test failed on win32)

 (TS)   warning cleanup in test files (t/02export.t, t/13join.t)

 (TS)   added ars_SetLogging (changes to ARS.xs, ARS.pm, support.c, support-h.template,
        html/manual/toc.html;  new files: html/manual/ars_SetLogging.html, t/21setlogging.t)

 (TS)   fixed pointer dereferencing error in supportrev.c:strmakHval

 (TS)   fixed supportrev.c:strcasecmp, strncasecmp; failure to differentiate between 
        string and substring (e.g. "page_holder" and "page")

 (TS)   fixed support.c:perl_ARByteList (Bug ID 1213180)
        (David Lindes {lindes at users.sourceforge.net})

 (TS)   added support for DATA_TYPE_CURRENCY to perl_ARFieldLimitStruct

 (TS)   added function perl_ARCurrencyDetailList

CHANGES  view on Meta::CPAN



(JCM)   fixed 'autosplit' issue in Makefile.PL

 (IT)   Updates by Ian Trimnell for ars_GetListContainer and ars_GetContainer


Released: 03/14/2005 Version: 1.83


(JCM)   fixed "lang" compilation error for API 6.3

(JCM)   variable initialization

 (JG)   doc updates


Released: 09/20/2004 Version: 1.82


(QGM)   AR 6.x compatibility, AR encryption compatibility

CHANGES  view on Meta::CPAN

(JCM)   added new params to ars_Login: lang, authString, tcpport, rpcnumber

(JCM)   added new rv's to ars_GetControlStructFields: lang, authString

(JCM)   updated example and test scripts 

(JCM)   added Alert functions (replaces NT/Notifier functions)

(JCM) ! 5.x (5.0.1, 5.1, 5.1.1) integration 
        functions that no longer are available or always
        return errors indicating they are no longer implemented:
   		
   		ars_NT*()   [notifier functions]
        
        functions whose parameters have changed:
   		
   		ars_GetListEntry() 
   		ars_GetListEntryWithFields()
        
        functions whose return values have changed:
   		

CHANGES  view on Meta::CPAN

(GDF)   added ars_GetMultipleEntries, ars_GetListEntryWithFields

(GDF)   remove unused num_entries parameter from ARGetListEntry

(JCM)   added ARTermination calls to ars_Login


Released: 11/13/2001 Version: 1.73


(JCM)   fixed windows cpp error in support.c

(JCM)   fixed a leftover fprintf warning in support.c that was causing
        compilation warnings on windows

(JCM)   disabled t/11entry.t

(JCM)   minor Makefile.PL tweak

(JCM)   bug fix in perl_ARStatusStruct that caused segv with api >= 4.0

CHANGES  view on Meta::CPAN


(JCM)   OO: now checks named params to ensure you don't
        mis-spell them.

(JCM)   attachment allows specify a 'name' hash key so you can
        customize the name that appears in the attachment field
        in the usertool.  (Nick Stoughton {NickS at ISRWORLD.com})

(JCM)   OO: form->setSort method added

(JCM)   OO: better error handling/catching

(JCM)   OO: fixed bug in value2internal

(JCM)   fixed NTRegisterServer(), fixed example/3.x/Notifier.pl

(JCM)   OO: fixed ARS::AR_RETURN_* bugs { erik.dorfman at intelsat.int }

(JCM)   fixed bug in ars_GetListServer() for api >= 4.0


CHANGES  view on Meta::CPAN

        at the request of activestate

(JCM)   added MANIFEST file to distribution


Released: 12/28/98 Version: 1.62


(JCM)   added extra decoding code to GetFilter.pl example script

(JCM)   syntax errors fixed in some example scripts

(JCM)   added bug fix to NTRegisterServer from  G David Frye {gdf at uiuc.edu}

(JCM) ! ars4.0 integration (see RELNOTES for important compatibility
        information)

(JCM) ! perl_qualifier() now takes a control struct 

(JCM)   if compiled against API >= 4.0 then __ars_init __ars_term
        no longer do anything (but are still there). the functionality

CHANGES  view on Meta::CPAN



(JCM)   fixed bug in ars_EncodeDiary()

(JCM)   added ars_MergeEntry.pl example script


Released: 12/15/97 Version: 1.53


(JCM)   fixed some minor errors in doc


Released: 11/19/97 Version: 1.5206


(JCM)   added ars_GetVUI to the ARS.pm exports line.

(JCM)   added refreshCode to GetCharMenu hash

(JCM)   fixed bug in groupList value change in 1.5205

CHANGES  view on Meta::CPAN


Released: 10/08/97 Version: 1.52


(JCM)   fixed core dump problem due to uninitialized variable(s)


Released: 10/07/97 Version: 1.51


(JCM)   fixed some typos/symbol errors. added a missing routine.


Released: 10/06/97 Version: 1.50


(JCM)   removed ars_errstr from C code. replaced with ars_errhash.
        modified ARS.pm to refer to hash when $ars_errstr is 
        accessed. $ars_errstr no longer tie'd to main:: package.

(JCM)   bug fix (Sid Van den Heede) "affecting getting of

CHANGES  view on Meta::CPAN


(JCM)   added valueType to the assign structure to assist in 
        reversing the operation (converting perl to C API assign 
        structure).

(JCM)   added displayTag as an optional parameter to ars_LoadQualifier()
        so that you can build queries against customized views (that
        are stored on the server).

(JCM)   altered ARError() so that return codes of OK or WARNING don't
        signal an error. For example, GetListEntries would return
        nothing if you matched more than the max allowed, now it returns
        the max allowable number of records and places a warning message
        into the error hash. 


Released: 05/22/97 Version: 1.46


(JWM)   bug fixes

(JWM)   new function: ars_MergeEntry(), ars_EncodeDiary()


Makefile.PL  view on Meta::CPAN

#       because AdminExtension API routines were removed in as of
#       the 3.2 release.
#
#    -D_WIN32
#
#       If you are compiling ARSperl under windows, define this
#       and /don't/ define PROFILE.
#
#    -DSKIP_SV_ISA  (not automatically set)
#
#       If you get errors during compilation/runtime similar to 
#       "undefined symbol: sv_isa" then add this define.

	      'DEFINE'	=> ${AUTODEFINES},
#             'DEFINE'  => '-D_WIN32 ', # note: win32 -> no -DPROFILE


# if you have trouble under solaris when linking (bfd assertion 
# failures) try uncommenting the following:
#
#	      'LD' => "/usr/ccs/bin/ld",

StructDef.pl  view on Meta::CPAN

		_data => 'p->qualifier',
	},
	valueField => {
		_type => 'ARInternalId',
		_data => 'p->valueField',
	},
	multi => {
		_type => 'unsigned int',
		_data => 'p->multiMatchCode',
		_map  => {
			AR_QUERY_VALUE_MULTI_ERROR => 'error',
			AR_QUERY_VALUE_MULTI_FIRST => 'first',
			AR_QUERY_VALUE_MULTI_SET   => 'set',
		},
	},
},
ARValueList => {
	_num  => 'p->numItems',
	_list => 'p->valueList',
	_type => 'ARValueStruct',
},

TODO  view on Meta::CPAN

     constants).
-----------------------------------------------
   o add additional OO support.

   o add sort order option to OO
   o obey vui name
   o pad out entry id where applicable.
   o allow for field id's to be specified if user chooses.
   o status history conversion?
   o allow for either/or enumer text or enum value in set/create
   o if unknown param, error
-----------------------------------------------



Howdy everyone:
  Please forgive me if this question is a bit naive, I'm still new to the
universe of Remedy and such ... 

I'm looking for a perl library which could take standard ARS/Remedy style
query and return the query in Sybase Transact SQL format. Something like

changes.dat  view on Meta::CPAN

JL  automatic API-Version detection in Makefile.PL
JL  dropped support to compile ARSperl using ARAPI below version 4.5
JL  small bugfixes

released=08/01/2011 version=1.93
TS  fixed exsi.pl enumeration gap problem
TS  added lengthUnits,storageOptionForCLOB attributes to ARCharLimitsStruct,ARDisplayLimits
TS  fixed ars_GetServerInfo() keys 325-332 problem
TS  modifications for AR 7.6.3 API
TS  ars_GetEntryBLOB bugfix by Conny Martin
TS  fixed "hv_fetch error" problem in case of undefined ARValueStruct 
TS  fixed SignalTypeMap problem
TS  package directory reorganization/cleanup
TS  additional ars_Login parameters by Conny Martin
TS  implemented ars_GetList/Get/Create/Set/DeleteImage
TS  fixed incorrect AR_ARITH_OP_NEGATE handling in rev_ARArithOpStruct
TS  fixed wrong operand evaluation for AR_ARITH_OP_NEGATE in perl_ARArithOpStruct
TS  fixed ars_SetServerInfo() memory violation in case of more than one key/value pair
TS  ars_GetFieldTable performance improvement by using ARGetMultipleFields
TS  removed unnecessary second invocation of ARGetField in ars_GetField
TS  code cleanup (#ifdef statements) in ARGetFieldCached, ars_GetField, ars_GetFieldByName

changes.dat  view on Meta::CPAN

TS  fixed actionList/elseList bug in ars_SetActiveLink
TS  added AR_DATA_TYPE_VIEW handling to perl_ARValueStruct_Assign,rev_ARActiveLinkActionList
TS  modified Makefile.PL for easier automated testing (handling of ARSPERLTEST_PARAM)
TS  added ars_GetListRole, ars_Signal, ars_GetTextForErrorMessage
!TS  changed return struct of ars_GetListGroup
TS  fixed IVLD macro in support-h.template

released=05/06/2008 version=1.91
TS  fixed ars_padEntryid to work correctly if entry ID prefix is defined
TS  replaced malloc-on-windows patch by UNDEF_PERL_MALLOC compilation option in Makefile.PL
TS  fixed pointer initialization error in ars_SetVUI
TS  modified ars_Create/Get/SetFilter for API 7.1
TS  fixed ars_GetAlertCount
MB  removed legacy ars_NT Notifier and ars_AdminExtension calls
!MB  added ars_VerifyUser implementation by Thilo Stapff
!MB  changed ars_APIVersion to use AR_CURRENT_API_VERSION rather than AR_EXPORT_VERSION
MB  fixed ars_GetActiveLink, ars_GetFilter, ars_GetEscalation, ars_GetField so they 
    return undef on failure.
JCM buffer overflow in perl_BuildEntryList
JCM malloc-on-windows patch by John Unsworth
TS  fixed memory leak in ars_Get... functions (added "sv_2mortal( (SV*) RETVAL )")

changes.dat  view on Meta::CPAN

TS  minor fix in rev_ARCoordList_helper ( if (hv_exists("x"... )
TS  changed handling of keyword values in rev_ARValueStruct
    (assume "keyword" if first character == '\0' and length > 0)  
JCM minor update to example scripts Dump_User*.pl

released=09/20/2005 version=1.85
TS  added binmode-statements in t/10entry.t (test failed on win32)
TS  warning cleanup in test files (t/02export.t, t/13join.t)
TS  added ars_SetLogging (changes to ARS.xs, ARS.pm, support.c, support-h.template,
    html/manual/toc.html;  new files: html/manual/ars_SetLogging.html, t/21setlogging.t)
TS  fixed pointer dereferencing error in supportrev.c:strmakHval
TS  fixed supportrev.c:strcasecmp, strncasecmp; failure to differentiate between 
    string and substring (e.g. "page_holder" and "page")
TS  fixed support.c:perl_ARByteList (Bug ID 1213180)
    (David Lindes {lindes at users.sourceforge.net})
TS  added support for DATA_TYPE_CURRENCY to perl_ARFieldLimitStruct
TS  added function perl_ARCurrencyDetailList
TS  fixed support.c:my_strtok, perl_BuildEntryList
    (ars_GetEntry crashed when retrieving join form entries)
TS  added preprocessor directives (ARS.xs, support.c, support-h.template)
    for conditional compilation depending on API version
    (compiles now against version 4.5.1 to 6.3.0)
JCM added ars_encodeStatusHistory() routine 

released=06/24/2005 version=1.84
JCM fixed 'autosplit' issue in Makefile.PL
IT  Updates by Ian Trimnell for ars_GetListContainer and ars_GetContainer

released=03/14/2005 version=1.83
JCM fixed "lang" compilation error for API 6.3
JCM variable initialization
JG  doc updates

released=09/20/2004 version=1.82
QGM AR 6.x compatibility, AR encryption compatibility
JMc Makefile.PL changes, code cleanup for Windows build

released=08/09/2003 version=1.81
JCM memory/multithreaded issue with errhash fixed { steve.drew  at hp.com }
JCM uninitialized variable issue fixed { steve.drew  at  hp.com }

changes.dat  view on Meta::CPAN

JCM memory leak fixed in QualifierStructPtr destructor
JCM memory leak fixed in ControlStruct destructor
JCM various other memory related cleanups
JCM bad/NULL ref fixed in ExpandCharMenu
JCM added new params to ars_Login: lang, authString, tcpport, rpcnumber
JCM added new rv's to ars_GetControlStructFields: lang, authString
JCM updated example and test scripts 
JCM added Alert functions (replaces NT/Notifier functions)
!JCM 5.x (5.0.1, 5.1, 5.1.1) integration<BR>
	functions that no longer are available or always
	return errors indicating they are no longer implemented:
	<blockquote>
		ars_NT*()   [notifier functions]
	</blockquote>
	functions whose parameters have changed:
	<blockquote>
		ars_GetListEntry()<BR>
		ars_GetListEntryWithFields()
	</blockquote>
	functions whose return values have changed:
	<blockquote>
		ars_GetCharMenu()
	</blockquote>

released=11/13/2002 version=1.74
GDF added ars_GetMultipleEntries, ars_GetListEntryWithFields
GDF remove unused num_entries parameter from ARGetListEntry
JCM added ARTermination calls to ars_Login

released=11/13/2001 version=1.73
JCM fixed windows cpp error in support.c
JCM fixed a leftover fprintf warning in support.c that was causing
    compilation warnings on windows
JCM disabled t/11entry.t
JCM minor Makefile.PL tweak
JCM bug fix in perl_ARStatusStruct that caused segv with api >= 4.0

released=10/24/2001 version=1.72
JCM modified Makefile.PL to handle changes to _SERVER_INFO definitions
    in 4.5.x
JCM memory leak fixes

changes.dat  view on Meta::CPAN

     (Set|Create)Entry

released=04/7/99 version=1.6403 BETA
JCM  tested/fixed compiling against pre-4.0 apis. 
JCM  OO: now checks named params to ensure you don't
           mis-spell them.
JCM  attachment allows specify a 'name' hash key so you can
           customize the name that appears in the attachment field
           in the usertool.  (Nick Stoughton {NickS at ISRWORLD.com})
JCM  OO: form->setSort method added
JCM  OO: better error handling/catching
JCM  OO: fixed bug in value2internal
JCM  fixed NTRegisterServer(), fixed example/3.x/Notifier.pl
JCM  OO: fixed ARS::AR_RETURN_* bugs { erik.dorfman at intelsat.int }
JCM  fixed bug in ars_GetListServer() for api &gt;= 4.0

released=03/12/99 version=1.6400 BETA
JCM  added new LIBS line to Makefile.PL to cover NCR Unix
           ("Hill, David K" {david.k.hill at intel.com})
JCM  added ars_GetEntryBLOB (attachment field handling) 
           thanks to  "Kaelin Colclasure" {kaelin at talarian.com}

changes.dat  view on Meta::CPAN

           available.

released=01/04/99  version=1.63
JCM  fixed some missing conditional compilation #if's in code
JCM  changes "require Config" to "use Config" in Makefile.PL
           at the request of activestate
JCM  added MANIFEST file to distribution

released=12/28/98 version=1.62
JCM  added extra decoding code to GetFilter.pl example script
JCM  syntax errors fixed in some example scripts
JCM  added bug fix to NTRegisterServer from  G David Frye {gdf at uiuc.edu}
!JCM  ars4.0 integration (see RELNOTES for important compatibility
           information)
!JCM  perl_qualifier() now takes a control struct 
JCM  if compiled against API &gt;= 4.0 then __ars_init __ars_term
           no longer do anything (but are still there). the functionality
           of each of these have been rolled into ars_Login and ars_Logoff
           respectively.
JCM  added ars_APIVersion() 
JCM  GetActiveLink, when compiled against 4.0 returns ARMessageStruct

changes.dat  view on Meta::CPAN

JCM  patched ars_GetCharMenu for bug "GetCharMenu doesn't
          return a qualifier for query menus" {D.J.Adams at soton.ac.uk}
JCM  fixed dup_FieldValueOrArith to support decoding of
           query style menus. 

released=02/09/98 version=1.54
JCM  fixed bug in ars_EncodeDiary()
JCM  added ars_MergeEntry.pl example script

released=12/15/97        version=1.53
JCM  fixed some minor errors in doc

released=11/19/97      version=1.5206
JCM  added ars_GetVUI to the ARS.pm exports line.
JCM  added refreshCode to GetCharMenu hash
JCM  fixed bug in groupList value change in 1.5205

released=11/04/97	version=1.5205
JCM  updated the groupList value returned by GetSchema()
           so that it contains the correct key words.

changes.dat  view on Meta::CPAN

released=10/13/97    version=1.5202
JCM  removed a superfluous debugging statement

released=10/09/97       version=1.5201
JCM  fixed problem in GetEscalation     

released=10/08/97        version=1.52
JCM  fixed core dump problem due to uninitialized variable(s)

released=10/07/97        version=1.51
JCM   fixed some typos/symbol errors. added a missing routine.

released=10/06/97        version=1.50
JCM removed ars_errstr from C code. replaced with ars_errhash.
           modified ARS.pm to refer to hash when $ars_errstr is 
           accessed. $ars_errstr no longer tie'd to main:: package.
JCM bug fix (Sid Van den Heede) "affecting getting of
           displayInstanceList"
JCM bug fix (James LewisMoss) for ars_GetCharMenu()
JCM bug fix (Ian Flanigan) for perl_ARIndexStruct()
JCM modified GetListEntry(), GetEntry(), SetEntry() and 

changes.dat  view on Meta::CPAN

           retrieve active link definitions and print them out that previous
           expected the {message} key to point to a string will need to
           be updated.
JCM added valueType to the assign structure to assist in 
           reversing the operation (converting perl to C API assign 
           structure).
JCM added displayTag as an optional parameter to ars_LoadQualifier()
           so that you can build queries against customized views (that
           are stored on the server).
JCM altered ARError() so that return codes of OK or WARNING don't
           signal an error. For example, GetListEntries would return
           nothing if you matched more than the max allowed, now it returns
           the max allowable number of records and places a warning message
           into the error hash. 

released=05/22/97        version=1.46
JWM bug fixes
JWM new function: ars_MergeEntry(), ars_EncodeDiary()

released=04/25/97        version=1.45
JCM bug fix to GetListSchema routine

released=02/20/97        version=1.44
JCM added some minor code to aid in decoding qualifier

example/Dump_Setup.pl  view on Meta::CPAN

# NOTES
#    This might require special permission for the username you login as
#
# AUTHOR
#    joel murphy
#
# 03/14/96
#
# $Log: Dump_Setup.pl,v $
# Revision 1.3  1999/06/14 17:07:39  jcmurphy
# added some login error checking
#
# Revision 1.2  1998/12/11 15:24:38  jcmurphy
# adjustments to GetListSchema for >=3.0 systesm
#
# Revision 1.1  1996/11/21 20:13:50  jcmurphy
# Initial revision
#
#

use ARS;

$rcs = "/usr/local/bin";
$ci = "$rcs/ci";
$perm = 0755;

($ACCOUNT, $PASSWORD, $path) = @ARGV;
chomp($path = `pwd`) if (!$path);
$c = ars_Login("localhost",$ACCOUNT,$PASSWORD);
die "login error: $ars_errstr\n" unless defined($c);

@schema = ars_GetListSchema($c, 0, 1024);
@active = ars_GetListActiveLink($c);
@filter = ars_GetListFilter($c);
@escal = ars_GetListEscalation($c);
@menu = ars_GetListCharMenu($c);
@admin_ext = ars_GetListAdminExtension($c);

# Warning! this might make several names map to the same file
sub name_to_path {

example/Dump_Users.pl  view on Meta::CPAN

# Revision 1.6  2003/03/27 17:58:42  jcmurphy
# 5.0 changes, bug fixes
#
# Revision 1.5  1999/05/05 19:57:59  rgc
# DumpUsers.
#
# Revision 1.4  1998/12/28 15:23:29  jcmurphy
# fixed up "Login name" query for ARS4.0 ("Login Name")
#
# Revision 1.3  1997/09/30 04:49:13  jcmurphy
# added some error output
# /
#
# Revision 1.2  1997/02/19 22:41:25  jcmurphy
# misspelling
#
# Revision 1.1  1996/11/21 20:13:51  jcmurphy
# Initial revision
#
#

example/Dump_Users.pl  view on Meta::CPAN

}

# Log onto the ars server specified

( my $ctrl = ars_Login( $server, $username, $password ) )
  || die "can't login to the server: $ars_errstr";

# Load the qualifier structure with a dummy qualifier.

( my $qual = ars_LoadQualifier( $ctrl, $SCHEMA, "(1 = 1)" ) )
  || die "error in ars_LoadQualifier: $ars_errstr";

# Retrieve the fieldid's for the "Login name" and "Full name" fields.
# As of ARS4.0, "name" has become "Name", so we'll check for both fields
# and use whatever we find.

my $loginname_fid = ars_GetFieldByName( $ctrl, $SCHEMA, "Login name" );
if ( !defined($loginname_fid) ) {
    ( $loginname_fid = ars_GetFieldByName( $ctrl, $SCHEMA, "Login Name" ) )
      || die "no such field in this schema: 'Login name'";
}

example/GetCharMenu.pl  view on Meta::CPAN

# Revision 1.8  2003/03/28 05:51:56  jcmurphy
# more 5.x edits
#
# Revision 1.7  2001/10/24 14:21:27  jcmurphy
# MergeEntry doc update, minor test/example tweaks
#
# Revision 1.6  2000/05/24 18:05:26  jcmurphy
# primary ars4.5 integration in this checkpoint.
#
# Revision 1.5  1998/10/14 13:55:34  jcmurphy
# fixed syntax error
#
# Revision 1.4  1998/09/16 14:38:31  jcmurphy
# updated changeDiary code
#
# Revision 1.3  1998/02/25 19:21:32  jcmurphy
# updated to printout query if query style menu
#
# Revision 1.2  1997/11/10 23:36:52  jcmurphy
# added refreshCode to the output
#

example/GetCharMenu.pl  view on Meta::CPAN

($server, $username, $password, $name) = @ARGV;
if(!defined($name)) {
    print "Usage: $0 [server] [username] [password] [menuname]\n";
    exit 0;
}

$ctrl = ars_Login($server, $username, $password);

print "Calling ars_GetCharMenu($ctrl, $name)..\n";
($finfo = ars_GetCharMenu($ctrl, $name)) ||
    die "error in GetCharMenu: $ars_errstr";

# 10005
print "Calling ars_GetCharMenuItems($ctrl, $name)..\n";
my ($menuItems) = ars_GetCharMenuItems($ctrl, $name);
die "$ars_errstr\n" unless defined($menuItems);
print "menuItems=<<$menuItems>> (should be an array ref)\n";
die "hmm. that wasnt an array ref." unless ref ($menuItems) eq "ARRAY";

print "** Menu Info:\n";
print "Name        : \"".$finfo->{"name"}."\"\n";

example/GetFilter.pl  view on Meta::CPAN

# Revision 1.9  2003/04/02 01:43:35  jcmurphy
# mem mgmt cleanup
#
# Revision 1.8  2000/06/01 16:54:03  jcmurphy
# *** empty log message ***
#
# Revision 1.7  1998/10/14 15:06:10  jcmurphy
# added some extra decoding for set fields actions.
#
# Revision 1.6  1998/10/14 13:54:53  jcmurphy
# fixed syntax error
#
# Revision 1.5  1998/09/16 14:38:31  jcmurphy
# updated changeDiary code
#
# Revision 1.4  1998/04/22 17:25:46  jcmurphy
# added example code to show decoding of SQL/SetFields actions.
#
# Revision 1.3  1998/03/12 20:44:57  jcmurphy
# minor changes to allow specification of a server
#

example/GetFilter.pl  view on Meta::CPAN

%ars_opSet = (
	      $AR_OPERATION_GET, "Display", 
	      $AR_OPERATION_SET, "Modify", 
	      $AR_OPERATION_CREATE, "Create", 
	      $AR_OPERATION_DELETE, "Delete", 
	      $AR_OPERATION_MERGE, "Merge"
	      );

$ctrl = ars_Login($server, $username, $password);
($finfo = ars_GetFilter($ctrl, $filtername)) ||
    die "error in GetFilter: $ars_errstr";

print "\n\nerrstr contains \"$ars_errstr\"\n\n" if ($ars_errstr ne "");

print "** Filter Info:\n";
print "Name        : \"".$finfo->{"name"}."\"\n";
print "Order       : ".$finfo->{"order"}."\n";
if(defined($finfo->{'schema'})) {
	print "Schema      : \"".$finfo->{"schema"}."\"\n";
}
elsif(defined($finfo->{'schemaList'})) {

example/Get_Diary.pl  view on Meta::CPAN

print "schema=$schema
qualifier=$qualifier
diaryfield=$diaryfield\n";

( my $ctrl = ars_Login( $server, $username, $password ) )
  || die "can't login to the server";

# Load the qualifier structure with a dummy qualifier.

( my $qual = ars_LoadQualifier( $ctrl, $schema, $qualifier ) )
  || die "error in ars_LoadQualifier:\n$ars_errstr";

# Retrieve all of the entry-id's for the qualification.

my %entries = ars_GetListEntry( $ctrl, $schema, $qual, 0, 0 );

# Retrieve the fieldid for the diary field

( my $diaryfield_fid = ars_GetFieldByName( $ctrl, $schema, $diaryfield ) )
  || die "no such field in this schema: '$diaryfield'";

example/List_Entries.pl  view on Meta::CPAN

}

# Log onto the ars server specified

( my $ctrl = ars_Login( $server, $username, $password ) )
  || die "can't login to the server";

# Load the qualifier structure with a dummy qualifier.

( my $qual = ars_LoadQualifier( $ctrl, $schema, "(1 = 1)" ) )
  || die "error in ars_LoadQualifier";

# Retrieve all of the entry-id's for the schema.

my %entries = ars_GetListEntry( $ctrl, $schema, $qual, 0, 0 );

printf( "%-15s %-60s\n", "Entry-ID", "Short Description" );

foreach my $entry_id ( sort keys %entries ) {
    printf( "%-15s %-60s\n", $entry_id, $entries{$entry_id} );
}

example/PrintQual.pl  view on Meta::CPAN

}

# Log onto the ars server specified

($ctrl = ars_Login($server, $username, $password)) || 
    die "can't login to the server";

# Load the qualifier structure 

($q = ars_LoadQualifier($ctrl,$schema, $qual)) ||
    die "error in ars_LoadQualifier:\n$ars_errstr\n";

# Decode the encoded structure

($dq = ars_perl_qualifier($ctrl, $q)) ||
    die "ars_perl_qualifier failed: $ars_errstr\n";

# Convert the decoded structure to a readable format

$e = ars_Decode_QualHash($ctrl, $schema, $dq);

example/ars_QualDecode.pl  view on Meta::CPAN

	    
	    $e = "$h->{value}";
	    
	}
    }

    # an arithmetic expression
    # not implemented. see code in GetField.pl for
    # example of decoding. i dont think ARS allows
    # arith in the qualification (i think aradmin will
    # give an error) so this is irrelevant to this
    # demo.

    elsif(defined($h->{arith})) {
	# addition by "David Adams" <D.J.Adams@soton.ac.uk>
	local($ar) = $h->{arith};
	$e .= "(".Decode_FVoAS($ar->{left}, $fids)." ".$ar->{oper}." ".Decode_FVoAS($ar->{right}, $fids).")";
    }

    # a set of values (used for the "IN" operator)
    # i've never really seen the "IN" keyword used 

html/changes.html  view on Meta::CPAN

            </tr><tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed exsi.pl enumeration gap problem 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added lengthUnits,storageOptionForCLOB attributes to ARCharLimitsStruct,ARDisplayLimits 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed ars_GetServerInfo() keys 325-332 problem 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>modifications for AR 7.6.3 API 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>ars_GetEntryBLOB bugfix by Conny Martin 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed "hv_fetch error" problem in case of undefined ARValueStruct  
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed SignalTypeMap problem 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>package directory reorganization/cleanup 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>additional ars_Login parameters by Conny Martin 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>implemented ars_GetList/Get/Create/Set/DeleteImage 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed incorrect AR_ARITH_OP_NEGATE handling in rev_ARArithOpStruct 

html/changes.html  view on Meta::CPAN

	    BGCOLOR='lightblue'>
	    <tr><td colspan='2'>
  <table width='100%' border='0'><tr>
	      <td width='50%'>Released: <B>05/06/2008</B></td>
              <td width='50%'>Version: <B>1.91
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed ars_padEntryid to work correctly if entry ID prefix is defined 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>replaced malloc-on-windows patch by UNDEF_PERL_MALLOC compilation option in Makefile.PL 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed pointer initialization error in ars_SetVUI 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>modified ars_Create/Get/SetFilter for API 7.1 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed ars_GetAlertCount 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(MB)</td><td width='90%'><font color='black'>removed legacy ars_NT Notifier and ars_AdminExtension calls 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(MB)</td><td width='90%'><font color='red'>added ars_VerifyUser implementation by Thilo Stapff 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(MB)</td><td width='90%'><font color='red'>changed ars_APIVersion to use AR_CURRENT_API_VERSION rather than AR_EXPORT_VERSION 

html/changes.html  view on Meta::CPAN

  <table width='100%' border='0'><tr>
	      <td width='50%'>Released: <B>09/20/2005</B></td>
              <td width='50%'>Version: <B>1.85
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added binmode-statements in t/10entry.t (test failed on win32) 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>warning cleanup in test files (t/02export.t, t/13join.t) 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_SetLogging (changes to ARS.xs, ARS.pm, support.c, support-h.template, 
html/manual/toc.html;  new files: html/manual/ars_SetLogging.html, t/21setlogging.t) </font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed pointer dereferencing error in supportrev.c:strmakHval 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed supportrev.c:strcasecmp, strncasecmp; failure to differentiate between  
string and substring (e.g. "page_holder" and "page") </font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed support.c:perl_ARByteList (Bug ID 1213180) 
(David Lindes {lindes at users.sourceforge.net}) </font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added support for DATA_TYPE_CURRENCY to perl_ARFieldLimitStruct 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added function perl_ARCurrencyDetailList 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed support.c:my_strtok, perl_BuildEntryList 

html/changes.html  view on Meta::CPAN

      BGCOLOR='black'>
      <TR>
	<TD width='100%'>
	  <TABLE CELLSPACING='0' CELLPADDING='3' WIDTH='100%' BORDER='0'
	    BGCOLOR='lightblue'>
	    <tr><td colspan='2'>
  <table width='100%' border='0'><tr>
	      <td width='50%'>Released: <B>03/14/2005</B></td>
              <td width='50%'>Version: <B>1.83
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>fixed "lang" compilation error for API 6.3 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>variable initialization 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JG)</td><td width='90%'><font color='black'>doc updates 
</table></td></tr></table>

<P>


    <TABLE CELLSPACING='0'

html/changes.html  view on Meta::CPAN

</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added new params to ars_Login: lang, authString, tcpport, rpcnumber 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added new rv's to ars_GetControlStructFields: lang, authString 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>updated example and test scripts  
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added Alert functions (replaces NT/Notifier functions) 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='red'>5.x (5.0.1, 5.1, 5.1.1) integration<BR> 
functions that no longer are available or always return errors indicating they are no longer implemented: <blockquote> ars_NT*()   [notifier functions] </blockquote> functions whose parameters have changed: <blockquote> ars_GetListEntry()<BR> ars_Get...

<P>


    <TABLE CELLSPACING='0'
      CELLPADDING='2'
      WIDTH='100%'
      BORDER='0' 
      BGCOLOR='black'>
      <TR>

html/changes.html  view on Meta::CPAN

      BGCOLOR='black'>
      <TR>
	<TD width='100%'>
	  <TABLE CELLSPACING='0' CELLPADDING='3' WIDTH='100%' BORDER='0'
	    BGCOLOR='lightblue'>
	    <tr><td colspan='2'>
  <table width='100%' border='0'><tr>
	      <td width='50%'>Released: <B>11/13/2001</B></td>
              <td width='50%'>Version: <B>1.73
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>fixed windows cpp error in support.c 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>fixed a leftover fprintf warning in support.c that was causing 
compilation warnings on windows </font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>disabled t/11entry.t 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>minor Makefile.PL tweak 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>bug fix in perl_ARStatusStruct that caused segv with api >= 4.0 
</table></td></tr></table>

html/changes.html  view on Meta::CPAN

              <td width='50%'>Version: <B>1.6403 BETA
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>tested/fixed compiling against pre-4.0 apis.  
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>OO: now checks named params to ensure you don't 
mis-spell them. </font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>attachment allows specify a 'name' hash key so you can 
customize the name that appears in the attachment field in the usertool.  (Nick Stoughton {NickS at ISRWORLD.com}) </font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>OO: form->setSort method added 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>OO: better error handling/catching 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>OO: fixed bug in value2internal 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>fixed NTRegisterServer(), fixed example/3.x/Notifier.pl 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>OO: fixed ARS::AR_RETURN_* bugs { erik.dorfman at intelsat.int } 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>fixed bug in ars_GetListServer() for api &gt;= 4.0 
</table></td></tr></table>

html/changes.html  view on Meta::CPAN

	<TD width='100%'>
	  <TABLE CELLSPACING='0' CELLPADDING='3' WIDTH='100%' BORDER='0'
	    BGCOLOR='lightblue'>
	    <tr><td colspan='2'>
  <table width='100%' border='0'><tr>
	      <td width='50%'>Released: <B>12/28/98</B></td>
              <td width='50%'>Version: <B>1.62
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added extra decoding code to GetFilter.pl example script 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>syntax errors fixed in some example scripts 
</font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added bug fix to NTRegisterServer from  G David Frye {gdf at uiuc.edu} 
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='red'>ars4.0 integration (see RELNOTES for important compatibility 
information) </font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='red'>perl_qualifier() now takes a control struct  
</font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>if compiled against API &gt;= 4.0 then __ars_init __ars_term 
no longer do anything (but are still there). the functionality of each of these have been rolled into ars_Login and ars_Logoff respectively. </font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added ars_APIVersion()  

html/changes.html  view on Meta::CPAN

      BGCOLOR='black'>
      <TR>
	<TD width='100%'>
	  <TABLE CELLSPACING='0' CELLPADDING='3' WIDTH='100%' BORDER='0'
	    BGCOLOR='lightblue'>
	    <tr><td colspan='2'>
  <table width='100%' border='0'><tr>
	      <td width='50%'>Released: <B>12/15/97</B></td>
              <td width='50%'>Version: <B>1.53
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>fixed some minor errors in doc 
</table></td></tr></table>

<P>


    <TABLE CELLSPACING='0'
      CELLPADDING='2'
      WIDTH='100%'
      BORDER='0' 
      BGCOLOR='black'>

html/changes.html  view on Meta::CPAN

      BGCOLOR='black'>
      <TR>
	<TD width='100%'>
	  <TABLE CELLSPACING='0' CELLPADDING='3' WIDTH='100%' BORDER='0'
	    BGCOLOR='lightblue'>
	    <tr><td colspan='2'>
  <table width='100%' border='0'><tr>
	      <td width='50%'>Released: <B>10/07/97</B></td>
              <td width='50%'>Version: <B>1.51
</B></td>
  </tr></table></td>
            </tr><tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>fixed some typos/symbol errors. added a missing routine. 
</table></td></tr></table>

<P>


    <TABLE CELLSPACING='0'
      CELLPADDING='2'
      WIDTH='100%'
      BORDER='0' 
      BGCOLOR='black'>

html/changes.html  view on Meta::CPAN

{D.J.Adams at soton.ac.uk}) </font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>new functions and doc on new functions and new examples for some 
of these new functions. </font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='red'>altered return value of perl_ARStatusStruct so that it  
returns a hash of the various StatusStruct members so that reversing the operation is simpler. scripts that, for example, retrieve active link definitions and print them out that previous expected the {message} key to point to a string will need to b...
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added valueType to the assign structure to assist in  
reversing the operation (converting perl to C API assign  structure). </font></td></tr>
<tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>added displayTag as an optional parameter to ars_LoadQualifier() 
so that you can build queries against customized views (that are stored on the server). </font></td></tr>
<tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>altered ARError() so that return codes of OK or WARNING don't 
signal an error. For example, GetListEntries would return nothing if you matched more than the max allowed, now it returns the max allowable number of records and places a warning message into the error hash.  </table></td></tr></table>

<P>


    <TABLE CELLSPACING='0'
      CELLPADDING='2'
      WIDTH='100%'
      BORDER='0' 
      BGCOLOR='black'>
      <TR>

html/manual/OO/index.html  view on Meta::CPAN


<DT> <B> Parameter Checking </B> <DD>

	Finally, if you utilize Named Parameters, then the methods will
	check to make sure you specified the minimum number of parameters
	and will put up a usage message if you have not.<P>

<DT> <B> Stack Trace </B> <DD>

	Last, but not least, the OO layer uses the Carp module to give you
	a meaningful backtrace in the event of an error. Unlike the classic 
	function call interface, and error might occur and one of several
	points, the traceback functionality of Carp makes it more obvious
	where the error is occurring in your code.<P>

</DL>

<HR>
<A HREF="../toc.html">Back to Table of Contents</A>
Last updated 12 Mar 1999 by jcmurphy@buffalo.edu.
</BODY>
</HTML>

html/manual/ars_EncodeDiary.html  view on Meta::CPAN

	$b-&gt;{user} = "raboof";
	$b-&gt;{value} = "diary entry 2";

	($encodedDiary = ars_EncodeDiary($a, $b)) ||
		die "ars_EncodeDiary failed";
      </PRE>

	<B>Note</B>: this routine is really only useful when using
	<A HREF="ars_MergeEntry.html">ars_MergeEntry</A>. This routine
	is a <I>helper</I> routine and does not alter
	<CODE>$ars_errstr</CODE> if an error occurs. There is no
	<CODE>ars_DecodeDiary</CODE> routine. 
	<P>

<I>ars_EncodeDiary was introduced in version 1.46 of ARSperl</I>

<P>
<HR WIDTH="30%">
<P>
<A HREF="toc.html"><IMG ALT="&lt;--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A>
<p>

html/manual/ars_Import.html  view on Meta::CPAN

	<P>
	<code>importOption</code> is one of:<P>
	<blockquote>
		&ARS::AR_IMPORT_OPT_CREATE <BR>
		&ARS::AR_IMPORT_OPT_OVERWRITE <BR>
	</blockquote>
	When compiling against an API version previous to 4.5, this
	option has no effect on the import operation but must still
	be specified. When compiled against an API version greater
	or equal to 4.5, this option specifies what to do if the 
	object already exists (generate an error, or overwrite the
	existing object).
	<P>

	The above example will read an AR Export file (text file) into 
	a scalar and will import Schemas and Active Links from that file
	into the ARSystem. Other object types are:
	<UL>
<LI> "schema" 
<LI> "schema_defn" 
<LI> "schema_view" 

html/manual/ars_MergeEntry.html  view on Meta::CPAN

<P>
There are three conditions to detect after ars_MergeEntry(...).  

<ol>
<li> A non-null value returned means that a new entry was created.

<li> A null value returned, plus $ars_errstr empty, means that an existing
   entry was replaced.

<li> A null value returned, plus $ars_errstr non-empty, means there was some
   error.
</oL>

Here's some sample code that demonstrates how to evaluate the outcome of
	this function:
<PRE>
foreach $RPTID (sort keys %RPTEntryList) {
        undef @Report;
        ( @Report = ars_GetEntry($ctrl1, $ISS_RPT_SCHEMA, $RPTID) )
                || arsdie("GetEntry $RPTID");
        if ( $ret = ars_MergeEntry($ctrl2, $ISS_RPT_SCHEMA,

html/manual/ars_MergeEntry.html  view on Meta::CPAN

	routine. See <A HREF="ars_EncodeDiary.html">ars_EncodeDiary</A>.
	<P>
	<code>mergeType</code> defines how the merge will happen if special
	field (ie. Entry-Id) already exists:
	<P>
	<TABLE BORDER=1>
	<TR>
		<TH>Code</TH><TH>Meaning</TH>
	</TR>
	<TR>
		<TD>1</TD><TD>Generate an error</TD>
	</TR>
	<TR>
		<TD>2</TD><TD>Create a new entry with a new entry id</TD>
	</TR>
	<TR>
		<TD>3</TD><TD>Delete the existing entry and create a new on in its place</TD>
	</TR>
	<TR>
		<TD>4</TD><TD>Update fields specified in the fieldlist in existing entry</TD>
	</TR>

html/manual/ds_afs.html  view on Meta::CPAN

 <I>one of:</I>

 "fieldId"          =&gt; integer,
       or
 "statHistory"      =&gt; reference to <A HREF="ds_shv.html">Status History Value</A>,
}
</PRE>

<DL>
<DT><B>noMatchOption</B>(s):<DD>
   <UL> <LI> "error" <LI> "set_null" </UL>
<DT><B>multiMatchOption</B>(s):<DD>
   <UL> <LI> "error" <LI> "set_null" <LI> "use_first" <LI> "picklist" </UL>
</DL>
<P>
<HR WIDTH="30%">
<P>
<A HREF="toc.html"><IMG ALT="&lt;--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A>
<p>
<address>
Last changes to this page 4th August 1997 by jcmurphy@arsperl.org<br>
&#169; J.C.Murphy, J.W.Murphy 1997 arsperl@arsperl.org
</address>

html/manual/ds_ars_err_hash.html  view on Meta::CPAN

<HTML>
<HEAD>
<TITLE>ARSperl Manual - Error Hash Structure</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">

<H2>Error Hash (%ars_errhash) Structure</H2>

This hash contains any error, warning or informational messages that are
returned from the C API or Perl API. It is reset whenever you call an
ARSperl function. Therefor, you should examine it after calling an ARSperl
function and before calling another ARSperl function.

<PRE>
  "numItems"    =&gt; integer,
  "messageType" =&gt; <B>reference</B> to an array of integers,
  "messageNum"  =&gt; <B>reference</B> to an array of integers,
  "messageText" =&gt; <B>reference</B> to an array of strings
</PRE>

html/manual/ds_enumlimstruct.html  view on Meta::CPAN

  <title>ARSperl Manual - Enum Limit Structure</title>
</head>

<body bgcolor="#ffffff">


<h2>Enum Limit Structure</h2>
{<br>
<pre>	"regularList" =&gt; list of strings (arrayref)<br>	"customList"  =&gt; list of <a href="ds_enumitemstruct.html">enumItems</a>
	"queryList"   =&gt; ref to <a href="ds_enumquerystruct.html">enumQuery</a>
	"error"       =&gt; unknown listStyle encounted
}
</pre>


<p>
</p>
<hr width="30%">
<p>
<a href="toc.html"><img alt="&lt;--" src="arrow.gif" align="middle"> Table of Contents </a>
</p>

html/manual/ds_msgstruct_hash.html  view on Meta::CPAN

  "messageText"   =&gt;  string,
  "usePromptingPane" =&gt; integer (boolean: 0 or 1)
}
</PRE>

<B>Notes</B>: 
<UL>
 <LI>This structure was introduced in ARSperl v1.62.
 <LI>The "messageType" string is mapped from status return values. 
	Typical values are "ok" (which means "note"), "warning",
	"error", and "prompt". Since Remedy uses the AR_STATUS codes
	as message types instead of providing a distinct decoding in the
	API, "0" is translated to "ok" instead of "note".
</UL>
<P>
<HR WIDTH="30%">
<P>
<A HREF="toc.html"><IMG ALT="&lt;--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A>
<p>
Last changes to this page 1 Jun 2000 by jcmurphy<BR>
&#169; J.C.Murphy, J.W.Murphy 1997 <address>

infra/h2ph  view on Meta::CPAN

while (defined (my $file = next_file())) {
    if (-l $file and -d $file) {
        link_if_possible($file) if ($opt_l);
        next;
    }

    # Recover from header files with unbalanced cpp directives
    $t = '';
    $tab = 0;

    # $eval_index goes into ``#line'' directives, to help locate syntax errors:
    $eval_index = 1;

    if ($file eq '-') {
	open(IN, "-");
	open(OUT, ">-");
    } else {
	($outfile = $file) =~ s/\.h$/.ph/ || next;
	print "$file -> $outfile\n" unless $opt_Q;
	if ($file =~ m|^(.*)/|) {
	    $dir = $1;

infra/h2ph  view on Meta::CPAN

		$t = "\t" x ($tab / 8) . ' ' x ($tab % 8);
		print OUT $t,"} else {\n";
		$tab += 4;
		$t = "\t" x ($tab / 8) . ' ' x ($tab % 8);
	    } elsif (/^endif/) {
		$tab -= 4;
		$t = "\t" x ($tab / 8) . ' ' x ($tab % 8);
		print OUT $t,"}\n";
	    } elsif(/^undef\s+(\w+)/) {
		print OUT $t, "undef(&$1) if defined(&$1);\n";
	    } elsif(/^error\s+(".*")/) {
		print OUT $t, "die($1);\n";
	    } elsif(/^error\s+(.*)/) {
		print OUT $t, "die(\"", quotemeta($1), "\");\n";
	    } elsif(/^warning\s+(.*)/) {
		print OUT $t, "warn(\"", quotemeta($1), "\");\n";
	    } elsif(/^ident\s+(.*)/) {
		print OUT $t, "# $1\n";
	    }
	} elsif(/^\s*(typedef\s*)?enum\s*(\s+[a-zA-Z_]\w*\s*)?/) {
	    until(/\{[^}]*\}.*;/ || /;/) {
		last unless defined ($next = next_line($file));
		chomp $next;

infra/h2ph  view on Meta::CPAN

	s/^\&\&// && do { $new .= " &&"; next;}; # handle && operator
	s/^\&([\(a-z\)]+)/$1/i;	# hack for things that take the address of
	s/^(\s+)//		&& do {$new .= ' '; next;};
	s/^0X([0-9A-F]+)[UL]*//i 
	    && do {my $hex = $1;
		   $hex =~ s/^0+//;
		   if (length $hex > 8 && !$Config{use64bitint}) {
		       # Croak if nv_preserves_uv_bits < 64 ?
		       $new .=         hex(substr($hex, -8)) +
			       2**32 * hex(substr($hex,  0, -8));
		       # The above will produce "errorneus" code
		       # if the hex constant was e.g. inside UINT64_C
		       # macro, but then again, h2ph is an approximation.
		   } else {
		       $new .= lc("0x$hex");
		   }
		   next;};
	s/^(-?\d+\.\d+E[-+]?\d+)[FL]?//i	&& do {$new .= $1; next;};
	s/^(\d+)\s*[LU]*//i	&& do {$new .= $1; next;};
	s/^("(\\"|[^"])*")//	&& do {$new .= $1; next;};
	s/^'((\\"|[^"])*)'//	&& do {
	    if ($curargs{$1}) {
		$new .= "ord('\$$1')";
	    } else {
		$new .= "ord('$1')";
	    }
	    next;
	};
        # replace "sizeof(foo)" with "{foo}"
        # also, remove * (C dereference operator) to avoid perl syntax
        # problems.  Where the %sizeof array comes from is anyone's
        # guess (c2ph?), but this at least avoids fatal syntax errors.
        # Behavior is undefined if sizeof() delimiters are unbalanced.
        # This code was modified to able to handle constructs like this:
        #   sizeof(*(p)), which appear in the HP-UX 10.01 header files.
        s/^sizeof\s*\(// && do {
            $new .= '$sizeof';
            my $lvl = 1;  # already saw one open paren
            # tack { on the front, and skip it in the loop
            $_ = "{" . "$_";
            my $index = 1;
            # find balanced closing paren

infra/h2ph  view on Meta::CPAN


=item -l

Symbolic links will be replicated in the destination directory.  If B<-l>
is not specified, then links are skipped over.

=item -h

Put ``hints'' in the .ph files which will help in locating problems with
I<h2ph>.  In those cases when you B<require> a B<.ph> file containing syntax
errors, instead of the cryptic

	[ some error condition ] at (eval mmm) line nnn

you will see the slightly more helpful

	[ some error condition ] at filename.ph line nnn

However, the B<.ph> files almost double in size when built using B<-h>.

=item -D

Include the code from the B<.h> file as a comment in the B<.ph> file.
This is primarily used for debugging I<h2ph>.

=item -Q

rev_AR_template.pl  view on Meta::CPAN

			}else if( hv_exists(h,"<@ $pcase @>",<@ length($pcase) @>) ){
				<@ $obj->{_switch} @> = <@ $key2 @>;
				k = "<@ $pcase @>";
<@ versionEndif($obj->{_case}{$key}) @>
@>                 }
@>                 foreach my $key ( keyFilter($obj->{_case},'_default') ){
			}else if( 1 ){
			    <@ $obj->{_switch} @> = <@ $key @>;
@>                 }
			}else{
			    ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_<@ $class @>: map error" );
			}
@>             }
@>         }


			switch( <@ $obj->{_switch} @> ){
@>         foreach my $key ( keyFilter($obj->{_case},'_data') ){
@>             my $key2 = $key;
@>             $key2 =~ s/\W+$//;
@>             my $type = $obj->{_case}{$key}{_type};

rev_AR_template.pl  view on Meta::CPAN

			int i = 0, num = 0;
			AV *ar = (AV*) SvRV((SV*) *val);

			num = av_len(ar) + 1;
			<@ $obj->{_num}  @> = num;
			if( num == 0 ) return 0;

@>         unless( $type =~ s/\[\]// ){
			<@ $obj->{_list} @> = (<@ $type @>*) MALLOCNN( sizeof(<@ $type @>) * num );
			/* if( <@ $obj->{_list} @> == NULL ){
				croak( "rev_<@ $class @>: malloc error\n" );
				exit( 1 );
			} */
@>         }

			for( i = 0; i < num; ++i ){
				SV **item = av_fetch( ar, i, 0 );

				if( item && *item ){
					char *k = "_";
					HV *h = newHV();

rev_AR_template.pl  view on Meta::CPAN

	{
		SV **val;
		strncpy( k, "<@ $key2 @>", 255 );
		val = hv_fetch( h, "<@ $key2 @>", <@ length($key2) @>, 0 );
		if( val && *val && <@ ($obj->{$key}{_type} eq 'ARValueStruct')? '(SvOK(*val) || SvTYPE(*val) == SVt_NULL)' : 'SvOK(*val)' @> ){
@>             perlToStruct( $obj->{$key}, $class, "$LINE_INDENT\t\t\t" );
		}else{
@>             if( $obj->{$key}{_default} ){
			<@ $obj->{$key}{_data} @> = <@ $obj->{$key}{_default} @>;
@>             }else{
			ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"<@ $key2 @>\"" );
			return -1;
@>             }
		}
	}
<@ versionEndif($obj->{$key}) @>
@>         }

	}else{
		ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_<@ $class @>: hash value is not a hash reference" );
		return -1;

support.c  view on Meta::CPAN

 *   ARError_add(type, num, text)
 *   ARError_reset()
 *
 * DESCRIPTION
 *   err_hash is a hash with the following keys:
 *       {numItems}
 *       {messageType} (array reference)
 *       {messageNum}  (array reference)
 *       {messageText} (array reference)
 *   each of the array refs have exactly {numItems} elements in
 *   them. one for each error in the list.
 *
 *   _add will add a new error onto the error hash/array and will
 *   incremement numItems appropriately.
 *
 *   _reset will reset the error hash to 0 elements and clear out
 *   old entries.
 *
 * RETURN
 *   0 on success
 *   negative int on failure
 */

int
ARError_reset()
{

support.c  view on Meta::CPAN

	AV             *a;
	SV             *t2;
	HV             *err_hash = (HV *) NULL;
	unsigned int    ni, ret = 0;

#ifdef ARSPERL_DEBUG
	printf("ARError_add(%d, %d, %s)\n", type, num, text ? text : "NULL");
#endif

/* this is used to insert 'traceback' (debugging) messages into the
 * error hash. these can be filtered out by modifying the FETCH clause
 * of the ARSERRSTR package in ARS.pm
 */

	switch (type) {
	case ARSPERL_TRACEBACK:
	case AR_RETURN_OK:
	case AR_RETURN_WARNING:
		ret = 0;
		break;
	case AR_RETURN_ERROR:

support.c  view on Meta::CPAN

				     sizeof(AREnumItemStruct)
				     )
			 ,0
			 );
		break;
	case AR_ENUM_STYLE_QUERY:
		hv_store(hash, "queryList", strlen("queryList"),
			 perl_AREnumQueryStruct(ctrl, &(in->u.queryList)), 0);
		break;
	default:
		hv_store(hash, "error", 5,
			 newSVpv("unknown listStyle", 0), 0);
		hv_store(hash, "listStyle", strlen("listStyle"),
			 newSViv(in->listStyle), 0);
		ARError_add(AR_RETURN_ERROR, AP_ERR_ENUM_LISTSTYLE);
	}
	return newRV_noinc((SV *) hash);
}
#endif

#if AR_EXPORT_VERSION >= 7L

support.c  view on Meta::CPAN

	hv_store(hash,  "schema", strlen("schema") , newSVpv(in->schema, 0), 0);
	hv_store(hash,  "server", strlen("server") , newSVpv(in->server, 0), 0);
	qual = dup_qualifier(ctrl, in->qualifier);
	ref = newSViv(0);
	sv_setref_pv(ref, "ARQualifierStructPtr", (void *) qual);
	hv_store(hash,  "qualifier", strlen("qualifier") , ref, 0);

	hv_store(hash,  "valueField", strlen("valueField") , newSViv(in->valueField), 0);
	switch (in->multiMatchCode) {
	case AR_QUERY_VALUE_MULTI_ERROR:
		hv_store(hash,  "multi", strlen("multi") , newSVpv("error", 0), 0);
		break;
	case AR_QUERY_VALUE_MULTI_FIRST:
		hv_store(hash,  "multi", strlen("multi") , newSVpv("first", 0), 0);
		break;
	case AR_QUERY_VALUE_MULTI_SET:
		hv_store(hash,  "multi", strlen("multi") , newSVpv("set", 0), 0);
		break;
	}
	return newRV_noinc((SV *) hash);
}

support.c  view on Meta::CPAN

			}
			afl = (AV*) fl;
			out->funcList.numItems = av_len(afl) + 1;
			out->funcList.funcCurrencyList = MALLOCNN(out->funcList.numItems * sizeof(ARFuncCurrencyStruct));
			for( i = 0; i < out->funcList.numItems; ++i ){
				SV **fetch, *val, *type, *h;				
				HV *hash;

				fetch = av_fetch( afl, i, 0 );
				if (!fetch) {
					ARError_add(AR_RETURN_ERROR, 80029, "Bad currency struct: error fetching funcList item");
					return -1;
				}
				if(!(SvOK(*fetch) && SvTYPE(*fetch) < SVt_PVAV)) {
					ARError_add(AR_RETURN_ERROR, 80029, "Bad currency struct: error fetching funcList item");
					return -1;
				}

				h = SvRV(*fetch);
				if(!(SvTYPE(h) == SVt_PVHV)) {
					ARError_add(AR_RETURN_ERROR, 80029, "Bad currency struct: non-hashref item in funcList");
					return -1;
				}
				hash = (HV*) h;



( run in 0.547 second using v1.01-cache-2.11-cpan-65fba6d93b7 )