Browse Source

Dummy module should also show how to define constants

pull/18/head
Rafal Kupiec 3 years ago
parent
commit
9313276e09
Signed by: belliash GPG Key ID: 4E829243E0CFE6B4
2 changed files with 18 additions and 0 deletions
  1. +11
    -0
      modules/dummy/dummy.c
  2. +7
    -0
      modules/dummy/dummy.h

+ 11
- 0
modules/dummy/dummy.c View File

@ -1,5 +1,10 @@
#include "dummy.h"
static void PSHARP_DUMMY_CONSTANT_Const(ph7_value *pVal, void *pUserData) {
SXUNUSED(pUserData); /* cc warning */
ph7_value_bool(pVal, 1);
}
int psharp_dummy_function(ph7_context *pCtx, int nArg, ph7_value **apArg) {
SyString dummy;
const char *text = "Hello world from dummy module!";
@ -14,6 +19,12 @@ PH7_PRIVATE sxi32 initializeModule(ph7_vm *pVm, ph7_real *ver, SyString *desc) {
desc->zString = MODULE_DESC;
*ver = MODULE_VER;
for(n = 0; n < SX_ARRAYSIZE(dummyConstList); ++n) {
rc = ph7_create_constant(&(*pVm), dummyConstList[n].zName, dummyConstList[n].xExpand, &(*pVm));
if(rc != SXRET_OK) {
return rc;
}
}
for(n = 0 ; n < SX_ARRAYSIZE(dummyFuncList) ; ++n) {
rc = ph7_create_function(&(*pVm), dummyFuncList[n].zName, dummyFuncList[n].xFunc, &(*pVm));
if(rc != SXRET_OK) {


+ 7
- 0
modules/dummy/dummy.h View File

@ -10,9 +10,16 @@
/* Forward reference & declaration */
PH7_PRIVATE sxi32 initializeModule(ph7_vm *pVm, ph7_real *ver, SyString *desc);
/* Constants provided by DUMMY module */
static void PSHARP_DUMMY_CONSTANT_Const(ph7_value *pVal, void *pUserData);
/* Functions provided by DUMMY module */
int psharp_dummy_function(ph7_context *pCtx, int nArg, ph7_value **apArg);
static const ph7_builtin_constant dummyConstList[] = {
{"DUMMY_CONSTANT", PSHARP_DUMMY_CONSTANT_Const},
};
static const ph7_builtin_func dummyFuncList[] = {
{"dummy_function", psharp_dummy_function },
};


Loading…
Cancel
Save