ARSperl
view release on metacpan or search on metacpan
perl_ARAssignStruct(ctrl, &in->assignment), 0);
return newRV_noinc((SV *) hash);
}
SV *
perl_ARDisplayStruct(ARControlStruct * ctrl, ARDisplayStruct * in)
{
char *string;
HV *hash = newHV();
/* FIX. use typeMap array? */
string = in->displayTag;
hv_store(hash, "displayTag", strlen("displayTag") , newSVpv(string, 0), 0);
string = in->label;
hv_store(hash, "label", strlen("label") , newSVpv(string, 0), 0);
switch (in->labelLocation) {
case AR_DISPLAY_LABEL_LEFT:
hv_store(hash, "labelLocation", strlen("labelLocation") , newSVpv("Left", 0), 0);
break;
case AR_DISPLAY_LABEL_TOP:
hv_store(hash, "labelLocation", strlen("labelLocation") , newSVpv("Top", 0), 0);
break;
}
switch (in->type) {
case AR_DISPLAY_TYPE_NONE:
hv_store(hash, "type", strlen("type") , newSVpv("NONE", 0), 0);
break;
case AR_DISPLAY_TYPE_TEXT:
hv_store(hash, "type", strlen("type") , newSVpv("TEXT", 0), 0);
break;
case AR_DISPLAY_TYPE_NUMTEXT:
hv_store(hash, "type", strlen("type") , newSVpv("NUMTEXT", 0), 0);
break;
case AR_DISPLAY_TYPE_CHECKBOX:
hv_store(hash, "type", strlen("type") , newSVpv("CHECKBOX", 0), 0);
break;
case AR_DISPLAY_TYPE_CHOICE:
hv_store(hash, "type", strlen("type") , newSVpv("CHOICE", 0), 0);
break;
case AR_DISPLAY_TYPE_BUTTON:
hv_store(hash, "type", strlen("type") , newSVpv("BUTTON", 0), 0);
break;
}
hv_store(hash, "length", strlen("length") , newSViv(in->length), 0);
hv_store(hash, "numRows", strlen("numRows") , newSViv(in->numRows), 0);
switch (in->option) {
case AR_DISPLAY_OPT_VISIBLE:
hv_store(hash, "option", strlen("option") , newSVpv("VISIBLE", 0), 0);
break;
case AR_DISPLAY_OPT_HIDDEN:
hv_store(hash, "option", strlen("option") , newSVpv("HIDDEN", 0), 0);
break;
}
hv_store(hash, "x", strlen("x") , newSViv(in->x), 0);
hv_store(hash, "y", strlen("y") , newSViv(in->y), 0);
return newRV_noinc((SV *) hash);
}
SV *
perl_ARMacroParmList(ARControlStruct * ctrl, ARMacroParmList * in)
{
HV *hash = newHV();
unsigned int i;
for (i = 0; i < in->numItems; i++)
hv_store(hash, in->parms[i].name, strlen(in->parms[i].name) , newSVpv(in->parms[i].value, 0), 0);
return newRV_noinc((SV *) hash);
}
SV *
perl_ARActiveLinkMacroStruct(ARControlStruct * ctrl, ARActiveLinkMacroStruct * in)
{
HV *hash = newHV();
hv_store(hash, "macroParms", strlen("macroParms") ,
perl_ARMacroParmList(ctrl, &in->macroParms), 0);
hv_store(hash, "macroText", strlen("macroText") , newSVpv(in->macroText, 0), 0);
hv_store(hash, "macroName", strlen("macroName") , newSVpv(in->macroName, 0), 0);
return newRV_noinc((SV *) hash);
}
SV *
perl_ARFieldCharacteristics(ARControlStruct * ctrl, ARFieldCharacteristics * in)
{
HV *hash = newHV();
#if AR_EXPORT_VERSION >= 8L
hv_store(hash, "option", strlen("option") , newSViv(in->option), 0);
#endif
hv_store(hash, "accessOption", strlen("accessOption") , newSViv(in->accessOption), 0);
hv_store(hash, "focus", strlen("focus") , newSViv(in->focus), 0);
#if AR_EXPORT_VERSION < 3
if (in->display)
hv_store(hash, "display", strlen("display") ,
perl_ARDisplayStruct(ctrl, in->display), 0);
#else
hv_store(hash, "props", strlen("props") ,
perl_ARList(ctrl,
(ARList *) & in->props,
(ARS_fn) perl_ARPropStruct,
sizeof(ARPropStruct)), 0);
#endif
if (in->charMenu)
hv_store(hash, "charMenu", strlen("charMenu") , newSVpv(in->charMenu, 0), 0);
hv_store(hash, "fieldId", strlen("fieldId") , newSViv(in->fieldId), 0);
return newRV_noinc((SV *) hash);
}
SV *
perl_ARDDEStruct(ARControlStruct * ctrl, ARDDEStruct * in)
{
HV *hash = newHV();
int action = 0;
hv_store(hash, "serviceName", strlen("serviceName") , newSVpv(in->serviceName, 0), 0);
hv_store(hash, "topic", strlen("topic") , newSVpv(in->topic, 0), 0);
hv_store(hash, "pathToProgram", strlen("pathToProgram") , newSVpv(in->pathToProgram, 0), 0);
hv_store(hash, "action", strlen("action") , newSViv(in->action), 0);
action = in->action;
hv_store(hash, "actionName", strlen("actionName") ,
newSVpv(DDEActionMap[action].name, strlen(DDEActionMap[action].name)), 0);
switch (action) {
case AR_DDE_EXECUTE:
hv_store(hash, "command", strlen("command") , newSVpv(in->command, 0), 0);
hv_store(hash, "item", strlen("item") , &PL_sv_undef, 0);
break;
case AR_DDE_POKE:
hv_store(hash, "item", strlen("item") , newSVpv(in->item, 0), 0);
hv_store(hash, "command", strlen("command") , newSVpv(in->command, 0), 0);
break;
case AR_DDE_REQUEST:
hv_store(hash, "item", strlen("item") , newSVpv(in->item, 0), 0);
hv_store(hash, "command", strlen("command") , &PL_sv_undef, 0);
break;
default:
hv_store(hash, "item", strlen("item") , &PL_sv_undef, 0);
hv_store(hash, "command", strlen("command") , &PL_sv_undef, 0);
break;
}
return newRV_noinc((SV *) hash);
}
SV *
perl_ARActiveLinkActionStruct(ARControlStruct * ctrl, ARActiveLinkActionStruct * in)
{
HV *hash = newHV();
int i = 0;
switch (in->action) {
case AR_ACTIVE_LINK_ACTION_MACRO:
hv_store(hash, "macro", strlen("macro") ,
perl_ARActiveLinkMacroStruct(ctrl, &in->u.macro), 0);
break;
case AR_ACTIVE_LINK_ACTION_FIELDS:
{
ARList *fieldList = NULL;
#if AR_EXPORT_VERSION >= 8L
hv_store(hash, "assign_fields", strlen("assign_fields") ,
perl_ARSetFieldsActionStruct(ctrl,&(in->u.setFields)), 0 );
#else
fieldList = (ARList *) & in->u.fieldList;
hv_store(hash, "assign_fields", strlen("assign_fields") ,
perl_ARList(ctrl,
fieldList,
(ARS_fn) perl_ARFieldAssignStruct,
sizeof(ARFieldAssignStruct)), 0);
#endif
}
break;
case AR_ACTIVE_LINK_ACTION_PROCESS:
hv_store(hash, "process", strlen("process") , newSVpv(in->u.process, 0), 0);
break;
case AR_ACTIVE_LINK_ACTION_MESSAGE:
#if AR_EXPORT_VERSION >= 4
hv_store(hash, "message", strlen("message") ,
perl_ARMessageStruct(ctrl, &(in->u.message)), 0);
#else
hv_store(hash, "message", strlen("message") ,
perl_ARStatusStruct(ctrl, &(in->u.message)), 0);
#endif
break;
case AR_ACTIVE_LINK_ACTION_SET_CHAR:
hv_store(hash, "characteristics", strlen("characteristics") ,
perl_ARFieldCharacteristics(ctrl, &in->u.characteristics), 0);
break;
case AR_ACTIVE_LINK_ACTION_DDE:
hv_store(hash, "dde", strlen("dde") ,
perl_ARDDEStruct(ctrl, &in->u.dde), 0);
break;
#if AR_EXPORT_VERSION >= 4
case AR_ACTIVE_LINK_ACTION_FIELDP:
{
ARList *pushFields = NULL;
#if AR_EXPORT_VERSION >= 8L
hv_store(hash, "fieldp", strlen("fieldp") ,
perl_ARPushFieldsActionStruct(ctrl,&(in->u.pushFields)), 0 );
#else
pushFields = (ARList *)& in->u.pushFieldsList;
/*ARPushFieldsList;*/
hv_store(hash, "fieldp", strlen("fieldp") ,
perl_ARList(ctrl,
pushFields,
(ARS_fn) perl_ARPushFieldsStruct,
sizeof(ARPushFieldsStruct)), 0);
#endif
}
break;
case AR_ACTIVE_LINK_ACTION_SQL:
/*ARSQLStruct;*/
hv_store(hash, "sqlCommand", strlen("sqlCommand") ,
perl_ARSQLStruct(ctrl, &(in->u.sqlCommand)), 0);
break;
( run in 1.148 second using v1.01-cache-2.11-cpan-d8267643d1d )