data.go
func NewDataReadWriter(rw io.ReadWriter) (*Data, error) {
	d := newData()
	d.r = rw
	d.w = rw
	d.cbs.read = C.gpgme_data_read_cb_t(C.gogpgme_readfunc)
	d.cbs.write = C.gpgme_data_write_cb_t(C.gogpgme_writefunc)
	cbc := callbackAdd(d)
	d.cbc = cbc
	return d, handleError(C.gogpgme_data_new_from_cbs(&d.dh, &d.cbs, C.uintptr_t(cbc)))
}
func NewDataReadWriter(rw io.ReadWriter) (*Data, error) {
	d := newData()
	d.r = rw
	d.w = rw
	d.cbs.read = C.gpgme_data_read_cb_t(C.gogpgme_readfunc)
	d.cbs.write = C.gpgme_data_write_cb_t(C.gogpgme_writefunc)
	cbc := callbackAdd(d)
	d.cbc = cbc
	return d, handleError(C.gogpgme_data_new_from_cbs(&d.dh, &d.cbs, C.uintptr_t(cbc)))
}
func NewDataReadWriter ( rw io . ReadWriter ) ( * Data , error ) { d := newData ( ) d . r = rw d . w = rw d . cbs . read = C . gpgme_data_read_cb_t ( C . gogpgme_readfunc ) d . cbs . write = C . gpgme_data_write_cb_t ( C . gogpgme_writefunc ) cbc := callbackAdd ( d ) d . cbc = cbc return d , handleError ( C . gogpgme_data_new_from_cbs ( & d . dh , & d . cbs , C . uintptr_t ( cbc ) ) ) }
// NewDataReadWriter returns a new callback based data buffer
NewDataReadWriter returns a new callback based data buffer