Golang C.g_value_get_boxed类(方法)实例源码

下面列出了Golang C.g_value_get_boxed 类(方法)源码代码实例,从而了解它的用法。

作者:jric    项目:go-webkit   
func marshalCertificateInfo(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	info := (*C.WebKitCertificateInfo)(unsafe.Pointer(c))
	wrapped := wrapCertificateInfo(info)
	runtime.SetFinalizer(wrapped, (*CertificateInfo).free)
	return wrapped, nil
}

作者:reuse    项目:ggi   
func fromGValue(v *C.GValue) (ret interface{}) {
	valueType := C.gvalue_get_type(v)
	fundamentalType := C.gtype_get_fundamental(valueType)
	switch fundamentalType {
	case C.G_TYPE_OBJECT:
		ret = unsafe.Pointer(C.g_value_get_object(v))
	case C.G_TYPE_STRING:
		ret = fromGStr(C.g_value_get_string(v))
	case C.G_TYPE_UINT:
		ret = int(C.g_value_get_uint(v))
	case C.G_TYPE_BOXED:
		ret = unsafe.Pointer(C.g_value_get_boxed(v))
	case C.G_TYPE_BOOLEAN:
		ret = C.g_value_get_boolean(v) == C.gboolean(1)
	default:
		fmt.Printf("from type %s %T\n", fromGStr(C.g_type_name(fundamentalType)), v)
		panic("FIXME") //TODO
	}
	return
}

作者:spreadspac    项目:go-gstreame   
func marshalMessage(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	return &Message{(*C.GstMessage)(unsafe.Pointer(c))}, nil
}

作者:spreadspac    项目:go-gstreame   
func marshalGValueArray(p uintptr) (interface{}, error) {
	c := (*C.GValueArray)(unsafe.Pointer(C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))))
	return sliceFromGValueArray(c), nil
}

作者:vvanp    项目:gotk   
func marshalBoxed(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	return uintptr(unsafe.Pointer(c)), nil
}

作者:raich    项目:gotk   
func marshalSurface(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	surface := (*C.cairo_surface_t)(unsafe.Pointer(c))
	return wrapSurface(surface), nil
}

作者:raich    项目:gotk   
func marshalContext(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	context := (*C.cairo_t)(unsafe.Pointer(c))
	return wrapContext(context), nil
}

作者:rosatole    项目:coyi   
func marshalFontDescription(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	c2 := (*C.PangoFontDescription)(unsafe.Pointer(c))
	return wrapFontDescription(c2), nil
}

作者:envoke    项目:gotk   
func marshalEvent(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	return &Event{(*C.GdkEvent)(unsafe.Pointer(c))}, nil
}

作者:yamnikov-ole    项目:gotk   
func marshalRGBA(p uintptr) (interface{}, error) {
	c := C.g_value_get_boxed((*C.GValue)(unsafe.Pointer(p)))
	c2 := (*C.GdkRGBA)(unsafe.Pointer(c))
	return wrapRGBA(c2), nil
}

作者:hwc    项目:go-gt   
func (this *Value) GetBoxedInterface() interface{} {
	return *(*interface{})(C.g_value_get_boxed(this.asC()))
}

作者:hwc    项目:go-gt   
// g_value_get_boxed
func (this *Value) GetBoxed() unsafe.Pointer {
	return unsafe.Pointer(C.g_value_get_boxed(this.asC()))
}


问题


面经


文章

微信
公众号

扫码关注公众号