作者:paulcadma
项目:golibxm
// xmlSaveFormatFileEnc
func (doc *Document) SaveFormatFileEnc(filename string, encoding string, format int) int {
ptrf := C.CString(filename)
defer C.free_string(ptrf)
ptre := C.CString(encoding)
defer C.free_string(ptre)
return int(C.xmlSaveFormatFileEnc(ptrf, doc.Ptr, ptre, C.int(format)))
}
作者:gnanderso
项目:go-webki
func (v *WebKitWebView) LoadHtmlString(content, base_uri string) {
pcontent := C.CString(content)
defer C.free_string(pcontent)
pbase_uri := C.CString(base_uri)
defer C.free_string(pbase_uri)
C.webkit_web_view_load_html_string(v.getWebView(), C.to_gcharptr(pcontent), C.to_gcharptr(pbase_uri))
}
作者:paulcadma
项目:golibxm
// htmlSaveFileEnc
func (doc *HTMLDocument) SaveFileEnc(filename string, encoding string) int {
ptrf := C.CString(filename)
defer C.free_string(ptrf)
ptre := C.CString(encoding)
defer C.free_string(ptre)
return int(C.htmlSaveFileEnc(ptrf, doc.Ptr, ptre))
}
作者:paulcadma
项目:golibxm
// xmlNewNs
func (node *Node) NewNs(href string, prefix string) *Namespace {
ptrh := C.CString(href)
defer C.free_string(ptrh)
ptrp := C.CString(prefix)
defer C.free_string(ptrp)
return makeNamespace(C.xmlNewNs(node.Ptr, C.to_xmlcharptr(ptrh), C.to_xmlcharptr(ptrp)))
}
作者:lamproa
项目:hgu
func loadHtmlString(webview *C.GtkWidget, content, base_uri string) {
pcontent := C.CString(content)
defer C.free_string(pcontent)
pbase_uri := C.CString(base_uri)
defer C.free_string(pbase_uri)
C.loadHtmlString(webview, C.to_gcharptr(pcontent), C.to_gcharptr(pbase_uri))
}
作者:paulcadma
项目:golibxm
// xmlNewDocProp
func (doc *Document) NewProp(name string, value string) *Attribute {
ptrn := C.CString(name)
defer C.free_string(ptrn)
ptrv := C.CString(value)
defer C.free_string(ptrv)
cattr := C.xmlNewDocProp(doc.Ptr, C.to_xmlcharptr(ptrn), C.to_xmlcharptr(ptrv))
return makeAttribute(cattr)
}
作者:paulcadma
项目:golibxm
// htmlParseFile
func ParseHTMLFile(filename string, encoding string) *HTMLDocument {
ptrf := C.CString(filename)
defer C.free_string(ptrf)
ptre := C.CString(encoding)
defer C.free_string(ptre)
doc := C.htmlParseFile(ptrf, ptre)
return makeHTMLDoc(doc)
}
作者:paulcadma
项目:golibxm
// htmlParseDoc
func ParseHTMLDoc(cur string, encoding string) *HTMLDocument {
ptrc := C.CString(cur)
defer C.free_string(ptrc)
ptre := C.CString(encoding)
defer C.free_string(ptre)
doc := C.htmlParseDoc(C.to_xmlcharptr(ptrc), ptre)
return makeHTMLDoc(doc)
}
作者:paulcadma
项目:golibxm
// xmlReadFile
func ReadFile(filename string, encoding string, options ParserOption) *Document {
ptrf := C.CString(filename)
defer C.free_string(ptrf)
ptre := C.CString(encoding)
defer C.free_string(ptre)
doc := C.xmlReadFile(ptrf, ptre, C.int(options))
return makeDoc(doc)
}
作者:paulcadma
项目:golibxm
// xmlReadMemory
func ReadMemory(buffer []byte, url string, encoding string, options ParserOption) *Document {
ptru := C.CString(url)
defer C.free_string(ptru)
ptre := C.CString(encoding)
defer C.free_string(ptre)
doc := C.xmlReadMemory((*C.char)(unsafe.Pointer(&buffer[0])), C.int(len(buffer)), ptru, ptre, C.int(options))
return makeDoc(doc)
}
作者:paulcadma
项目:golibxm
// xmlSetProp
func (node *Node) SetAttribute(name string, value string) *Attribute {
ptrn := C.CString(name)
defer C.free_string(ptrn)
ptrv := C.CString(value)
defer C.free_string(ptrv)
cattr := C.xmlSetProp(node.Ptr, C.to_xmlcharptr(ptrn), C.to_xmlcharptr(ptrv))
return makeAttribute(cattr)
}
作者:paulcadma
项目:golibxm
// htmlNewDoc
func NewHTMLDoc(uri string, external_id string) *HTMLDocument {
ptru := C.CString(uri)
defer C.free_string(ptru)
ptre := C.CString(external_id)
defer C.free_string(ptre)
doc := C.htmlNewDoc(C.to_xmlcharptr(ptru), C.to_xmlcharptr(ptre))
return makeHTMLDoc(doc)
}
作者:paulcadma
项目:golibxm
// xmlParseDTD
func ParseDTD(ExternalID string, SystemID string) *Dtd {
ptre := C.CString(ExternalID)
defer C.free_string(ptre)
ptrs := C.CString(SystemID)
defer C.free_string(ptrs)
cdtd := C.xmlParseDTD(C.to_xmlcharptr(ptre), C.to_xmlcharptr(ptrs))
return makeDtd(cdtd)
}
作者:matt
项目:go-gt
func (v *GObject) Set(name string, value interface{}) {
ptr := C.CString(name)
defer C.free_string(ptr)
if _, ok := value.(WrappedObject); ok {
value = value.(WrappedObject).GetInternalValue()
}
if _, ok := value.(GObject); ok {
value = value.(GObject).Object
}
if _, ok := value.(GValue); ok {
value = value.(GValue).Value
}
switch value.(type) {
case bool:
bval := gbool(value.(bool))
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&bval))
case byte:
bval := C.gchar(value.(byte))
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&bval))
//C._g_object_set(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(reflect.ValueOf(C.gchar(value.(byte))).UnsafeAddr()))
case int:
ival := C.int(value.(int))
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&ival))
case uint:
uval := C.guint(value.(uint))
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&uval))
//C._g_object_set(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(reflect.ValueOf(C.guint(value.(uint))).UnsafeAddr()))
case float32:
f32val := C.gfloat(value.(float32))
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&f32val))
//C._g_object_set(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(reflect.ValueOf(C.gfloat(value.(float64))).UnsafeAddr()))
case float64:
f64val := C.gfloat(value.(float64))
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&f64val))
//C._g_object_set(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(reflect.ValueOf(C.gfloat(value.(float64))).UnsafeAddr()))
case string:
pval := C.CString(value.(string))
defer C.free_string(pval)
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&pval))
default:
if pv, ok := value.(*[0]uint8); ok {
C._g_object_set_ptr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(pv))
} else {
av := reflect.ValueOf(value)
if av.Kind() == reflect.Ptr {
C._g_object_set_ptr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(av.Pointer()))
} else if av.CanAddr() {
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(av.UnsafeAddr()))
} else {
C._g_object_set_addr(C.gpointer(v.Object), C.to_gcharptr(ptr), unsafe.Pointer(&value))
}
}
}
}
作者:paulcadma
项目:golibxm
// xmlNewTextChild
func (node *Node) NewTextChild(ns *Namespace, name string, content string) *TextNode {
ptrn := C.CString(name)
defer C.free_string(ptrn)
ptrc := C.CString(content)
defer C.free_string(ptrc)
if ns == nil {
return makeTextNode(C.xmlNewTextChild(node.Ptr, nil, C.to_xmlcharptr(ptrn), C.to_xmlcharptr(ptrc)))
}
return makeTextNode(C.xmlNewTextChild(node.Ptr, ns.Ptr, C.to_xmlcharptr(ptrn), C.to_xmlcharptr(ptrc)))
}
作者:paulcadma
项目:golibxm
// xmlCtxtReadDoc
func (p *Parser) ReadDoc(input string, url string, encoding string, options ParserOption) *Document {
ptri := C.CString(input)
defer C.free_string(ptri)
ptru := C.CString(url)
defer C.free_string(ptru)
ptre := C.CString(encoding)
defer C.free_string(ptre)
doc := C.xmlCtxtReadDoc(p.Ptr, C.to_xmlcharptr(ptri), ptru, ptre, C.int(options))
return makeDoc(doc)
}
作者:paulcadma
项目:golibxm
// htmlReadDoc
func ReadHTMLDoc(cur string, url string, encoding string, options HTMLParserOption) *HTMLDocument {
ptrc := C.CString(cur)
defer C.free_string(ptrc)
ptru := C.CString(url)
defer C.free_string(ptru)
ptre := C.CString(encoding)
defer C.free_string(ptre)
doc := C.htmlReadDoc(C.to_xmlcharptr(ptrc), ptru, ptre, C.int(options))
return makeHTMLDoc(doc)
}
作者:caengcj
项目:go-gt
func (v *GtkSourceLanguageManager) GuessLanguage(filename string, contentType string) *GtkSourceLanguage {
if filename == "" {
cct := C.CString(contentType)
defer C.free_string(cct)
return &GtkSourceLanguage{C.gtk_source_language_manager_guess_language(v.LanguageManager, nil, C.to_gcharptr(cct))}
}
cfn := C.CString(filename)
defer C.free_string(cfn)
return &GtkSourceLanguage{C.gtk_source_language_manager_guess_language(v.LanguageManager, C.to_gcharptr(cfn), nil)}
}
作者:paulcadma
项目:golibxm
// xmlNewDocRawNode
func (doc *Document) NewRawNode(ns *Namespace, name string, content string) *Node {
ptrn := C.CString(name)
defer C.free_string(ptrn)
ptrc := C.CString(content)
defer C.free_string(ptrc)
if ns != nil {
return makeNode(C.xmlNewDocRawNode(doc.Ptr, ns.Ptr, C.to_xmlcharptr(ptrn), C.to_xmlcharptr(ptrc)))
}
return makeNode(C.xmlNewDocRawNode(doc.Ptr, nil, C.to_xmlcharptr(ptrn), C.to_xmlcharptr(ptrc)))
}
作者:paulcadma
项目:golibxm
// xmlNewDtd
func (doc *Document) NewDtd(name string, ExternalID string, SystemID string) *Dtd {
ptrn := C.CString(name)
defer C.free_string(ptrn)
ptre := C.CString(ExternalID)
defer C.free_string(ptre)
ptrs := C.CString(SystemID)
defer C.free_string(ptrs)
cdtd := C.xmlNewDtd(doc.Ptr, C.to_xmlcharptr(ptrn), C.to_xmlcharptr(ptre), C.to_xmlcharptr(ptrs))
return makeDtd(cdtd)
}