{-# LINE 1 "Graphics/UI/Gtk/Embedding/Embedding.hsc" #-}
-- -*-haskell-*-




--  GIMP Toolkit (GTK) Widget Socket
--
--  Author : Axel Simon
--
--  Created: 20 January 2003
--
--  Copyright (C) 1999-2005 Axel Simon
--
--  This library is free software; you can redistribute it and/or
--  modify it under the terms of the GNU Lesser General Public
--  License as published by the Free Software Foundation; either
--  version 2.1 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
--  Lesser General Public License for more details.
--
-- |
-- Maintainer  : gtk2hs-users@lists.sourceforge.net
-- Stability   : provisional
-- Portability : portable (depends on GHC)
--
module Graphics.UI.Gtk.Embedding.Embedding (

{-# LINE 31 "Graphics/UI/Gtk/Embedding/Embedding.hsc" #-}
  socketHasPlug,

{-# LINE 33 "Graphics/UI/Gtk/Embedding/Embedding.hsc" #-}
  ) where


{-# LINE 36 "Graphics/UI/Gtk/Embedding/Embedding.hsc" #-}
import System.Glib.FFI
import Graphics.UI.Gtk.Types
import Graphics.UI.Gtk.Embedding.Types

-- | Test if a Plug is connected to the socket.
--
socketHasPlug :: SocketClass s => s -> IO Bool
socketHasPlug :: forall s. SocketClass s => s -> IO Bool
socketHasPlug s
socket = do
  Ptr Any
plugPtr <- ForeignPtr Socket -> (Ptr Socket -> IO (Ptr Any)) -> IO (Ptr Any)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr (Socket -> ForeignPtr Socket
unSocket (s -> Socket
forall o. SocketClass o => o -> Socket
toSocket s
socket))
             (\Ptr Socket
hsc_ptr -> Ptr Socket -> Int -> IO (Ptr Any)
forall b. Ptr b -> Int -> IO (Ptr Any)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr Socket
hsc_ptr Int
76)
{-# LINE 46 "Graphics/UI/Gtk/Embedding/Embedding.hsc" #-}
  return (plugPtr/=nullPtr)


{-# LINE 49 "Graphics/UI/Gtk/Embedding/Embedding.hsc" #-}