about summary refs log tree commit diff stats
path: root/src/bindings/pledge.nim
blob: 8d265fe697646a4b5031ffab673d695a0c3469fe (plain) (blame)
1
2
3
4
5
6
{.push header: "<unistd.h>", importc.}

proc pledge*(promises, execpromises: cstring): cint
proc unveil*(path, permissions: cstring): cint

{.pop.}
class="p">) // Guesses the appropriate worker type based on the given source string func NewWorker(source string, logger *log.Logger) (*types.Worker, error) { u, err := url.Parse(source) if err != nil { return nil, err } worker := &types.Worker{ Actions: make(chan types.WorkerMessage, 50), Callbacks: make(map[types.WorkerMessage]func(msg types.WorkerMessage)), Messages: make(chan types.WorkerMessage, 50), Logger: logger, } switch u.Scheme { case "imap": fallthrough case "imaps": worker.Backend = imap.NewIMAPWorker(worker) default: return nil, fmt.Errorf("Unknown backend %s", u.Scheme) } return worker, nil }