// THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS.

// WARNING: This file has automatically been generated on Fri, 27 Sep 2019 21:28:43 CDT.
// Code generated by https://git.io/c-for-go. DO NOT EDIT.

package ultralight

/*
#cgo CFLAGS: -I../include
#cgo LDFLAGS: -L${SRCDIR}/libs -lUltralightCore -lWebCore -lUltralight -lAppCore
#include "AppCore/CAPI.h"
#include <stdlib.h>
#include "cgo_helpers.h"
*/
import "C"
import "unsafe"

// ULApp as declared in AppCore/CAPI.h:33
type ULApp C.ULApp

// ULWindow as declared in AppCore/CAPI.h:34
type ULWindow C.ULWindow

// ULMonitor as declared in AppCore/CAPI.h:35
type ULMonitor C.ULMonitor

// ULOverlay as declared in AppCore/CAPI.h:36
type ULOverlay C.ULOverlay

// ULUpdateCallback type as declared in AppCore/CAPI.h:81
type ULUpdateCallback func(user_data unsafe.Pointer)

// ULCloseCallback type as declared in AppCore/CAPI.h:160
type ULCloseCallback func(user_data unsafe.Pointer)

// ULResizeCallback type as declared in AppCore/CAPI.h:170
type ULResizeCallback func(user_data unsafe.Pointer, width uint32, height uint32)

// ULChar16 type as declared in Ultralight/CAPI.h:43
type ULChar16 uint16

// ULConfig as declared in Ultralight/CAPI.h:50
type ULConfig C.ULConfig

// ULRenderer as declared in Ultralight/CAPI.h:51
type ULRenderer C.ULRenderer

// ULView as declared in Ultralight/CAPI.h:52
type ULView C.ULView

// ULBitmap as declared in Ultralight/CAPI.h:53
type ULBitmap C.ULBitmap

// ULString as declared in Ultralight/CAPI.h:54
type ULString C.ULString

// ULBuffer as declared in Ultralight/CAPI.h:55
type ULBuffer C.ULBuffer

// ULRenderTarget as declared in Ultralight/CAPI.h:56
type ULRenderTarget C.ULRenderTarget

// ULKeyEvent as declared in Ultralight/CAPI.h:57
type ULKeyEvent C.ULKeyEvent

// ULMouseEvent as declared in Ultralight/CAPI.h:58
type ULMouseEvent C.ULMouseEvent

// ULScrollEvent as declared in Ultralight/CAPI.h:59
type ULScrollEvent C.ULScrollEvent

// ULChangeTitleCallback type as declared in Ultralight/CAPI.h:385
type ULChangeTitleCallback func(user_data unsafe.Pointer, caller ULView, title ULString)

// ULChangeURLCallback type as declared in Ultralight/CAPI.h:395
type ULChangeURLCallback func(user_data unsafe.Pointer, caller ULView, url ULString)

// ULChangeTooltipCallback type as declared in Ultralight/CAPI.h:405
type ULChangeTooltipCallback func(user_data unsafe.Pointer, caller ULView, tooltip ULString)

// ULChangeCursorCallback type as declared in Ultralight/CAPI.h:415
type ULChangeCursorCallback func(user_data unsafe.Pointer, caller ULView, cursor ULCursor)

// ULAddConsoleMessageCallback type as declared in Ultralight/CAPI.h:425
type ULAddConsoleMessageCallback func(user_data unsafe.Pointer, caller ULView, source ULMessageSource, level ULMessageLevel, message ULString, line_number uint32, column_number uint32, source_id ULString)

// ULBeginLoadingCallback type as declared in Ultralight/CAPI.h:440
type ULBeginLoadingCallback func(user_data unsafe.Pointer, caller ULView)

// ULFinishLoadingCallback type as declared in Ultralight/CAPI.h:450
type ULFinishLoadingCallback func(user_data unsafe.Pointer, caller ULView)

// ULUpdateHistoryCallback type as declared in Ultralight/CAPI.h:460
type ULUpdateHistoryCallback func(user_data unsafe.Pointer, caller ULView)

// ULDOMReadyCallback type as declared in Ultralight/CAPI.h:470
type ULDOMReadyCallback func(user_data unsafe.Pointer, caller ULView)

// JSContextGroupRef as declared in JavaScriptCore/JSBase.h:40
type JSContextGroupRef C.JSContextGroupRef

// JSContextRef as declared in JavaScriptCore/JSBase.h:43
type JSContextRef C.JSContextRef

// JSGlobalContextRef as declared in JavaScriptCore/JSBase.h:46
type JSGlobalContextRef C.JSGlobalContextRef

// JSStringRef as declared in JavaScriptCore/JSBase.h:49
type JSStringRef C.JSStringRef

// JSClassRef as declared in JavaScriptCore/JSBase.h:52
type JSClassRef C.JSClassRef

// JSPropertyNameArrayRef as declared in JavaScriptCore/JSBase.h:55
type JSPropertyNameArrayRef C.JSPropertyNameArrayRef

// JSPropertyNameAccumulatorRef as declared in JavaScriptCore/JSBase.h:58
type JSPropertyNameAccumulatorRef C.JSPropertyNameAccumulatorRef

// JSTypedArrayBytesDeallocator type as declared in JavaScriptCore/JSBase.h:61
type JSTypedArrayBytesDeallocator func(bytes unsafe.Pointer, deallocatorContext unsafe.Pointer)

// JSValueRef as declared in JavaScriptCore/JSBase.h:66
type JSValueRef C.JSValueRef

// JSObjectRef as declared in JavaScriptCore/JSBase.h:69
type JSObjectRef C.JSObjectRef

// JSPropertyAttributes type as declared in JavaScriptCore/JSObjectRef.h:61
type JSPropertyAttributes uint32

// JSClassAttributes type as declared in JavaScriptCore/JSObjectRef.h:77
type JSClassAttributes uint32

// JSObjectInitializeCallback type as declared in JavaScriptCore/JSObjectRef.h:92
type JSObjectInitializeCallback func(ctx JSContextRef, object JSObjectRef)

// JSObjectFinalizeCallback type as declared in JavaScriptCore/JSObjectRef.h:110
type JSObjectFinalizeCallback func(object JSObjectRef)

// JSObjectHasPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:130
type JSObjectHasPropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef) bool

// JSObjectGetPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:147
type JSObjectGetPropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) JSValueRef

// JSObjectSetPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:165
type JSObjectSetPropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, value JSValueRef, exception []JSValueRef) bool

// JSObjectDeletePropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:182
type JSObjectDeletePropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) bool

// JSObjectGetPropertyNamesCallback type as declared in JavaScriptCore/JSObjectRef.h:199
type JSObjectGetPropertyNamesCallback func(ctx JSContextRef, object JSObjectRef, propertyNames JSPropertyNameAccumulatorRef)

// JSObjectCallAsFunctionCallback type as declared in JavaScriptCore/JSObjectRef.h:220
type JSObjectCallAsFunctionCallback func(ctx JSContextRef, function JSObjectRef, thisObject JSObjectRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSValueRef

// JSObjectCallAsConstructorCallback type as declared in JavaScriptCore/JSObjectRef.h:240
type JSObjectCallAsConstructorCallback func(ctx JSContextRef, constructor JSObjectRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSObjectRef

// JSObjectHasInstanceCallback type as declared in JavaScriptCore/JSObjectRef.h:261
type JSObjectHasInstanceCallback func(ctx JSContextRef, constructor JSObjectRef, possibleInstance JSValueRef, exception []JSValueRef) bool

// JSObjectConvertToTypeCallback type as declared in JavaScriptCore/JSObjectRef.h:280
type JSObjectConvertToTypeCallback func(ctx JSContextRef, object JSObjectRef, _type JSType, exception []JSValueRef) JSValueRef

// JSStaticValue as declared in JavaScriptCore/JSObjectRef.h:295
type JSStaticValue struct {
	Name           string
	GetProperty    JSObjectGetPropertyCallback
	SetProperty    JSObjectSetPropertyCallback
	Attributes     JSPropertyAttributes
	ref34655956    *C.JSStaticValue
	allocs34655956 interface{}
}

// JSStaticFunction as declared in JavaScriptCore/JSObjectRef.h:308
type JSStaticFunction struct {
	Name           string
	CallAsFunction JSObjectCallAsFunctionCallback
	Attributes     JSPropertyAttributes
	ref6b5f4953    *C.JSStaticFunction
	allocs6b5f4953 interface{}
}

// JSClassDefinition as declared in JavaScriptCore/JSObjectRef.h:364
type JSClassDefinition struct {
	Version           int32
	Attributes        JSClassAttributes
	ClassName         string
	ParentClass       JSClassRef
	StaticValues      []JSStaticValue
	StaticFunctions   []JSStaticFunction
	Initialize        JSObjectInitializeCallback
	Finalize          JSObjectFinalizeCallback
	HasProperty       JSObjectHasPropertyCallback
	GetProperty       JSObjectGetPropertyCallback
	SetProperty       JSObjectSetPropertyCallback
	DeleteProperty    JSObjectDeletePropertyCallback
	GetPropertyNames  JSObjectGetPropertyNamesCallback
	CallAsFunction    JSObjectCallAsFunctionCallback
	CallAsConstructor JSObjectCallAsConstructorCallback
	HasInstance       JSObjectHasInstanceCallback
	ConvertToType     JSObjectConvertToTypeCallback
	ref192c18d5       *C.JSClassDefinition
	allocs192c18d5    interface{}
}

// JSChar type as declared in JavaScriptCore/JSStringRef.h:49
type JSChar uint16
