func (this *binding_generator) c_forward_declaration20(bi *gi.BaseInfo) { p := printer_to(this.out_h) switch bi.Type() { case gi.INFO_TYPE_FUNCTION: fi := gi.ToFunctionInfo(bi) this.c_func_forward_declaration(fi) case gi.INFO_TYPE_OBJECT: oi := gi.ToObjectInfo(bi) for i, n := 0, oi.NumMethod(); i < n; i++ { meth := oi.Method(i) this.c_func_forward_declaration(meth) } p("extern GType %s();\n", oi.TypeInit()) case gi.INFO_TYPE_INTERFACE: ii := gi.ToInterfaceInfo(bi) for i, n := 0, ii.NumMethod(); i < n; i++ { meth := ii.Method(i) this.c_func_forward_declaration(meth) } p("extern GType %s();\n", ii.TypeInit()) case gi.INFO_TYPE_STRUCT: si := gi.ToStructInfo(bi) for i, n := 0, si.NumMethod(); i < n; i++ { meth := si.Method(i) this.c_func_forward_declaration(meth) } case gi.INFO_TYPE_UNION: ui := gi.ToUnionInfo(bi) for i, n := 0, ui.NumMethod(); i < n; i++ { meth := ui.Method(i) this.c_func_forward_declaration(meth) } } }
func CForwardDeclaration20(bi *gi.BaseInfo) { switch bi.Type() { case gi.INFO_TYPE_FUNCTION: fi := gi.ToFunctionInfo(bi) CFuncForwardDeclaration(fi, nil) case gi.INFO_TYPE_OBJECT: oi := gi.ToObjectInfo(bi) for i, n := 0, oi.NumMethod(); i < n; i++ { meth := oi.Method(i) CFuncForwardDeclaration(meth, bi) } printf("extern GType %s();\n", oi.TypeInit()) case gi.INFO_TYPE_INTERFACE: ii := gi.ToInterfaceInfo(bi) for i, n := 0, ii.NumMethod(); i < n; i++ { meth := ii.Method(i) CFuncForwardDeclaration(meth, bi) } printf("extern GType %s();\n", ii.TypeInit()) case gi.INFO_TYPE_STRUCT: si := gi.ToStructInfo(bi) for i, n := 0, si.NumMethod(); i < n; i++ { meth := si.Method(i) CFuncForwardDeclaration(meth, bi) } case gi.INFO_TYPE_UNION: ui := gi.ToUnionInfo(bi) for i, n := 0, ui.NumMethod(); i < n; i++ { meth := ui.Method(i) CFuncForwardDeclaration(meth, bi) } } }
func (this *binding_generator) process_base_info(bi *gi.BaseInfo) { p := printer_to(&this.go_bindings) if config.is_object_blacklisted(bi) { p("// blacklisted: %s (%s)\n", bi.Name(), bi.Type()) return } switch bi.Type() { case gi.INFO_TYPE_UNION: this.process_union_info(gi.ToUnionInfo(bi)) case gi.INFO_TYPE_STRUCT: this.process_struct_info(gi.ToStructInfo(bi)) case gi.INFO_TYPE_ENUM, gi.INFO_TYPE_FLAGS: this.process_enum_info(gi.ToEnumInfo(bi)) case gi.INFO_TYPE_CONSTANT: this.process_constant_info(gi.ToConstantInfo(bi)) case gi.INFO_TYPE_CALLBACK: this.process_callback_info(gi.ToCallableInfo(bi)) case gi.INFO_TYPE_FUNCTION: this.process_function_info(gi.ToFunctionInfo(bi)) case gi.INFO_TYPE_INTERFACE: this.process_interface_info(gi.ToInterfaceInfo(bi)) case gi.INFO_TYPE_OBJECT: this.process_object_info(gi.ToObjectInfo(bi)) default: p("// TODO: %s (%s)\n", bi.Name(), bi.Type()) } }
func ProcessBaseInfo(bi *gi.BaseInfo) { switch bi.Type() { case gi.INFO_TYPE_UNION: if IsBlacklisted("unions", bi.Name()) { goto blacklisted } ProcessUnionInfo(gi.ToUnionInfo(bi)) case gi.INFO_TYPE_STRUCT: if IsBlacklisted("structs", bi.Name()) { goto blacklisted } ProcessStructInfo(gi.ToStructInfo(bi)) case gi.INFO_TYPE_ENUM, gi.INFO_TYPE_FLAGS: if IsBlacklisted("enums", bi.Name()) { goto blacklisted } ProcessEnumInfo(gi.ToEnumInfo(bi)) case gi.INFO_TYPE_CONSTANT: if IsBlacklisted("constants", bi.Name()) { goto blacklisted } ProcessConstantInfo(gi.ToConstantInfo(bi)) case gi.INFO_TYPE_CALLBACK: if IsBlacklisted("callbacks", bi.Name()) { goto blacklisted } ProcessCallbackInfo(gi.ToCallableInfo(bi)) case gi.INFO_TYPE_FUNCTION: if IsBlacklisted("functions", bi.Name()) { goto blacklisted } ProcessFunctionInfo(gi.ToFunctionInfo(bi), nil) case gi.INFO_TYPE_INTERFACE: if IsBlacklisted("interfaces", bi.Name()) { goto blacklisted } ProcessInterfaceInfo(gi.ToInterfaceInfo(bi)) case gi.INFO_TYPE_OBJECT: if IsBlacklisted("objects", bi.Name()) { goto blacklisted } ProcessObjectInfo(gi.ToObjectInfo(bi)) default: printf("// TODO: %s (%s)\n", bi.Name(), bi.Type()) } return blacklisted: printf("// blacklisted: %s (%s)\n", bi.Name(), bi.Type()) }