webkit2gtk3-javascriptcore (empty) → 0.14.2.1
raw patch · 11 files changed
+974/−0 lines, 11 filesdep +basebuild-type:Customsetup-changed
Dependencies added: base
Files
- LICENSE +0/−0
- Setup.hs +8/−0
- hierarchy.list +342/−0
- hsjscore.h +42/−0
- marshal.list +45/−0
- src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSBase.chs +56/−0
- src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSContextRef.chs +32/−0
- src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSObjectRef.chs +296/−0
- src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSStringRef.chs +34/−0
- src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSValueRef.chs +64/−0
- webkit2gtk3-javascriptcore.cabal +55/−0
+ LICENSE view
+ Setup.hs view
@@ -0,0 +1,8 @@+-- Adjustments specific to this package,+-- all Gtk2Hs-specific boilerplate is kept in+-- gtk2hs-buildtools:Gtk2HsSetup+--+import Gtk2HsSetup ( gtk2hsUserHooks )+import Distribution.Simple ( defaultMainWithHooks )++main = defaultMainWithHooks gtk2hsUserHooks
+ hierarchy.list view
@@ -0,0 +1,342 @@+# This list is the result of a copy-and-paste from the GtkObject hierarchy+# html documentation. Deprecated widgets are uncommented. Some additional+# object have been defined at the end of the copied list.++# The Gtk prefix of every object is removed, the other prefixes are+# kept. The indentation implies the object hierarchy. In case the+# type query function cannot be derived from the name or the type name+# is different, an alternative name and type query function can be+# specified by appending 'as typename, <query_func>'. In case this+# function is not specified, the <name> is converted to+# gtk_<name'>_get_type where <name'> is <name> where each upperscore+# letter is converted to an underscore and lowerletter. The underscore+# is omitted if an upperscore letter preceeded: GtkHButtonBox ->+# gtk_hbutton_box_get_type. The generation of a type can be+# conditional by appending 'if <tag>'. Such types are only produces if+# --tag=<tag> is given on the command line of TypeGenerator.+++ GObject + GdkDrawable + GdkWindow as DrawWindow, gdk_window_object_get_type+# GdkDrawableImplX11+# GdkWindowImplX11+ GdkPixmap+ GdkGLPixmap if gtkglext+ GdkGLWindow if gtkglext+ GdkColormap+ GdkScreen if gtk-2.2+ GdkDisplay if gtk-2.2+ GdkVisual+ GdkDevice+ GtkSettings+ GtkTextBuffer+ GtkSourceBuffer if sourceview+ GtkSourceBuffer if gtksourceview2+ GtkTextTag+ GtkSourceTag if sourceview+ GtkTextTagTable+ GtkSourceTagTable if sourceview+ GtkStyle+ GtkRcStyle+ GdkDragContext+ GdkPixbuf+ GdkPixbufAnimation+ GdkPixbufSimpleAnim+ GdkPixbufAnimationIter+ GtkTextChildAnchor+ GtkTextMark+ GtkSourceMarker if sourceview+ GtkSourceMark if gtksourceview2+ GtkObject+ GtkWidget+ GtkMisc+ GtkLabel+ GtkAccelLabel+ GtkTipsQuery if deprecated+ GtkArrow+ GtkImage+ GtkContainer+ WebKitWebView as WebView, webkit_web_view_get_type if webkit + GtkBin+ GtkAlignment+ GtkFrame+ GtkAspectFrame+ GtkButton+ GtkToggleButton+ GtkCheckButton+ GtkRadioButton+ GtkColorButton if gtk-2.4+ GtkFontButton if gtk-2.4+ GtkOptionMenu if deprecated+ GtkItem+ GtkMenuItem+ GtkCheckMenuItem+ GtkRadioMenuItem+ GtkTearoffMenuItem+ GtkImageMenuItem+ GtkSeparatorMenuItem+ GtkListItem if deprecated+# GtkTreeItem+ GtkWindow+ GtkDialog+ GtkAboutDialog if gtk-2.6+ GtkColorSelectionDialog+ GtkFileSelection+ GtkFileChooserDialog if gtk-2.4+ GtkFontSelectionDialog+ GtkInputDialog+ GtkMessageDialog+ GtkPlug if plugNsocket+ GtkEventBox+ GtkHandleBox+ GtkScrolledWindow+ GtkViewport+ GtkExpander if gtk-2.4+ GtkComboBox if gtk-2.4+ GtkComboBoxEntry if gtk-2.4+ GtkToolItem if gtk-2.4+ GtkToolButton if gtk-2.4+ GtkMenuToolButton if gtk-2.6+ GtkToggleToolButton if gtk-2.4+ GtkRadioToolButton if gtk-2.4+ GtkSeparatorToolItem if gtk-2.4+ GtkMozEmbed if mozembed+ VteTerminal as Terminal if vte+ GtkBox+ GtkButtonBox+ GtkHButtonBox+ GtkVButtonBox+ GtkVBox+ GtkColorSelection+ GtkFontSelection+ GtkFileChooserWidget if gtk-2.4+ GtkHBox+ GtkCombo if deprecated+ GtkFileChooserButton if gtk-2.6+ GtkStatusbar+ GtkCList if deprecated+ GtkCTree if deprecated+ GtkFixed+ GtkPaned+ GtkHPaned+ GtkVPaned+ GtkIconView if gtk-2.6+ GtkLayout+ GtkList if deprecated+ GtkMenuShell+ GtkMenu+ GtkMenuBar+ GtkNotebook+# GtkPacker+ GtkSocket if plugNsocket+ GtkTable+ GtkTextView+ GtkSourceView if sourceview+ GtkSourceView if gtksourceview2+ GtkToolbar+ GtkTreeView+ GtkCalendar+ GtkCellView if gtk-2.6+ GtkDrawingArea+ GtkEntry+ GtkSpinButton+ GtkRuler+ GtkHRuler+ GtkVRuler+ GtkRange+ GtkScale+ GtkHScale+ GtkVScale+ GtkScrollbar+ GtkHScrollbar+ GtkVScrollbar+ GtkSeparator+ GtkHSeparator+ GtkVSeparator+ GtkInvisible+# GtkOldEditable+# GtkText+ GtkPreview if deprecated+# Progress is deprecated, ProgressBar contains everything necessary+# GtkProgress+ GtkProgressBar+ GtkAdjustment+ GtkIMContext+ GtkIMMulticontext+ GtkItemFactory if deprecated+ GtkTooltips+ +# These object were added by hand because they do not show up in the hierarchy+# chart.+# These are derived from GtkObject:+ GtkTreeViewColumn+ GtkCellRenderer+ GtkCellRendererPixbuf+ GtkCellRendererText+ GtkCellRendererCombo if gtk-2.6+ GtkCellRendererToggle+ GtkCellRendererProgress if gtk-2.6+ GtkFileFilter if gtk-2.4+ GtkBuilder if gtk-2.12+# These are actually interfaces, but all objects that implement it are at+# least GObjects.+ GtkCellLayout if gtk-2.4+ GtkTreeSortable if gtk-2.4+ GtkTooltip if gtk-2.12+# These are derived from GObject:+ GtkStatusIcon if gtk-2.10+ GtkTreeSelection+ GtkTreeModel+ GtkTreeStore+ GtkListStore+ GtkTreeModelSort+ GtkTreeModelFilter if gtk-2.4+ GtkIconFactory+ GtkIconTheme+ GtkSizeGroup+ GtkClipboard if gtk-2.2+ GtkAccelGroup+ GtkAccelMap if gtk-2.4+ GtkEntryCompletion if gtk-2.4+ GtkAction if gtk-2.4+ GtkToggleAction if gtk-2.4+ GtkRadioAction if gtk-2.4+ GtkActionGroup if gtk-2.4+ GtkUIManager if gtk-2.4+ GtkWindowGroup+ GtkSourceLanguage if sourceview+ GtkSourceLanguage if gtksourceview2+ GtkSourceLanguagesManager if sourceview+ GtkSourceLanguageManager if gtksourceview2+ GladeXML as GladeXML, glade_xml_get_type if libglade+ GConfClient as GConf if gconf+# These ones are actualy interfaces, but interface implementations are GObjects+ GtkEditable+ GtkSourceStyle as SourceStyleObject if gtksourceview2+ GtkSourceStyleScheme if sourceview+ GtkSourceStyleScheme if gtksourceview2+ GtkSourceStyleSchemeManager if gtksourceview2+ GtkFileChooser if gtk-2.4+## This now became a GObject in version 2:+ GdkGC as GC, gdk_gc_get_type+## These are Pango structures+ PangoContext as PangoContext, pango_context_get_type if pango+ PangoLayout as PangoLayoutRaw, pango_layout_get_type if pango+ PangoFont as Font, pango_font_get_type if pango+ PangoFontFamily as FontFamily, pango_font_family_get_type if pango+ PangoFontFace as FontFace, pango_font_face_get_type if pango+ PangoFontMap as FontMap, pango_font_face_get_type if pango+ PangoFontset as FontSet, pango_fontset_get_type if pango+## This type is only available for PANGO_ENABLE_BACKEND compiled source+## PangoFontsetSimple as FontSetSimple, pango_fontset_simple_get_type++## GtkGlExt classes+ GdkGLContext if gtkglext+ GdkGLConfig if gtkglext+ GdkGLDrawable if gtkglext++## GnomeVFS classes+ GnomeVFSVolume as Volume, gnome_vfs_volume_get_type if gnomevfs+ GnomeVFSDrive as Drive, gnome_vfs_drive_get_type if gnomevfs+ GnomeVFSVolumeMonitor as VolumeMonitor, gnome_vfs_volume_monitor_get_type if gnomevfs++## GIO classes+# Note on all the "as" clauses: the prefix G is unfortunate since it leads+# to two consecutive upper case letters which are not translated with an+# underscore each (e.g. GConf -> gconf, GtkHButtonBox -> gtk_hbutton_box).+# GUnixMountMonitor as UnixMountMonitor, g_unix_mount_monitor_get_type if gio+ GOutputStream as OutputStream, g_output_stream_get_type if gio+ GFilterOutputStream as FilterOutputStream, g_filter_output_stream_get_type if gio+ GDataOutputStream as DataOutputStream, g_data_output_stream_get_type if gio+ GBufferedOutputStream as BufferedOutputStream, g_buffered_output_stream_get_type if gio+# GUnixOutputStream as UnixOutputStream, g_unix_output_stream_get_type if gio+ GFileOutputStream as FileOutputStream, g_file_output_stream_get_type if gio+ GMemoryOutputStream as MemoryOutputStream, g_memory_output_stream_get_type if gio+ GInputStream as InputStream, g_input_stream_get_type if gio+# GUnixInputStream as UnixInputStream, g_unix_input_stream_get_type if gio+ GMemoryInputStream as MemoryInputStream, g_memory_input_stream_get_type if gio+ GFilterInputStream as FilterInputStream, g_filter_input_stream_get_type if gio+ GBufferedInputStream as BufferedInputStream, g_buffered_input_stream_get_type if gio+ GDataInputStream as DataInputStream, g_data_input_stream_get_type if gio+ GFileInputStream as FileInputStream, g_file_input_stream_get_type if gio+# GDesktopAppInfo as DesktopAppInfo, g_desktop_app_info_get_type if gio+ GFileMonitor as FileMonitor, g_file_monitor_get_type if gio+ GVfs as Vfs, g_vfs_get_type if gio+ GMountOperation as MountOperation, g_mount_operation_get_type if gio+ GThemedIcon as ThemedIcon, g_themed_icon_get_type if gio+ GEmblem as Emblem, g_emblem_get_type if gio+ GEmblemedIcon as EmblemedIcon, g_emblemed_icon_get_type if gio+ GFileEnumerator as FileEnumerator, g_file_enumerator_get_type if gio+ GFilenameCompleter as FilenameCompleter, g_filename_completer_get_type if gio+ GFileIcon as FileIcon, g_file_icon_get_type if gio+ GVolumeMonitor as VolumeMonitor, g_volume_monitor_get_type if gio+ GCancellable as Cancellable, g_cancellable_get_type if gio+ GSimpleAsyncResult as SimpleAsyncResult, g_async_result_get_type if gio+ GFileInfo as FileInfo, g_file_info_get_type if gio+ GAppLaunchContext as AppLaunchContext, g_app_launch_context_get_type if gio+## these are actually GInterfaces+ GIcon as Icon, g_icon_get_type if gio+ GSeekable as Seekable, g_seekable_get_type if gio+ GAppInfo as AppInfo, g_app_info_get_type if gio+ GVolume as Volume, g_volume_get_type if gio+ GAsyncResult as AsyncResult, g_async_result_get_type if gio+ GLoadableIcon as LoadableIcon, g_loadable_icon_get_type if gio+ GDrive as Drive, g_drive_get_type if gio+ GFile noEq as File, g_file_get_type if gio+ GMount as Mount, g_mount_get_type if gio++## GStreamer classes+ GstObject as Object, gst_object_get_type if gstreamer+ GstPad as Pad, gst_pad_get_type if gstreamer+ GstGhostPad as GhostPad, gst_ghost_pad_get_type if gstreamer+ GstPluginFeature as PluginFeature, gst_plugin_feature_get_type if gstreamer+ GstElementFactory as ElementFactory, gst_element_factory_get_type if gstreamer+ GstTypeFindFactory as TypeFindFactory, gst_type_find_factory_get_type if gstreamer+ GstIndexFactory as IndexFactory, gst_index_factory_get_type if gstreamer+ GstElement as Element, gst_element_get_type if gstreamer+ GstBin as Bin, gst_bin_get_type if gstreamer+ GstPipeline as Pipeline, gst_pipeline_get_type if gstreamer+ GstImplementsInterface as ImplementsInterface, gst_implements_interface_get_type if gstreamer+ GstTagSetter as TagSetter, gst_tag_setter_get_type if gstreamer+ GstBaseSrc as BaseSrc, gst_base_src_get_type if gstreamer+ GstPushSrc as PushSrc, gst_push_src_get_type if gstreamer+ GstBaseSink as BaseSink, gst_base_sink_get_type if gstreamer+ GstBaseTransform as BaseTransform, gst_base_transform_get_type if gstreamer+ GstPlugin as Plugin, gst_plugin_get_type if gstreamer+ GstRegistry as Registry, gst_registry_get_type if gstreamer+ GstBus as Bus, gst_bus_get_type if gstreamer+ GstClock as Clock, gst_clock_get_type if gstreamer+ GstAudioClock as AudioClock, gst_audio_clock_get_type if gstreamer+ GstSystemClock as SystemClock, gst_system_clock_get_type if gstreamer+ GstNetClientClock as NetClientClock, gst_net_client_clock_get_type if gstreamer+ GstIndex as Index, gst_index_get_type if gstreamer+ GstPadTemplate as PadTemplate, gst_pad_template_get_type if gstreamer+ GstTask as Task, gst_task_get_type if gstreamer+ GstXML as XML, gst_xml_get_type if gstreamer+ GstChildProxy as ChildProxy, gst_child_proxy_get_type if gstreamer+ GstCollectPads as CollectPads, gst_collect_pads_get_type if gstreamer+## these are actually GInterfaces+ GstURIHandler as URIHandler, gst_uri_handler_get_type if gstreamer+ GstAdapter as Adapter, gst_adapter_get_type if gstreamer+ GstController as Controller, gst_controller_get_type if gstreamer++ WebKitWebFrame as WebFrame, webkit_web_frame_get_type if webkit + WebKitWebSettings as WebSettings, webkit_web_settings_get_type if webkit+ WebKitNetworkRequest as NetworkRequest, webkit_network_request_get_type if webkit+ WebKitNetworkResponse as NetworkResponse, webkit_network_response_get_type if webkit+ WebKitDownload as Download, webkit_download_get_type if webkit+ WebKitWebBackForwardList as WebBackForwardList, webkit_web_back_forward_list_get_type if webkit+ WebKitWebHistoryItem as WebHistoryItem, webkit_web_history_item_get_type if webkit+ WebKitWebInspector as WebInspector, webkit_web_inspector_get_type if webkit+ WebKitHitTestResult as HitTestResult, webkit_hit_test_result_get_type if webkit+ WebKitSecurityOrigin as SecurityOrigin, webkit_security_origin_get_type if webkit+ WebKitSoupAuthDialog as SoupAuthDialog, webkit_soup_auth_dialog_get_type if webkit+ WebKitWebDatabase as WebDatabase, webkit_web_database_get_type if webkit+ WebKitWebDataSource as WebDataSource, webkit_web_data_source_get_type if webkit+ WebKitWebNavigationAction as WebNavigationAction, webkit_web_navigation_action_get_type if webkit+ WebKitWebPolicyDecision as WebPolicyDecision, webkit_web_policy_decision_get_type if webkit+ WebKitWebResource as WebResource, webkit_web_resource_get_type if webkit+ WebKitWebWindowFeatures as WebWindowFeatures, webkit_web_window_features_get_type if webkit+ WebKitGeolocationPolicyDecision as GeolocationPolicyDecision, webkit_geolocation_policy_decision_get_type if webkit+
+ hsjscore.h view
@@ -0,0 +1,42 @@+/*+ * Copyright (C) 2009 Cjacker Huang <jzhuang@redflag-linux.com>.+ *+ * This library is free software; you can redistribute it and/or+ * modify it under the terms of the GNU Library General Public+ * License as published by the Free Software Foundation; either+ * version 2 of the License, or (at your option) any later version.+ *+ * This library is distributed in the hope that it will be useful,+ * but WITHOUT ANY WARRANTY; without even the implied warranty of+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ * Library General Public License for more details.+ *+ * You should have received a copy of the GNU Library General Public License+ * along with this library; see the file COPYING.LIB. If not, write to+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,+ * Boston, MA 02110-1301, USA.+ */++#ifdef __BLOCKS__+#undef __BLOCKS__+#endif+#ifndef HS_WEBKITJAVASCRIPTCORE_H+#define HS_WEBKITJAVASCRIPTCORE_H+/* to avoid stdbool.h error in JavaScriptCore/JSBase.h*/+#define _Bool unsigned char // unsigned short // previously, int++#define CALLBACK+#define WINAPI++#include <JavaScriptCore/JSBase.h>+#include <JavaScriptCore/JSContextRef.h>+#include <JavaScriptCore/JSObjectRef.h>+#include <JavaScriptCore/JSStringRef.h>+#include <JavaScriptCore/JSValueRef.h>++typedef JSStaticValue* JSStaticValueRef;++typedef JSStaticFunction* JSStaticFunctionRef;++typedef JSClassDefinition* JSClassDefinitionRef;+#endif
+ marshal.list view
@@ -0,0 +1,45 @@+# see glib-genmarshal(1) for a detailed description of the file format,+# possible parameter types are:+# VOID indicates no return type, or no extra+# parameters. if VOID is used as the parameter+# list, no additional parameters may be present.+# BOOLEAN for boolean types (gboolean)+# CHAR for signed char types (gchar)+# UCHAR for unsigned char types (guchar)+# INT for signed integer types (gint)+# UINT for unsigned integer types (guint)+# LONG for signed long integer types (glong)+# ULONG for unsigned long integer types (gulong)+# ENUM for enumeration types (gint)+# FLAGS for flag enumeration types (guint)+# FLOAT for single-precision float types (gfloat)+# DOUBLE for double-precision float types (gdouble)+# GLIBSTRING for string types (gchar*)+# MGLIBSTRING for string types (gchar*) that could be NUL+# BOXED for boxed (anonymous but reference counted) types (GBoxed*)+# POINTER for anonymous pointer types (gpointer)+# NONE deprecated alias for VOID+# BOOL deprecated alias for BOOLEAN++#+# One discrepancy from Gtk+ is that for signals that may pass NULL for an object+# reference, the Haskell signal should be passed a 'Maybe GObject'.+# We therefore have two variants that are marshalled as a maybe type:+#+# OBJECT for GObject or derived types (GObject*)+# MOBJECT for GObject or derived types (GObject*) that may be NULL++# Furthermore, some objects needs to be destroyed synchronously from the main loop of+# Gtk rather than during GC. These objects need to be marshalled using TOBJECT (for thread-safe+# object). It doesn't hurt to use TOBJECT for an object that doesn't need it, except for the+# some performance. As a rule of thumb, use TOBJECT for all libraries that build on package+# 'gtk' and use OBJECT for all packages that only need packages 'glib', 'pango', 'cairo',+# 'gio'. Again both variants exist. Note that the same names will be generated for OBJECT and+# TOBJECT, so you have to remove the OBJECT handler if you need both.+#+# TOBJECT for GObject or derived types (GObject*)+# MTOBJECT for GObject or derived types (GObject*) that may be NULL++# If you add a new signal type, please check that it actually works!+# If it is a Boxed type check that the reference counting is right.+
+ src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSBase.chs view
@@ -0,0 +1,56 @@+{-# LANGUAGE EmptyDataDecls, ForeignFunctionInterface #-}++module Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase where++import Foreign.Ptr +import Foreign.C.Types +import Debug.Trace++-- #include <stdbool.h>++-- | conversion from CInt to Bool +-- strangely, n often becomes -256 for False+getBool :: CUChar -> Bool -- CInt -> Bool +getBool n | n == 1 = True + | otherwise = False ++setBool :: Bool -> CUChar -- CInt +setBool True = 1+setBool False = 0++data OpaqueJSContextGroup +{#pointer JSContextGroupRef as JSContextGroupRef -> OpaqueJSContextGroup #} ++data OpaqueJSContext +{#pointer JSContextRef as JSContextRef -> OpaqueJSContext #}+{#pointer JSGlobalContextRef as JSGlobalContextRef -> OpaqueJSContext #}++data OpaqueJSString +{#pointer JSStringRef as JSStringRef -> OpaqueJSString #}++data OpaqueJSClass+{#pointer JSClassRef as JSClassRef -> OpaqueJSClass #}++data OpaqueJSPropertyNameArray+{#pointer JSPropertyNameArrayRef as JSPropertyNameArrayRef -> OpaqueJSPropertyNameArray #}++data OpaqueJSPropertyNameAccumulator +{#pointer JSPropertyNameAccumulatorRef as JSPropertyNameAccumulatorRef -> OpaqueJSPropertyNameAccumulator #}++data OpaqueJSValue +{#pointer JSValueRef as JSValueRef -> OpaqueJSValue #}+{#pointer JSObjectRef as JSObjectRef -> OpaqueJSValue #}++{#pointer *JSValueRef as JSValueRefRef -> JSValueRef #}+{#pointer *JSStringRef as JSStringRefRef -> JSStringRef #}+++{#fun JSEvaluateScript as ^ {id `JSContextRef', id `JSStringRef', id `JSObjectRef', id `JSStringRef', fromIntegral `Int', id `JSValueRefRef'} -> `JSValueRef' id #}+ +{#fun JSCheckScriptSyntax as ^ {id `JSContextRef', id `JSStringRef', id `JSStringRef', fromIntegral `Int', id `JSValueRefRef'} -> `Bool' getBool #}++{#fun JSGarbageCollect as ^ {id `JSContextRef'} -> `()' #}++++
+ src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSContextRef.chs view
@@ -0,0 +1,32 @@+{-# LANGUAGE EmptyDataDecls, ForeignFunctionInterface #-}++module Graphics.UI.Gtk.WebKit.JavaScriptCore.JSContextRef where++import Foreign.Ptr +import Foreign.C.Types ++-- import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSObjectRef+-- import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSValueRef ++{#import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase #}++-- {#pointer JSGlobalContextRef as JSGlobalContextRef -> OpaqueJSContext #}++{#fun JSContextGroupCreate as ^ {} -> `JSContextGroupRef' id #}++{#fun JSContextGroupRetain as ^ {id `JSContextGroupRef'} -> `JSContextGroupRef' id #}++{#fun JSContextGroupRelease as ^ {id `JSContextGroupRef'} -> `()' #}++{#fun JSGlobalContextCreate as ^ {id `JSClassRef'} -> `JSGlobalContextRef' id #}++{#fun JSGlobalContextCreateInGroup as ^ {id `JSContextGroupRef', id `JSClassRef'} -> `JSGlobalContextRef' id #}++{#fun JSGlobalContextRetain as ^ {id `JSGlobalContextRef'} -> `JSGlobalContextRef' id #}++{#fun JSGlobalContextRelease as ^ { id `JSGlobalContextRef' } -> `()' #}++{#fun JSContextGetGlobalObject as ^ { id `JSContextRef' } -> `JSObjectRef' id #}++{#fun JSContextGetGroup as ^ { id `JSContextRef' } -> `JSContextGroupRef' id #}+
+ src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSObjectRef.chs view
@@ -0,0 +1,296 @@+{-# LANGUAGE EmptyDataDecls, ForeignFunctionInterface #-}++module Graphics.UI.Gtk.WebKit.JavaScriptCore.JSObjectRef where++import Foreign.C.String+import Foreign.C.Types+import Foreign.Ptr+import Foreign.Storable+import Data.Word (Word)++{# import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase #}++-- {#pointer *JSValueRef as Ptr JSValueRef #}++type JSCSize = {#type size_t #}++type JSPropertyAttributes = {#type JSPropertyAttributes #}++type JSClassAttributes = {#type JSClassAttributes #}++type JSObjectInitializeCallback = {#type JSObjectInitializeCallback #}++type JSObjectFinalizeCallback = {#type JSObjectFinalizeCallback #}++type JSObjectHasPropertyCallback = {#type JSObjectHasPropertyCallback #}++type JSObjectGetPropertyCallback = {#type JSObjectGetPropertyCallback #}++type JSObjectSetPropertyCallback = {#type JSObjectSetPropertyCallback #}++type JSObjectDeletePropertyCallback = {#type JSObjectDeletePropertyCallback #}++type JSObjectGetPropertyNamesCallback = {#type JSObjectGetPropertyNamesCallback #}++type JSObjectCallAsFunctionCallback' =+ JSContextRef+ -> JSObjectRef+ -> JSObjectRef+ -> JSCSize+ -> JSValueRefRef+ -> JSValueRefRef+ -> IO JSValueRef++type JSObjectCallAsFunctionCallback = {#type JSObjectCallAsFunctionCallback #}++type JSObjectCallAsConstructorCallback' =+ JSContextRef+ -> JSObjectRef+ -> JSCSize+ -> JSValueRefRef+ -> JSValueRefRef+ -> IO JSValueRef++type JSObjectCallAsConstructorCallback = {#type JSObjectCallAsConstructorCallback #}++type JSObjectHasInstanceCallback = {#type JSObjectHasInstanceCallback #}++type JSObjectConvertToTypeCallback = {#type JSObjectConvertToTypeCallback #}++foreign import ccall "wrapper"+ mkJSObjectCallAsFunctionCallback :: JSObjectCallAsFunctionCallback' -> IO JSObjectCallAsFunctionCallback++type JSStaticValueRef = {#type JSStaticValueRef #}+++value_get_name :: JSStaticValueRef -> IO String+value_get_name t = {#get JSStaticValue -> name #} t >>= peekCString++value_set_name :: JSStaticValueRef -> String -> IO ()+value_set_name t str = {#set JSStaticFunction -> name #} t =<< newCString str+++value_get_getProperty :: JSStaticValueRef -> IO JSObjectGetPropertyCallback+value_get_getProperty t = {#get JSStaticValue -> getProperty #} t+++value_set_getProperty :: JSStaticValueRef -> JSObjectGetPropertyCallback -> IO ()+value_set_getProperty t cbk = {#set JSStaticValue -> getProperty #} t cbk+++value_get_setProperty :: JSStaticValueRef -> IO JSObjectSetPropertyCallback+value_get_setProperty t = {#get JSStaticValue -> setProperty #} t++value_set_setProperty :: JSStaticValueRef -> JSObjectSetPropertyCallback -> IO ()+value_set_setProperty t cbk = {#set JSStaticValue -> setProperty #} t cbk++value_get_attributes :: JSStaticValueRef -> IO JSPropertyAttributes+value_get_attributes t = {#get JSStaticValue -> attributes #} t++value_set_attributes :: JSStaticValueRef -> JSPropertyAttributes -> IO ()+value_set_attributes t attr = {#set JSStaticValue -> attributes #} t attr+++type JSStaticFunctionRef = {#type JSStaticFunctionRef #}++func_get_name :: JSStaticFunctionRef -> IO String+func_get_name t = {#get JSStaticFunction -> name #} t >>= peekCString++func_set_name :: JSStaticFunctionRef -> String -> IO ()+func_set_name t str = {#set JSStaticFunction -> name #} t =<< newCString str++func_get_callAsFunction :: JSStaticFunctionRef -> IO JSObjectCallAsFunctionCallback+func_get_callAsFunction t = {#get JSStaticFunction -> callAsFunction #} t++func_set_callAsFunction :: JSStaticFunctionRef -> JSObjectCallAsFunctionCallback -> IO ()+func_set_callAsFunction t cbk = {#set JSStaticFunction -> callAsFunction #} t cbk++func_get_attributes :: JSStaticFunctionRef -> IO JSPropertyAttributes+func_get_attributes t = {#get JSStaticFunction -> attributes #} t++func_set_attributes :: JSStaticFunctionRef -> JSPropertyAttributes -> IO ()+func_set_attributes t attr = {#set JSStaticFunction -> attributes #} t attr++type JSClassDefinitionRef = {#type JSClassDefinitionRef #}++class_get_version :: JSClassDefinitionRef -> IO Int+class_get_version t = {#get JSClassDefinition -> version #} t >>= return . fromIntegral++class_set_version :: JSClassDefinitionRef -> Int -> IO ()+class_set_version t n = {#set JSClassDefinition -> version #} t (fromIntegral n)++class_get_attributes :: JSClassDefinitionRef -> IO JSClassAttributes+class_get_attributes t = {#get JSClassDefinition -> attributes #} t++class_set_attributes :: JSClassDefinitionRef -> JSClassAttributes -> IO ()+class_set_attributes t attr = {#set JSClassDefinition -> attributes #} t attr++class_get_className :: JSClassDefinitionRef -> IO String+class_get_className t = {#get JSClassDefinition -> className #} t >>= peekCString++class_set_className :: JSClassDefinitionRef -> String -> IO ()+class_set_className t cname = {#set JSClassDefinition -> className #} t =<< newCString cname++class_get_parentClass :: JSClassDefinitionRef -> IO JSClassRef+class_get_parentClass t = {#get JSClassDefinition -> parentClass #} t >>= return . castPtr++class_set_parentClass :: JSClassDefinitionRef -> JSClassRef -> IO ()+class_set_parentClass t c = {#set JSClassDefinition -> parentClass #} t (castPtr c)+++class_get_staticValues :: JSClassDefinitionRef -> IO JSStaticValueRef+class_get_staticValues t = {#get JSClassDefinition -> staticValues #} t++class_set_staticValues :: JSClassDefinitionRef -> JSStaticValueRef -> IO ()+class_set_staticValues t v = {#set JSClassDefinition -> staticValues #} t v+++class_get_staticFunctions :: JSClassDefinitionRef -> IO JSStaticFunctionRef+class_get_staticFunctions t = {#get JSClassDefinition -> staticFunctions #} t+++class_set_staticFunctions :: JSClassDefinitionRef -> JSStaticFunctionRef -> IO ()+class_set_staticFunctions t f = {#set JSClassDefinition -> staticFunctions #} t f++class_get_initialize :: JSClassDefinitionRef -> IO JSObjectInitializeCallback+class_get_initialize t = {#get JSClassDefinition -> initialize #} t++class_set_initialize :: JSClassDefinitionRef -> JSObjectInitializeCallback -> IO ()+class_set_initialize t cbk = {#set JSClassDefinition -> initialize #} t cbk++++class_get_finalize :: JSClassDefinitionRef -> IO JSObjectFinalizeCallback+class_get_finalize t = {#get JSClassDefinition -> finalize #} t++class_set_finalize :: JSClassDefinitionRef -> JSObjectFinalizeCallback -> IO ()+class_set_finalize t f = {#set JSClassDefinition -> finalize #} t f+++class_get_hasProperty :: JSClassDefinitionRef -> IO JSObjectHasPropertyCallback+class_get_hasProperty t = {#get JSClassDefinition -> hasProperty #} t++class_set_hasProperty :: JSClassDefinitionRef -> JSObjectHasPropertyCallback -> IO ()+class_set_hasProperty t f = {#set JSClassDefinition -> hasProperty #} t f++class_get_getProperty :: JSClassDefinitionRef -> IO JSObjectGetPropertyCallback+class_get_getProperty t = {#get JSClassDefinition -> getProperty #} t++class_set_getProperty :: JSClassDefinitionRef -> JSObjectGetPropertyCallback -> IO ()+class_set_getProperty t f = {#set JSClassDefinition -> getProperty #} t f++class_get_setProperty :: JSClassDefinitionRef -> IO JSObjectSetPropertyCallback+class_get_setProperty t = {#get JSClassDefinition -> setProperty #} t++class_set_setProperty :: JSClassDefinitionRef -> JSObjectSetPropertyCallback -> IO ()+class_set_setProperty t f = {#set JSClassDefinition -> setProperty #} t f++class_get_deleteProperty :: JSClassDefinitionRef -> IO JSObjectDeletePropertyCallback+class_get_deleteProperty t = {#get JSClassDefinition -> deleteProperty #} t++class_set_deleteProperty :: JSClassDefinitionRef -> JSObjectDeletePropertyCallback -> IO ()+class_set_deleteProperty t f = {#set JSClassDefinition -> deleteProperty #} t f++class_get_getPropertyNames :: JSClassDefinitionRef -> IO JSObjectGetPropertyNamesCallback+class_get_getPropertyNames t = {#get JSClassDefinition -> getPropertyNames #} t++class_set_getPropertyNames :: JSClassDefinitionRef -> JSObjectGetPropertyNamesCallback -> IO ()+class_set_getPropertyNames t f = {#set JSClassDefinition -> getPropertyNames #} t f++class_get_callAsFunction :: JSClassDefinitionRef -> IO JSObjectCallAsFunctionCallback+class_get_callAsFunction t = {#get JSClassDefinition -> callAsFunction #} t++class_set_callAsFunction :: JSClassDefinitionRef -> JSObjectCallAsFunctionCallback -> IO ()+class_set_callAsFunction t f = {#set JSClassDefinition -> callAsFunction #} t f+++class_get_callAsConstructor :: JSClassDefinitionRef -> IO JSObjectCallAsConstructorCallback+class_get_callAsConstructor t = {#get JSClassDefinition -> callAsConstructor #} t++class_set_callAsConstructor :: JSClassDefinitionRef -> JSObjectCallAsConstructorCallback -> IO ()+class_set_callAsConstructor t f = {#set JSClassDefinition -> callAsConstructor #} t f+++class_get_hasInstance :: JSClassDefinitionRef -> IO JSObjectHasInstanceCallback+class_get_hasInstance t = {#get JSClassDefinition -> hasInstance #} t++class_set_hasInstance :: JSClassDefinitionRef -> JSObjectHasInstanceCallback -> IO ()+class_set_hasInstance t f = {#set JSClassDefinition -> hasInstance #} t f+++class_get_convertToType :: JSClassDefinitionRef -> IO JSObjectConvertToTypeCallback+class_get_convertToType t = {#get JSClassDefinition -> convertToType #} t++class_set_convertToType :: JSClassDefinitionRef -> JSObjectConvertToTypeCallback -> IO ()+class_set_convertToType t f = {#set JSClassDefinition -> convertToType #} t f+++-- kJSClassDefinitionEmpty++{#fun JSClassCreate as ^ {id `JSClassDefinitionRef'} -> `JSClassRef' id #}++{#fun JSClassRetain as ^ {id `JSClassRef'} -> `JSClassRef' id #}++{#fun JSClassRelease as ^ {id `JSClassRef'} -> `()' #}++{#fun JSObjectMake as ^ {id `JSContextRef', id `JSClassRef', id `Ptr ()'} -> `JSObjectRef' id #}++{#fun JSObjectMakeFunctionWithCallback as ^ {id `JSContextRef', id `JSStringRef', id `JSObjectCallAsFunctionCallback'} -> `JSObjectRef' id #}++{#fun JSObjectMakeConstructor as ^ {id `JSContextRef', id `JSClassRef', id `JSObjectCallAsConstructorCallback'} -> `JSObjectRef' id #}++{#fun JSObjectMakeArray as ^ {id `JSContextRef', fromIntegral `CSize', id `JSValueRefRef', id `JSValueRefRef'} -> `JSObjectRef' id #}++{#fun JSObjectMakeDate as ^ {id `JSContextRef', fromIntegral `CSize', id `JSValueRefRef', id `JSValueRefRef'} -> `JSObjectRef' id #}++{#fun JSObjectMakeError as ^ {id `JSContextRef', fromIntegral `CSize', id `JSValueRefRef', id `JSValueRefRef'} -> `JSObjectRef' id #}++{#fun JSObjectMakeRegExp as ^ {id `JSContextRef', fromIntegral `CSize', id `JSValueRefRef', id `JSValueRefRef'} -> `JSObjectRef' id #}+++{#fun JSObjectMakeFunction as ^ {id `JSContextRef', id `JSStringRef', id `CUInt', id `JSStringRefRef', id `JSStringRef', id `JSStringRef', fromIntegral `Int', id `JSValueRefRef'} -> `JSObjectRef' id #}++{#fun JSObjectGetPrototype as ^ {id `JSContextRef', id `JSObjectRef'} -> `JSValueRef' id #}++{#fun JSObjectSetPrototype as ^ {id `JSContextRef', id `JSObjectRef', id `JSValueRef'} -> `()' #}++{#fun JSObjectHasProperty as ^ {id `JSContextRef', id `JSObjectRef', id `JSStringRef'} -> `Bool' getBool #}++{#fun JSObjectGetProperty as ^ {id `JSContextRef', id `JSObjectRef', id `JSStringRef', id `JSValueRefRef'} -> `JSValueRef' id #}++{#fun JSObjectSetProperty as ^ {id `JSContextRef', id `JSObjectRef', id `JSStringRef', id `JSValueRef', id `JSPropertyAttributes', id `JSValueRefRef'} -> `()' #}++{#fun JSObjectDeleteProperty as ^ {id `JSContextRef', id `JSObjectRef', id `JSStringRef', id `JSValueRefRef'} -> `Bool' getBool #}++{#fun JSObjectGetPropertyAtIndex as ^ {id `JSContextRef', id `JSObjectRef', id `CUInt', id `JSValueRefRef'} -> `JSValueRef' id #}++{#fun JSObjectSetPropertyAtIndex as ^ {id `JSContextRef', id `JSObjectRef', id `CUInt', id `JSValueRef', id `JSValueRefRef'} -> `()' #}++{#fun JSObjectGetPrivate as ^ {id `JSObjectRef'} -> `Ptr ()' id #}++{#fun JSObjectSetPrivate as ^ {id `JSObjectRef', id `Ptr ()'} -> `Bool' getBool #}++{#fun JSObjectIsFunction as ^ {id `JSContextRef', id `JSObjectRef'} -> `Bool' getBool #}++{#fun JSObjectCallAsFunction as ^ {id `JSContextRef', id `JSObjectRef', id `JSObjectRef', fromIntegral `CSize', id `JSValueRefRef', id `JSValueRefRef'} -> `JSValueRef' id #}++{#fun JSObjectCallAsConstructor as ^ {id `JSContextRef', id `JSObjectRef', fromIntegral `CSize', id `JSValueRefRef', id `JSValueRefRef'} -> `JSObjectRef' id #}++{#fun JSObjectCopyPropertyNames as ^ {id `JSContextRef', id `JSObjectRef'} -> `JSPropertyNameArrayRef' id #}++{#fun JSPropertyNameArrayRetain as ^ {id `JSPropertyNameArrayRef'} -> `JSPropertyNameArrayRef' id #}++{#fun JSPropertyNameArrayRelease as ^ {id `JSPropertyNameArrayRef'} -> `()' #}++{#fun JSPropertyNameArrayGetCount as ^ {id `JSPropertyNameArrayRef'} -> `CSize' fromIntegral #}++{#fun JSPropertyNameArrayGetNameAtIndex as ^ {id `JSPropertyNameArrayRef', fromIntegral `CSize'} -> `JSStringRef' id #}++{#fun JSPropertyNameAccumulatorAddName as ^ {id `JSPropertyNameAccumulatorRef', id `JSStringRef'} -> `()' #}+++++++
+ src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSStringRef.chs view
@@ -0,0 +1,34 @@+{-# LANGUAGE EmptyDataDecls, ForeignFunctionInterface #-}++module Graphics.UI.Gtk.WebKit.JavaScriptCore.JSStringRef where++import Foreign.Ptr +import Foreign.C.String+import Foreign.C.Types ++{#import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase #}+{#import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSValueRef #}++type JSChar = {#type JSChar #}+{#pointer *JSChar as JSCharRef -> JSChar #}++{#fun JSStringCreateWithCharacters as ^ { id `JSCharRef', fromIntegral `CSize' } -> `JSStringRef' id #}++{#fun JSStringCreateWithUTF8CString as ^ { `String' } -> `JSStringRef' id #}++{#fun JSStringRetain as ^ { id `JSStringRef' } -> `JSStringRef' id #}++{#fun JSStringRelease as ^ { id `JSStringRef' } -> `()' #} ++{#fun JSStringGetLength as ^ { id `JSStringRef' } -> `CSize' fromIntegral #}++{#fun JSStringGetCharactersPtr as ^ {id `JSStringRef' } -> `JSCharRef' id #}++{#fun JSStringGetMaximumUTF8CStringSize as ^ {id `JSStringRef'} -> `CSize' fromIntegral #}++{#fun JSStringGetUTF8CString as ^ {id `JSStringRef', `String', fromIntegral `CSize'} -> `CSize' fromIntegral #}++{#fun JSStringIsEqual as ^ {id `JSStringRef', id `JSStringRef' } -> `Bool' getBool #} ++{#fun JSStringIsEqualToUTF8CString as ^ {id `JSStringRef', `String'} -> `Bool' getBool #}+
+ src/Graphics/UI/Gtk/WebKit/JavaScriptCore/JSValueRef.chs view
@@ -0,0 +1,64 @@+{-# LANGUAGE EmptyDataDecls, ForeignFunctionInterface #-}++module Graphics.UI.Gtk.WebKit.JavaScriptCore.JSValueRef where++import Foreign.Ptr +import Foreign.C.Types +++{#import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase #}++{#enum JSType {underscoreToCase} deriving (Show,Eq) #}++toEnumFromIntegral :: (Enum a, Integral i) => i -> a +toEnumFromIntegral = toEnum . fromIntegral ++++{#fun JSValueGetType as ^ {id `JSContextRef', id `JSValueRef'}-> `JSType' toEnumFromIntegral #}++{#fun JSValueIsUndefined as ^ {id `JSContextRef', id `JSValueRef'} -> `Bool' getBool #}++{#fun JSValueIsNull as ^ {id `JSContextRef', id `JSValueRef'} -> `Bool' getBool #}++{#fun JSValueIsBoolean as ^ {id `JSContextRef', id `JSValueRef'} -> `Bool' getBool #}++{#fun JSValueIsNumber as ^ {id `JSContextRef', id `JSValueRef'} -> `Bool' getBool #}++{#fun JSValueIsString as ^ {id `JSContextRef', id `JSValueRef'} -> `Bool' getBool #}++{#fun JSValueIsObject as ^ {id `JSContextRef', id `JSValueRef'} -> `Bool' getBool #}++{#fun JSValueIsObjectOfClass as ^ {id `JSContextRef', id `JSValueRef', id `JSClassRef'} -> `Bool' getBool #}++{#fun JSValueIsEqual as ^ {id `JSContextRef', id `JSValueRef', id `JSValueRef', id `JSValueRefRef'} -> `Bool' getBool #}++{#fun JSValueIsStrictEqual as ^ {id `JSContextRef', id `JSValueRef', id `JSValueRef'} -> `Bool' getBool #} ++{#fun JSValueIsInstanceOfConstructor as ^ {id `JSContextRef', id `JSValueRef', id `JSObjectRef', id `JSValueRefRef'} -> `Bool' getBool #}++{#fun JSValueMakeUndefined as ^ {id `JSContextRef'} -> `JSValueRef' id #}++{#fun JSValueMakeNull as ^ {id `JSContextRef'} -> `JSValueRef' id #}++{#fun JSValueMakeBoolean as ^ {id `JSContextRef', setBool `Bool'} -> `JSValueRef' id #}++{#fun JSValueMakeNumber as ^ {id `JSContextRef', realToFrac `Double' } -> `JSValueRef' id #}++{#fun JSValueMakeString as ^ {id `JSContextRef', id `JSStringRef'} -> `JSValueRef' id #}++{#fun JSValueMakeFromJSONString as ^ {id `JSContextRef', id `JSStringRef'} -> `JSValueRef' id #}++{#fun JSValueCreateJSONString as ^ {id `JSContextRef', id `JSValueRef', fromIntegral `CUInt', id `JSValueRefRef'} -> `JSStringRef' id #}++{#fun JSValueToBoolean as ^ {id `JSContextRef', id `JSValueRef'} -> `Bool' getBool #}++{#fun JSValueToNumber as ^ {id `JSContextRef', id `JSValueRef', id `JSValueRefRef'} -> `Double' realToFrac #}++{#fun JSValueToStringCopy as ^ {id `JSContextRef', id `JSValueRef', id `JSValueRefRef'} -> `JSStringRef' id #}++{#fun JSValueToObject as ^ {id `JSContextRef', id `JSValueRef', id `JSValueRefRef'} -> `JSObjectRef' id #}++{#fun JSValueProtect as ^ {id `JSContextRef', id `JSValueRef'} -> `()' #}++{#fun JSValueUnprotect as ^ {id `JSContextRef', id `JSValueRef'} -> `()' #}
+ webkit2gtk3-javascriptcore.cabal view
@@ -0,0 +1,55 @@+Name: webkit2gtk3-javascriptcore+Version: 0.14.2.1+Synopsis: JavaScriptCore FFI from webkitgtk+Description: FFI for JavaScriptCore module from webkitgtk+License: BSD3+License-file: LICENSE+Author: Ian-Woo Kim+Maintainer: Ian-Woo Kim <ianwookim@gmail.com>+Build-Type: Custom+Cabal-Version: >= 1.24+Extra-Source-Files: hsjscore.h+ marshal.list+ hierarchy.list++x-Types-File: src/Graphics/UI/Gtk/WebKit/JavaScriptCore/Types.chs+x-Types-Tag: webkit webkit-dom+x-Types-ModName: Graphics.UI.Gtk.WebKit.JavaScriptCore.Types+x-Types-Forward: *Graphics.UI.GtkInternals+x-Types-Destructor: objectUnrefFromMainloop+x-Types-Hierarchy: hierarchy.list++Source-Repository head+ type: git+ location: https://github.com/gtk2hs/webkit-javascriptcore++custom-setup+ setup-depends: base >= 4.6,+ Cabal >= 1.24 && < 1.25,+ gtk2hs-buildtools >= 0.13.2.0 && < 0.14++Library+ hs-source-dirs: src+ build-depends: base >= 4 && < 5+ + exposed-modules:+ Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase+ Graphics.UI.Gtk.WebKit.JavaScriptCore.JSContextRef+ Graphics.UI.Gtk.WebKit.JavaScriptCore.JSObjectRef+ Graphics.UI.Gtk.WebKit.JavaScriptCore.JSStringRef+ Graphics.UI.Gtk.WebKit.JavaScriptCore.JSValueRef+ other-modules:++ + default-language: Haskell98+ default-extensions: ForeignFunctionInterface++ x-Signals-File: src/Graphics/UI/Gtk/WebKit/JavaScriptCore/Signals.chs+ x-Signals-Modname: src/Graphics.UI.Gtk.WebKit.JavaScriptCore.Signals+ x-Signals-Types: marshal.list+ x-Signals-Import: Graphics.UI.GtkInternals+ + include-dirs: .+ cpp-options: -DDISABLE_DEPRECATED -U__BLOCKS__ -D__attribute__(A)= -D_Nullable= -D_Nonnull=+ x-c2hs-Header: hsjscore.h+ pkgconfig-depends: webkit2gtk-4.0 >=1.1.15