gegl-0.0.0.1: src/GEGL/FFI/Connection.hs
{-# LANGUAGE ForeignFunctionInterface #-}
-- | FFI module for handling connections between nodes
module GEGL.FFI.Connection
( c_gegl_node_connect_from
, c_gegl_node_connect_to
, c_gegl_node_link
, c_gegl_node_disconnect
) where
import Foreign
import Foreign.Ptr
import Foreign.C.Types
import Foreign.C.String (CString)
-- | Interface to the @gegl_node_link@ function in C
foreign import ccall unsafe "gegl.h gegl_node_link"
c_gegl_node_link
:: Ptr () -- ^ Source node representation
-> Ptr () -- ^ Sink node representation
-> IO ()
-- | Interface to the @gegl_node_connect_to@ function in C
foreign import ccall unsafe "gegl.h gegl_node_connect_to"
c_gegl_node_connect_to
:: Ptr () -- ^ Source node representation
-> CString -- ^ Name of the output pad at the source node
-> Ptr () -- ^ Sink node representation
-> CString -- ^ Name of input pad at the sink node
-> IO CInt
-- | Interface to the @gegl_node_connect_from@ function in C
foreign import ccall unsafe "gegl.h gegl_node_connect_from"
c_gegl_node_connect_from
:: Ptr () -- ^ Sink node representation
-> CString -- ^ Name of the input pad at the sink node
-> Ptr () -- ^ Source node representation
-> CString -- ^ Name of the output pad at the source node
-> IO CInt
foreign import ccall unsafe "gegl.h gegl_node_disconnect"
c_gegl_node_disconnect
:: Ptr ()
-> CString
-> IO CInt