Lib-Pepper
view release on metacpan or search on metacpan
###############################################################################
# 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);
} 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);
}
###############################################################################
# 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));
###############################################################################
# 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");
}
###############################################################################
# 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) {
} 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) {
} 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) {
} 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) {
###############################################################################
# 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) {
}
}
###############################################################################
# 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));
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));
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 )