⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plstafcommandparser.cpp

📁 Software Testing Automation Framework (STAF)的开发代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                SvUTF8_on((SV*)ST(0));            #endif           }        //cerr << "Leaving errorBuffer." << endl;    }    XSRETURN(1);}XS(XS_STAFCommandParseResultPtr_DESTROY){    dXSARGS;    if (items != 1)        Perl_croak(aTHX_ "Usage: $result->DESTROY()");    {        //cerr << "Entering destructor (STAFCommandParseResultPtr)." << endl;        STAFCommandParseResultPtr *THING;        if (SvROK(ST(0))) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not a reference");        delete THING;        //cerr << "Leaving destructor (STAFCommandParseResultPtr)." << endl;    }    XSRETURN_EMPTY;}XS(XS_STAFCommandParseResultPtr_optionTimes){    dXSARGS;    if (items != 2)        Perl_croak(aTHX_ "Usage: $number = $result->optionTimes($optionName)");    {        //cerr << "Entering optionTimes." << endl;        STAFCommandParseResultPtr *THING;        STAFString    optionName;        unsigned int    RETVAL;        dXSTARG;        if (sv_derived_from(ST(0), "STAFCommandParseResultPtr")) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not of type STAFCommandParseResultPtr");        if (SvPOK(ST(1))) {            STRLEN len;            #ifdef STAF_OS_NAME_ZOS                char *tmp = (char *)SvPVbyte(ST(1), len);                optionName = STAFString(tmp, len);            #else                 char *tmp = (char *)SvPVutf8(ST(1), len);                optionName = STAFString(tmp, len, STAFString::kUTF8);            #endif        }        else            Perl_croak(aTHX_ "ST(1) is not of type STAFString");        RETVAL = (*THING)->optionTimes(optionName);        XSprePUSH;        PUSHu((UV)RETVAL);        //cerr << "Leaving optionTimes." << endl;    }    XSRETURN(1);}XS(XS_STAFCommandParseResultPtr_optionValue){    dXSARGS;    if (items < 2 || items > 3)        Perl_croak(aTHX_ "Usage: $value = $result->optionValue($optionName, $optionIndex=1)");    {        //cerr << "Entering optionValue." << endl;        STAFCommandParseResultPtr *THING;        STAFString      optionName;        unsigned int    optionIndex;        STAFString      RETVAL;        if (sv_derived_from(ST(0), "STAFCommandParseResultPtr")) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not of type STAFCommandParseResultPtr");        if (SvPOK(ST(1))) {            STRLEN len;            #ifdef STAF_OS_NAME_ZOS                char *tmp = (char *)SvPVbyte(ST(1), len);                optionName = STAFString(tmp, len);            #else                 char *tmp = (char *)SvPVutf8(ST(1), len);                optionName = STAFString(tmp, len, STAFString::kUTF8);            #endif        }        else            Perl_croak(aTHX_ "ST(1) is not of type STAFString");        if (items < 3)            optionIndex = 1;        else {            optionIndex = (unsigned int)SvUV(ST(2));        }        RETVAL = (*THING)->optionValue(optionName, optionIndex);        ST(0) = sv_newmortal();        {            unsigned int len;            const char *tmp;            #ifdef STAF_OS_NAME_ZOS                STAFStringBufferPtr ptr = RETVAL.toCurrentCodePage();                tmp = ptr->buffer();                len = ptr->length();                sv_setpvn((SV*)ST(0), tmp, len);            #else                tmp = RETVAL.buffer(&len);                sv_setpvn((SV*)ST(0), tmp, len);                SvUTF8_on((SV*)ST(0));            #endif            }        //cerr << "Leaving optionValue." << endl;    }    XSRETURN(1);}XS(XS_STAFCommandParseResultPtr_numInstances){    dXSARGS;    if (items != 1)        Perl_croak(aTHX_ "Usage: $number = $result->numInstances()");    {        //cerr << "Entering numInstances." << endl;        STAFCommandParseResultPtr *THING;        unsigned int    RETVAL;        dXSTARG;        if (sv_derived_from(ST(0), "STAFCommandParseResultPtr")) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not of type STAFCommandParseResultPtr");        RETVAL = (*THING)->numInstances();        XSprePUSH;        PUSHu((UV)RETVAL);        //cerr << "Leaving numInstances." << endl;    }    XSRETURN(1);}XS(XS_STAFCommandParseResultPtr_instanceName){    dXSARGS;    if (items != 2)        Perl_croak(aTHX_ "Usage: $name = $result->instanceName($instanceNum)");    {        //cerr << "Entering instanceName." << endl;        STAFCommandParseResultPtr *THING;        unsigned int    instanceNum = (unsigned int)SvUV(ST(1));        STAFString      RETVAL;        if (sv_derived_from(ST(0), "STAFCommandParseResultPtr")) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not of type STAFCommandParseResultPtr");        RETVAL = (*THING)->instanceName(instanceNum);        ST(0) = sv_newmortal();        {            unsigned int len;            const char *tmp;            #ifdef STAF_OS_NAME_ZOS                STAFStringBufferPtr ptr = RETVAL.toCurrentCodePage();                tmp = ptr->buffer();                len = ptr->length();                sv_setpvn((SV*)ST(0), tmp, len);            #else                tmp = RETVAL.buffer(&len);                sv_setpvn((SV*)ST(0), tmp, len);                SvUTF8_on((SV*)ST(0));            #endif            }        //cerr << "Leaving instanceName." << endl;    }    XSRETURN(1);}XS(XS_STAFCommandParseResultPtr_instanceValue){    dXSARGS;    if (items != 2)        Perl_croak(aTHX_ "Usage: $value = $result->instanceValue($instanceNum)");    {        //cerr << "Entering instanceValue." << endl;        STAFCommandParseResultPtr *THING;        unsigned int    instanceNum = (unsigned int)SvUV(ST(1));        STAFString      RETVAL;        if (sv_derived_from(ST(0), "STAFCommandParseResultPtr")) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not of type STAFCommandParseResultPtr");        RETVAL = (*THING)->instanceValue(instanceNum);        ST(0) = sv_newmortal();        {            unsigned int len;            const char *tmp;            #ifdef STAF_OS_NAME_ZOS                STAFStringBufferPtr ptr = RETVAL.toCurrentCodePage();                tmp = ptr->buffer();                len = ptr->length();                sv_setpvn((SV*)ST(0), tmp, len);            #else                tmp = RETVAL.buffer(&len);                sv_setpvn((SV*)ST(0), tmp, len);                SvUTF8_on((SV*)ST(0));            #endif        }        //cerr << "Leaving instanceValue." << endl;    }    XSRETURN(1);}XS(XS_STAFCommandParseResultPtr_numArgs){    dXSARGS;    if (items != 1)        Perl_croak(aTHX_ "Usage: $number = $result->numArgs()");    {        //cerr << "Entering numArgs." << endl;        STAFCommandParseResultPtr *THING;        unsigned int    RETVAL;        dXSTARG;        if (sv_derived_from(ST(0), "STAFCommandParseResultPtr")) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not of type STAFCommandParseResultPtr");        RETVAL = (*THING)->numArgs();        XSprePUSH;        PUSHu((UV)RETVAL);        //cerr << "Leaving numArgs." << endl;    }    XSRETURN(1);}XS(XS_STAFCommandParseResultPtr_arg){    dXSARGS;    if (items != 2)        Perl_croak(aTHX_ "Usage: $value = $result->arg(argNum)");    {        //cerr << "Entering arg." << endl;        STAFCommandParseResultPtr *THING;        unsigned int    argNum = (unsigned int)SvUV(ST(1));        STAFString      RETVAL;        if (sv_derived_from(ST(0), "STAFCommandParseResultPtr")) {            IV tmp = SvIV((SV*)SvRV(ST(0)));            THING = INT2PTR(STAFCommandParseResultPtr *,tmp);        }        else            Perl_croak(aTHX_ "Object is not of type STAFCommandParseResultPtr");        RETVAL = (*THING)->arg(argNum);        ST(0) = sv_newmortal();        {            unsigned int len;            const char *tmp;            #ifdef STAF_OS_NAME_ZOS                STAFStringBufferPtr ptr = RETVAL.toCurrentCodePage();                tmp = ptr->buffer();                len = ptr->length();                sv_setpvn((SV*)ST(0), tmp, len);            #else                tmp = RETVAL.buffer(&len);                sv_setpvn((SV*)ST(0), tmp, len);                SvUTF8_on((SV*)ST(0));            #endif            }        //cerr << "Leaving arg." << endl;    }    XSRETURN(1);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -