package mockscoringmgr
/*
-#include <stdlib.h>
-#include <dlfcn.h>
-#cgo LDFLAGS: -ldl
-
int
wrap_add(void *f, int a, int b){
return ((int (*)(int a, int b))f)(a,b);
import "unsafe"
import (
- "time"
scoringmgr "scoringmgr"
)
-func LoadScoringAdd(libPath string, intervalMs int) {
-
- sym := C.CString("add")
- defer C.free(unsafe.Pointer(sym))
-
- lib := C.CString(libPath)
- defer C.free(unsafe.Pointer(lib))
-
- handle, err := C.dlopen(lib , C.RTLD_LAZY)
- defer C.dlclose(handle)
-
- if err != nil {
- scoringmgr.ELog.Fatal("dlopen error occured")
- }
-
- symbolPtr, symbolErr := C.dlsym(handle, sym)
- if symbolErr != nil {
- scoringmgr.ELog.Fatal("symbol error occured")
- }
+func LoadScoringAddInterface(symbol uintptr) {
- for {
- scoringmgr.ILog.Println(C.wrap_add(symbolPtr,2,3))
- time.Sleep(time.Duration(intervalMs) * time.Millisecond)
- }
+ scoringmgr.ILog.Println(C.wrap_add(unsafe.Pointer(symbol),2,3))
return
}