func (t *Threads) Get() *Thread { cthread := C.notmuch_threads_get(t.toC()) // NOTE: we don't distinguish between OOM and calling Get when // !t.Valid(). As such, it's an error for the user to call Get // without first calling Valid. checkOOM(unsafe.Pointer(cthread)) thread := &Thread{ cptr: cthread, threads: t, } runtime.SetFinalizer(thread, func(t *Thread) { C.notmuch_thread_destroy(t.toC()) }) return thread }
func (t *Thread) Close() error { return (*cStruct)(t).doClose(func() error { C.notmuch_thread_destroy(t.toC()) return nil }) }
/** * Destroy a notmuch_thread_t object. */ func (self *Thread) Destroy() { if self.thread != nil { C.notmuch_thread_destroy(self.thread) } }