module Godot.Api.VarArgs where import Data.Coerce (coerce) import Foreign.C (withCString) import Godot.Internal.Dispatch import System.IO.Unsafe (unsafePerformIO) import Godot.Gdnative.Internal import Godot.Gdnative.Types import Godot.Api.Auto bindObject_emit_signal = unsafePerformIO $ withCString "Object" $ \ clsNamePtr -> withCString "emit_signal" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindObject_emit_signal #-} instance Method "emit_signal" GodotObject (GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 varargs = withVariantArray ([toVariant arg1] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindObject_emit_signal (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindObject_call = unsafePerformIO $ withCString "Object" $ \ clsNamePtr -> withCString "call" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindObject_call #-} instance Method "call" GodotObject (GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 varargs = withVariantArray ([toVariant arg1] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindObject_call (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindObject_call_deferred = unsafePerformIO $ withCString "Object" $ \ clsNamePtr -> withCString "call_deferred" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindObject_call_deferred #-} instance Method "call_deferred" GodotObject (GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 varargs = withVariantArray ([toVariant arg1] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindObject_call_deferred (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindFuncRef_call_func = unsafePerformIO $ withCString "FuncRef" $ \ clsNamePtr -> withCString "call_func" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindFuncRef_call_func #-} instance Method "call_func" GodotFuncRef ([Variant 'GodotTy] -> IO GodotVariant) where runMethod cls varargs = withVariantArray varargs (\(arrPtr, len) -> godot_method_bind_call bindFuncRef_call_func (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindUndoRedo_add_do_method = unsafePerformIO $ withCString "UndoRedo" $ \ clsNamePtr -> withCString "add_do_method" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindUndoRedo_add_do_method #-} instance Method "add_do_method" GodotUndoRedo (GodotObject -> GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 arg2 varargs = withVariantArray ([toVariant arg1, toVariant arg2] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindUndoRedo_add_do_method (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindUndoRedo_add_undo_method = unsafePerformIO $ withCString "UndoRedo" $ \ clsNamePtr -> withCString "add_undo_method" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindUndoRedo_add_undo_method #-} instance Method "add_undo_method" GodotUndoRedo (GodotObject -> GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 arg2 varargs = withVariantArray ([toVariant arg1, toVariant arg2] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindUndoRedo_add_undo_method (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindNode_rpc = unsafePerformIO $ withCString "Node" $ \ clsNamePtr -> withCString "rpc" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindNode_rpc #-} instance Method "rpc" GodotNode (GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 varargs = withVariantArray ([toVariant arg1] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindNode_rpc (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindNode_rpc_unreliable = unsafePerformIO $ withCString "Node" $ \ clsNamePtr -> withCString "rpc_unreliable" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindNode_rpc_unreliable #-} instance Method "rpc_unreliable" GodotNode (GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 varargs = withVariantArray ([toVariant arg1] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindNode_rpc_unreliable (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindNode_rpc_id = unsafePerformIO $ withCString "Node" $ \ clsNamePtr -> withCString "rpc_id" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindNode_rpc_id #-} instance Method "rpc_id" GodotNode (Int -> GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 arg2 varargs = withVariantArray ([toVariant arg1, toVariant arg2] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindNode_rpc_id (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindNode_rpc_unreliable_id = unsafePerformIO $ withCString "Node" $ \ clsNamePtr -> withCString "rpc_unreliable_id" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindNode_rpc_unreliable_id #-} instance Method "rpc_unreliable_id" GodotNode (Int -> GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 arg2 varargs = withVariantArray ([toVariant arg1, toVariant arg2] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindNode_rpc_unreliable_id (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindSceneTree_call_group_flags = unsafePerformIO $ withCString "SceneTree" $ \ clsNamePtr -> withCString "call_group_flags" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindSceneTree_call_group_flags #-} instance Method "call_group_flags" GodotSceneTree (Int -> GodotString -> GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 arg2 arg3 varargs = withVariantArray ([toVariant arg1, toVariant arg2, toVariant arg3] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindSceneTree_call_group_flags (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindSceneTree_call_group = unsafePerformIO $ withCString "SceneTree" $ \ clsNamePtr -> withCString "call_group" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindSceneTree_call_group #-} instance Method "call_group" GodotSceneTree (GodotString -> GodotString -> [Variant 'GodotTy] -> IO GodotVariant) where runMethod cls arg1 arg2 varargs = withVariantArray ([toVariant arg1, toVariant arg2] ++ varargs) (\(arrPtr, len) -> godot_method_bind_call bindSceneTree_call_group (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindNativeScript_new = unsafePerformIO $ withCString "NativeScript" $ \ clsNamePtr -> withCString "new" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindNativeScript_new #-} instance Method "new" GodotNativeScript ([Variant 'GodotTy] -> IO GodotObject) where runMethod cls varargs = withVariantArray varargs (\(arrPtr, len) -> godot_method_bind_call bindNativeScript_new (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res) bindGDScriptFunctionState__signal_callback = unsafePerformIO $ withCString "GDScriptFunctionState" $ \ clsNamePtr -> withCString "_signal_callback" $ \ methodNamePtr -> godot_method_bind_get_method clsNamePtr methodNamePtr {-# NOINLINE bindGDScriptFunctionState__signal_callback #-} instance Method "_signal_callback" GodotGDScriptFunctionState ([Variant 'GodotTy] -> IO GodotVariant) where runMethod cls varargs = withVariantArray varargs (\(arrPtr, len) -> godot_method_bind_call bindGDScriptFunctionState__signal_callback (coerce cls) arrPtr len >>= \(err, res) -> throwIfErr err >> fromGodotVariant res)