Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | updated BlitzMax test |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
1c412155bae4944315900b7aacbaddf5 |
User & Date: | grable 2018-11-01 19:16:31.471 |
Context
2018-11-01
| ||
19:24 | added BlitzMax test to makefile check-in: a52e2db53b user: grable tags: trunk | |
19:16 | updated BlitzMax test check-in: 1c412155ba user: grable tags: trunk | |
19:01 | moved last file to tests and tweaked the makefile to fit check-in: 7c24c9d52b user: grable tags: trunk | |
Changes
Changes to jimff.bmx.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 | Const JIMFF_TYPE_STRUCT:Int = AV_TYPE_STRUCT Type TJimFFSymbol 'Field Tag:Int Field Flags:Int Field Name:Byte Ptr Field TypeTag:Byte Ptr Field ReturnType:Int | > | > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | Const JIMFF_TYPE_STRUCT:Int = AV_TYPE_STRUCT Type TJimFFSymbol 'Field Tag:Int Field Flags:Int Field Name:Byte Ptr Field TypeTag:Byte Ptr Field ArgC:Int Field ReturnType:Int Field NumPointers:Int Field NumCallbacks:Int Field PointerSizes:Int Ptr Field Callbacks:Byte Ptr Ptr Field Addr:Byte Ptr Field Size:Int Field Link:TJimFFSymbol Field NumLinks:Int Field Library:TJimFFLibrary EndType |
︙ | ︙ | |||
56 57 58 59 60 61 62 63 | Field Context:TJimFFContext EndType Type TJimFFCallback 'Field Flags:Int Field Name:Byte Ptr Field TypeTag:Byte Ptr Field ReturnType:Int | > | > > > > | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | Field Context:TJimFFContext EndType Type TJimFFCallback 'Field Flags:Int Field Name:Byte Ptr Field TypeTag:Byte Ptr Field ArgC:Int Field ReturnType:Int Field NumPointers:Int Field NumCallbacks:Int Field PointerSizes:Int Ptr Field Callbacks:Byte Ptr Ptr Field Fn:Byte Ptr Field Command:TJimObj Field Context:TJimFFContext EndType Type TJimFFContext 'Field Flags:Int Field Epoch:Int Field Name:Byte Ptr Field LibsLen:Int Field LibsMax:Int Field Libs:TJimFFLibrary Ptr Field CbsLen:Int Field CbsMax:Int Field Cbs:TJimFFCallback Ptr Field CbError:TJimObj EndType Type TJimFFNoValue EndType Function jimff_typetag_type:Int( typetag:Byte) Function jimff_jimff_typetag_valid:Int( typetag:Byte Ptr) Function jimff_newcontext:TJimFFContext( interp:TJimInterp, name:Byte Ptr, flags:Int = 0) Function jimff_freecontext( ctx:TJimFFContext) Function jimff_load_library:TJimFFLibrary( ctx:TJimFFContext, path$z, flags:Int = 0) Function jimff_find_library:TJimFFLibrary( ctx:TJimFFContext, path$z) Function jimff_getlibrary:TJimFFLibrary( ctx:TJimFFContext, obj:TJimObj, update:Int) Function jimff_import_symbol:TJimFFSymbol( lib:TJimFFLibrary, tag:Int, name$z, _alias$z, typetag$z) Function jimff_find_symbol:TJimFFSymbol( ctx:TJimFFLibrary, name$z) Function jimff_delete_symbol:TJimFFSymbol( ctx:TJimFFLibrary, name$z) Function jimff_prepare_call:Int( ctx:TJimFFContext, avlist:TAvList, sym:TJimFFSymbol, argc:Int, argv:TJimObj Ptr, result:Byte Ptr) Function jimff_finish_call:TJimObj( ctx:TJimFFContext, avlist:TAvList, sym:TJimFFSymbol, result:Byte Ptr) Function jimff_call:Int( ctx:TJimFFContext, sym:TJimFFSymbol, argc:Int, argv:TJimObj Ptr) Function jimff_newresult:TJimObj( ctx:TJimFFContext, sym:TJimFFSymbol, result:Byte Ptr) Function jimff_set:TJimObj( ctx:TJimFFContext, sym:TJimFFSymbol, value:TJimObj) Function jimff_create_callback:TJimFFCallback( ctx:TJimFFContext, name:Byte Ptr, typetag:Byte Ptr) Function jimff_register_callback:TJimObj( ctx:TJimFFContext, callback:TJimFFCallback, command:TJimObj) Function jimff_find_callback:TJimFFCallback( ctx:TJimFFContext, name$z) Function jimff_delete_callback:TJimFFCallback( ctx:TJimFFContext, name$z) Function jimff_getcallback:TJimFFCallback( ctx:TJimFFContext, obj:TJimObj, update:Int) Function Jim_jimffInit:Int( interp:TJimInterp) EndExtern Function jimff_get:TJimObj( ctx:TJimFFContext, sym:TJimFFSymbol) Return jimff_set( ctx, sym, Null) EndFunction |
︙ | ︙ |
Deleted jimff_test.s.
|
| < < < < < < < < < < < < < < < < < < < < < < < < |
Name change from jimff_test.bmx to tests/jimff_test.bmx.
︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 | ' testing jimff package ' Local jim:TJimInterp = Jim_CreateInterp() Jim_RegisterCoreCommands jim Jim_InitStaticExtensions jim Jim_jimffInit(jim) Function test_cb( msg:Byte Ptr, cb:Int( i:Int, z$z, f:Float)) 'DLLEXPORT Print "begin test_cb " + String.FromCString(msg) Print "result=" + cb( 1, "2", 3.0) Print "end" EndFunction | > > > > > > > > > > > > > > > > > > > < < < < < < < < < < < < < < < < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | ' testing jimff package ' Local jim:TJimInterp = Jim_CreateInterp() Jim_RegisterCoreCommands jim Jim_InitStaticExtensions jim Jim_jimffInit(jim) eval jim, "proc test_1 {i s f} { puts ~q\ti=$i\n\tz=\~q$s\~q\n\tf=$f~q; expr $i + 1 }" ' run callback through C function eval jim, "jimff ff" eval jim, "ff::load test_lib.dll" eval jim, "ff::import test_callback vzx(iizd)" eval jim, "set cb [ff::callback test_1 iizd]" ;# note 'd' instead of 'f' since C promotes to double when uncertain eval jim, "test_callback message $cb" eval jim, "ff::free" ' run callback through BlitzMax function eval jim, "jimff ff" eval jim, "ff::load -self" eval jim, "ff::import test_cb vzx(iizf)" eval jim, "set cb [ff::callback test_1 iizf]" ;# note the 'f' instead of 'd' since BlitzMax does float when it says it will eval jim, "test_cb message $cb" eval jim, "ff::free" ' same as "test_lib.dll/test_callback" Function test_cb( msg:Byte Ptr, cb:Int( i:Int, z$z, f:Float)) 'DLLEXPORT Print "begin test_cb " + String.FromCString(msg) Print "result=" + cb( 1, "2", 3.0) Print "end" EndFunction Jim_FreeInterp jim End Function eval:Int( interp:TJimInterp, script:String, context:String = "IDE") Global line:Int = 0 |
︙ | ︙ |