Lib-Pepper

 view release on metacpan or  search on metacpan

Pepper.xs  view on Meta::CPAN


###############################################################################
# LIBRARY MANAGEMENT
###############################################################################

void
pepInitialize(pepcoreLibraryPath, configStructure, licenseStructure)
    const char* pepcoreLibraryPath
    SV* configStructure
    SV* licenseStructure
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle terminalTypeOptionList = pepInvalidHandle;
        const char* configStr = (SvOK(configStructure) && SvPOK(configStructure)) ? SvPV_nolen(configStructure) : NULL;
        const char* licenseStr = (SvOK(licenseStructure) && SvPOK(licenseStructure)) ? SvPV_nolen(licenseStructure) : NULL;

        result = pepInitialize(pepcoreLibraryPath, configStr, licenseStr, NULL, NULL, &terminalTypeOptionList);

        EXTEND(SP, 2);
        mPUSHi(result);

Pepper.xs  view on Meta::CPAN

        } else {
            PUSHs(&PL_sv_undef);
        }
    }

PEPFunctionResult
pepFinalize()

void
pepVersion()
    PPCODE:
    {
        PEPFunctionResult result;
        int64_t major = 0, minor = 0, service = 0, revision = 0, api = 0;
        int64_t osArch = 0, releaseType = 0, configType = 0;

        result = pepVersion(&major, &minor, &service, &revision, &api, &osArch, &releaseType, &configType);

        EXTEND(SP, 9);
        mPUSHi(result);
        mPUSHi(major);

Pepper.xs  view on Meta::CPAN

    }

###############################################################################
# INSTANCE MANAGEMENT
###############################################################################

void
pepCreateInstance(terminalType, instanceId)
    int64_t terminalType
    int64_t instanceId
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle instance = pepInvalidHandle;

        result = pepCreateInstance(terminalType, instanceId, &instance);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(instance != pepInvalidHandle) {
            mPUSHi(PTR2IV(instance));

Pepper.xs  view on Meta::CPAN

###############################################################################
# CONFIGURATION
###############################################################################

void
pepConfigureWithCallback(hInstance, hInputOptions, callback_cv, userdata_sv)
    PEPHandle hInstance
    PEPHandle hInputOptions
    SV* callback_cv
    SV* userdata_sv
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle outputOptions = pepInvalidHandle;
        PepperCallbackData* callbackData = NULL;

        /* Validate callback */
        if(!SvROK(callback_cv) || SvTYPE(SvRV(callback_cv)) != SVt_PVCV) {
            croak("pepConfigureWithCallback: callback must be a code reference");
        }

Pepper.xs  view on Meta::CPAN


###############################################################################
# OPERATION WORKFLOW (4-step process)
###############################################################################

void
pepPrepareOperation(hInstance, eOperation, hInputOptions)
    PEPHandle hInstance
    PEPOperation eOperation
    PEPHandle hInputOptions
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle operation = pepInvalidHandle;
        PEPHandle outputOptions = pepInvalidHandle;

        result = pepPrepareOperation(hInstance, eOperation, hInputOptions, &operation, &outputOptions);

        EXTEND(SP, 3);
        mPUSHi(result);
        if(operation != pepInvalidHandle) {

Pepper.xs  view on Meta::CPAN

        } else {
            PUSHs(&PL_sv_undef);
        }
    }

void
pepStartOperation(hInstance, eOperation, hInputOptions)
    PEPHandle hInstance
    PEPOperation eOperation
    PEPHandle hInputOptions
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle operation = pepInvalidHandle;
        PEPHandle outputOptions = pepInvalidHandle;

        result = pepStartOperation(hInstance, eOperation, hInputOptions, &operation, &outputOptions);

        EXTEND(SP, 3);
        mPUSHi(result);
        if(operation != pepInvalidHandle) {

Pepper.xs  view on Meta::CPAN

        } else {
            PUSHs(&PL_sv_undef);
        }
    }

void
pepExecuteOperation(hInstance, eOperation, hInputOptions)
    PEPHandle hInstance
    PEPOperation eOperation
    PEPHandle hInputOptions
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle operation = pepInvalidHandle;
        PEPHandle outputOptions = pepInvalidHandle;

        result = pepExecuteOperation(hInstance, eOperation, hInputOptions, &operation, &outputOptions);

        EXTEND(SP, 3);
        mPUSHi(result);
        if(operation != pepInvalidHandle) {

Pepper.xs  view on Meta::CPAN

        } else {
            PUSHs(&PL_sv_undef);
        }
    }

void
pepFinalizeOperation(hInstance, eOperation, hInputOptions)
    PEPHandle hInstance
    PEPOperation eOperation
    PEPHandle hInputOptions
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle operation = pepInvalidHandle;
        PEPHandle outputOptions = pepInvalidHandle;

        result = pepFinalizeOperation(hInstance, eOperation, hInputOptions, &operation, &outputOptions);

        EXTEND(SP, 3);
        mPUSHi(result);
        if(operation != pepInvalidHandle) {

Pepper.xs  view on Meta::CPAN


###############################################################################
# OPERATION STATUS
###############################################################################

void
pepOperationStatus(hInstance, hOperation, bWaitForCompletion)
    PEPHandle hInstance
    PEPHandle hOperation
    PEPBool bWaitForCompletion
    PPCODE:
    {
        PEPFunctionResult result;
        PEPBool status = pepFalse;

        result = pepOperationStatus(hInstance, hOperation, bWaitForCompletion, &status);

        EXTEND(SP, 2);
        mPUSHi(result);
        mPUSHi(status);
    }

###############################################################################
# UTILITY AND AUXILIARY
###############################################################################

void
pepUtility(hInstance, hInputOptions)
    PEPHandle hInstance
    PEPHandle hInputOptions
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle outputOptions = pepInvalidHandle;

        result = pepUtility(hInstance, hInputOptions, &outputOptions);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(outputOptions != pepInvalidHandle) {
            mPUSHi(PTR2IV(outputOptions));
        } else {
            PUSHs(&PL_sv_undef);
        }
    }

void
pepAuxiliary(hInstance, hInputOptions)
    PEPHandle hInstance
    PEPHandle hInputOptions
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle operation = pepInvalidHandle;
        PEPHandle outputOptions = pepInvalidHandle;

        result = pepAuxiliary(hInstance, hInputOptions, &operation, &outputOptions);

        EXTEND(SP, 3);
        mPUSHi(result);
        if(operation != pepInvalidHandle) {

Pepper.xs  view on Meta::CPAN

        }
    }

###############################################################################
# LICENSE
###############################################################################

void
pepDownloadLicense(hInputOptions)
    PEPHandle hInputOptions
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle outputOptions = pepInvalidHandle;

        result = pepDownloadLicense(hInputOptions, &outputOptions);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(outputOptions != pepInvalidHandle) {
            mPUSHi(PTR2IV(outputOptions));

Pepper.xs  view on Meta::CPAN

            PUSHs(&PL_sv_undef);
        }
    }

###############################################################################
# OPTION LIST MANAGEMENT
###############################################################################

void
pepOptionListCreate()
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle list = pepInvalidHandle;

        result = pepOptionListCreate(&list);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(list != pepInvalidHandle) {
            mPUSHi(PTR2IV(list));
        } else {
            PUSHs(&PL_sv_undef);
        }
    }

void
pepOptionListGetStringElement(hOptionList, pKey)
    PEPHandle hOptionList
    const char* pKey
    PPCODE:
    {
        PEPFunctionResult result;
        const char* value = NULL;

        result = pepOptionListGetStringElement(hOptionList, pKey, &value);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(result >= pepFunctionResult_Success && value) {
            mPUSHp(value, strlen(value));
        } else {
            PUSHs(&PL_sv_undef);
        }
    }

void
pepOptionListGetIntElement(hOptionList, pKey)
    PEPHandle hOptionList
    const char* pKey
    PPCODE:
    {
        PEPFunctionResult result;
        int64_t value = 0;

        result = pepOptionListGetIntElement(hOptionList, pKey, &value);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(result >= pepFunctionResult_Success) {
            mPUSHi(value);
        } else {
            PUSHs(&PL_sv_undef);
        }
    }

void
pepOptionListGetChildOptionListElement(hOptionList, pKey)
    PEPHandle hOptionList
    const char* pKey
    PPCODE:
    {
        PEPFunctionResult result;
        PEPHandle childHandle = pepInvalidHandle;

        result = pepOptionListGetChildOptionListElement(hOptionList, pKey, &childHandle);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(result >= pepFunctionResult_Success && childHandle != pepInvalidHandle) {
            mPUSHi(PTR2IV(childHandle));

Pepper.xs  view on Meta::CPAN


PEPFunctionResult
pepOptionListAddChildOptionListElement(hOptionList, pKey, hChildOptionList)
    PEPHandle hOptionList
    const char* pKey
    PEPHandle hChildOptionList

void
pepOptionListGetElementList(hOptionList)
    PEPHandle hOptionList
    PPCODE:
    {
        PEPFunctionResult result;
        const char* elementList = NULL;

        result = pepOptionListGetElementList(hOptionList, &elementList);

        EXTEND(SP, 2);
        mPUSHi(result);
        if(result >= pepFunctionResult_Success && elementList) {
            mPUSHp(elementList, strlen(elementList));



( run in 1.135 second using v1.01-cache-2.11-cpan-5511b514fd6 )