Skip to content
Snippets Groups Projects
backend.go 1.48 KiB
Newer Older
  • Learn to ignore specific revisions
  • Kali Kaneko's avatar
    Kali Kaneko committed
    package main
    
    
    //go:generate python3 ../branding/scripts/vendorize.py ../branding/templates/bitmaskvpn/config.go ../branding/config/vendor.conf ../pkg/config/config.go
    
    
    /* a wrapper around bitmask that exposes status to a QtQml gui.
       Have a look at the pkg/backend module for further enlightment. */
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    
    import (
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    	"unsafe"
    
    
    	"0xacab.org/leap/bitmask-vpn/pkg/backend"
    
    //export GetVersion
    func GetVersion() *C.char {
    	return (*C.char)(backend.GetVersion())
    }
    
    //export GetAppName
    func GetAppName() *C.char {
    	return (*C.char)(backend.GetAppName())
    }
    
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    //export SwitchOn
    func SwitchOn() {
    
    	backend.SwitchOn()
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    }
    
    //export SwitchOff
    func SwitchOff() {
    
    	backend.SwitchOff()
    
    }
    
    //export Unblock
    func Unblock() {
    
    	backend.Unblock()
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    }
    
    //export Quit
    func Quit() {
    
    //export DonateAccepted
    func DonateAccepted() {
    	backend.DonateAccepted()
    }
    
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    //export SubscribeToEvent
    func SubscribeToEvent(event string, f unsafe.Pointer) {
    
    	backend.SubscribeToEvent(event, f)
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    }
    
    //export InitializeBitmaskContext
    func InitializeBitmaskContext() {
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    	opts := &backend.InitOpts{}
    	backend.InitializeBitmaskContext(opts)
    }
    
    //export InitializeTestBitmaskContext
    func InitializeTestBitmaskContext() {
    	opts := &backend.InitOpts{}
    	opts.SkipLaunch = true
    	backend.InitializeBitmaskContext(opts)
    	backend.EnableMockBackend()
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    }
    
    //export RefreshContext
    func RefreshContext() *C.char {
    
    	return (*C.char)(backend.RefreshContext())
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    //export InstallHelpers
    func InstallHelpers() {
    
    	backend.InstallHelpers()
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    }
    
    func main() {}