mirror of https://github.com/subgraph/fw-daemon
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.7 KiB
72 lines
1.7 KiB
8 years ago
|
package glib
|
||
|
|
||
|
// #cgo pkg-config: glib-2.0 gobject-2.0
|
||
|
// #include <glib.h>
|
||
|
// #include <glib-object.h>
|
||
|
// #include "glib.go.h"
|
||
|
import "C"
|
||
|
import "unsafe"
|
||
|
|
||
|
// SList is a representation of Glib's GSList.
|
||
|
type SList struct {
|
||
|
list *C.struct__GSList
|
||
|
}
|
||
|
|
||
|
func WrapSList(obj uintptr) *SList {
|
||
|
return wrapSList((*C.struct__GSList)(unsafe.Pointer(obj)))
|
||
|
}
|
||
|
|
||
|
func wrapSList(obj *C.struct__GSList) *SList {
|
||
|
return &SList{obj}
|
||
|
}
|
||
|
|
||
|
func (v *SList) Native() uintptr {
|
||
|
return uintptr(unsafe.Pointer(v.list))
|
||
|
}
|
||
|
|
||
|
func (v *SList) native() *C.struct__GSList {
|
||
|
if v == nil || v.list == nil {
|
||
|
return nil
|
||
|
}
|
||
|
return v.list
|
||
|
}
|
||
|
|
||
|
func (v *SList) Append(data uintptr) *SList {
|
||
|
ret := C.g_slist_append(v.native(), C.gpointer(data))
|
||
|
if ret == v.native() {
|
||
|
return v
|
||
|
} else {
|
||
|
return wrapSList(ret)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// GSList * g_slist_alloc ()
|
||
|
// GSList * g_slist_prepend ()
|
||
|
// GSList * g_slist_insert ()
|
||
|
// GSList * g_slist_insert_before ()
|
||
|
// GSList * g_slist_insert_sorted ()
|
||
|
// GSList * g_slist_remove ()
|
||
|
// GSList * g_slist_remove_link ()
|
||
|
// GSList * g_slist_delete_link ()
|
||
|
// GSList * g_slist_remove_all ()
|
||
|
// void g_slist_free ()
|
||
|
// void g_slist_free_full ()
|
||
|
// void g_slist_free_1 ()
|
||
|
// guint g_slist_length ()
|
||
|
// GSList * g_slist_copy ()
|
||
|
// GSList * g_slist_copy_deep ()
|
||
|
// GSList * g_slist_reverse ()
|
||
|
// GSList * g_slist_insert_sorted_with_data ()
|
||
|
// GSList * g_slist_sort ()
|
||
|
// GSList * g_slist_sort_with_data ()
|
||
|
// GSList * g_slist_concat ()
|
||
|
// void g_slist_foreach ()
|
||
|
// GSList * g_slist_last ()
|
||
|
// #define g_slist_next()
|
||
|
// GSList * g_slist_nth ()
|
||
|
// gpointer g_slist_nth_data ()
|
||
|
// GSList * g_slist_find ()
|
||
|
// GSList * g_slist_find_custom ()
|
||
|
// gint g_slist_position ()
|
||
|
// gint g_slist_index ()
|