{-# LINE 2 "./Graphics/UI/Gtk/Embedding/Types.chs" #-}
{-# OPTIONS_HADDOCK hide #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Graphics.UI.Gtk.Embedding.Types (
Socket(Socket), SocketClass,
toSocket,
mkSocket, unSocket,
castToSocket, gTypeSocket,
Plug(Plug), PlugClass,
toPlug,
mkPlug, unPlug,
castToPlug, gTypePlug,
) where
import Foreign.ForeignPtr (ForeignPtr, castForeignPtr)
import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
import Foreign.C.Types (CULong(..), CUInt(..), CULLong(..))
import System.Glib.GType (GType, typeInstanceIsA)
import System.Glib.GObject
{-# LINE 54 "./Graphics/UI/Gtk/Embedding/Types.chs" #-}
import Graphics.UI.Gtk.General.Threading
import Graphics.UI.Gtk.Types
{-# LINE 56 "./Graphics/UI/Gtk/Embedding/Types.chs" #-}
{-# LINE 58 "./Graphics/UI/Gtk/Embedding/Types.chs" #-}
castTo :: (GObjectClass obj, GObjectClass obj') => GType -> String
-> (obj -> obj')
castTo :: forall obj obj'.
(GObjectClass obj, GObjectClass obj') =>
GType -> String -> obj -> obj'
castTo GType
gtype String
objTypeName obj
obj =
case obj -> GObject
forall o. GObjectClass o => o -> GObject
toGObject obj
obj of
gobj :: GObject
gobj@(GObject ForeignPtr GObject
objFPtr)
| Ptr () -> GType -> Bool
typeInstanceIsA ((ForeignPtr () -> Ptr ()
forall a. ForeignPtr a -> Ptr a
unsafeForeignPtrToPtr(ForeignPtr () -> Ptr ())
-> (ForeignPtr GObject -> ForeignPtr ())
-> ForeignPtr GObject
-> Ptr ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
.ForeignPtr GObject -> ForeignPtr ()
forall a b. ForeignPtr a -> ForeignPtr b
castForeignPtr) ForeignPtr GObject
objFPtr) GType
gtype
-> GObject -> obj'
forall o. GObjectClass o => GObject -> o
unsafeCastGObject GObject
gobj
| Bool
otherwise -> String -> obj'
forall a. HasCallStack => String -> a
error (String -> obj') -> String -> obj'
forall a b. (a -> b) -> a -> b
$ String
"Cannot cast object to " String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
objTypeName
newtype Socket = Socket (ForeignPtr (Socket)) deriving (Socket -> Socket -> Bool
(Socket -> Socket -> Bool)
-> (Socket -> Socket -> Bool) -> Eq Socket
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Socket -> Socket -> Bool
== :: Socket -> Socket -> Bool
$c/= :: Socket -> Socket -> Bool
/= :: Socket -> Socket -> Bool
Eq,Eq Socket
Eq Socket
-> (Socket -> Socket -> Ordering)
-> (Socket -> Socket -> Bool)
-> (Socket -> Socket -> Bool)
-> (Socket -> Socket -> Bool)
-> (Socket -> Socket -> Bool)
-> (Socket -> Socket -> Socket)
-> (Socket -> Socket -> Socket)
-> Ord Socket
Socket -> Socket -> Bool
Socket -> Socket -> Ordering
Socket -> Socket -> Socket
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Socket -> Socket -> Ordering
compare :: Socket -> Socket -> Ordering
$c< :: Socket -> Socket -> Bool
< :: Socket -> Socket -> Bool
$c<= :: Socket -> Socket -> Bool
<= :: Socket -> Socket -> Bool
$c> :: Socket -> Socket -> Bool
> :: Socket -> Socket -> Bool
$c>= :: Socket -> Socket -> Bool
>= :: Socket -> Socket -> Bool
$cmax :: Socket -> Socket -> Socket
max :: Socket -> Socket -> Socket
$cmin :: Socket -> Socket -> Socket
min :: Socket -> Socket -> Socket
Ord)
mkSocket :: (ForeignPtr Socket -> Socket, FinalizerPtr a)
mkSocket = (ForeignPtr Socket -> Socket
Socket, FinalizerPtr a
forall a. FinalizerPtr a
objectUnrefFromMainloop)
unSocket :: Socket -> ForeignPtr Socket
unSocket (Socket ForeignPtr Socket
o) = ForeignPtr Socket
o
class ContainerClass o => SocketClass o
toSocket :: SocketClass o => o -> Socket
toSocket :: forall o. SocketClass o => o -> Socket
toSocket = GObject -> Socket
forall o. GObjectClass o => GObject -> o
unsafeCastGObject (GObject -> Socket) -> (o -> GObject) -> o -> Socket
forall b c a. (b -> c) -> (a -> b) -> a -> c
. o -> GObject
forall o. GObjectClass o => o -> GObject
toGObject
instance SocketClass Socket
instance ContainerClass Socket
instance WidgetClass Socket
instance ObjectClass Socket
instance GObjectClass Socket where
toGObject :: Socket -> GObject
toGObject = ForeignPtr GObject -> GObject
GObject (ForeignPtr GObject -> GObject)
-> (Socket -> ForeignPtr GObject) -> Socket -> GObject
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ForeignPtr Socket -> ForeignPtr GObject
forall a b. ForeignPtr a -> ForeignPtr b
castForeignPtr (ForeignPtr Socket -> ForeignPtr GObject)
-> (Socket -> ForeignPtr Socket) -> Socket -> ForeignPtr GObject
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Socket -> ForeignPtr Socket
unSocket
unsafeCastGObject :: GObject -> Socket
unsafeCastGObject = ForeignPtr Socket -> Socket
Socket (ForeignPtr Socket -> Socket)
-> (GObject -> ForeignPtr Socket) -> GObject -> Socket
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ForeignPtr GObject -> ForeignPtr Socket
forall a b. ForeignPtr a -> ForeignPtr b
castForeignPtr (ForeignPtr GObject -> ForeignPtr Socket)
-> (GObject -> ForeignPtr GObject) -> GObject -> ForeignPtr Socket
forall b c a. (b -> c) -> (a -> b) -> a -> c
. GObject -> ForeignPtr GObject
unGObject
castToSocket :: GObjectClass obj => obj -> Socket
castToSocket :: forall obj. GObjectClass obj => obj -> Socket
castToSocket = GType -> String -> obj -> Socket
forall obj obj'.
(GObjectClass obj, GObjectClass obj') =>
GType -> String -> obj -> obj'
castTo GType
gTypeSocket String
"Socket"
gTypeSocket :: GType
gTypeSocket :: GType
gTypeSocket =
GType
gtk_socket_get_type
{-# LINE 99 "./Graphics/UI/Gtk/Embedding/Types.chs" #-}
newtype Plug = Plug (ForeignPtr (Plug)) deriving (Plug -> Plug -> Bool
(Plug -> Plug -> Bool) -> (Plug -> Plug -> Bool) -> Eq Plug
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Plug -> Plug -> Bool
== :: Plug -> Plug -> Bool
$c/= :: Plug -> Plug -> Bool
/= :: Plug -> Plug -> Bool
Eq,Eq Plug
Eq Plug
-> (Plug -> Plug -> Ordering)
-> (Plug -> Plug -> Bool)
-> (Plug -> Plug -> Bool)
-> (Plug -> Plug -> Bool)
-> (Plug -> Plug -> Bool)
-> (Plug -> Plug -> Plug)
-> (Plug -> Plug -> Plug)
-> Ord Plug
Plug -> Plug -> Bool
Plug -> Plug -> Ordering
Plug -> Plug -> Plug
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Plug -> Plug -> Ordering
compare :: Plug -> Plug -> Ordering
$c< :: Plug -> Plug -> Bool
< :: Plug -> Plug -> Bool
$c<= :: Plug -> Plug -> Bool
<= :: Plug -> Plug -> Bool
$c> :: Plug -> Plug -> Bool
> :: Plug -> Plug -> Bool
$c>= :: Plug -> Plug -> Bool
>= :: Plug -> Plug -> Bool
$cmax :: Plug -> Plug -> Plug
max :: Plug -> Plug -> Plug
$cmin :: Plug -> Plug -> Plug
min :: Plug -> Plug -> Plug
Ord)
mkPlug :: (ForeignPtr Plug -> Plug, FinalizerPtr a)
mkPlug = (ForeignPtr Plug -> Plug
Plug, FinalizerPtr a
forall a. FinalizerPtr a
objectUnrefFromMainloop)
unPlug :: Plug -> ForeignPtr Plug
unPlug (Plug ForeignPtr Plug
o) = ForeignPtr Plug
o
class WindowClass o => PlugClass o
toPlug :: PlugClass o => o -> Plug
toPlug :: forall o. PlugClass o => o -> Plug
toPlug = GObject -> Plug
forall o. GObjectClass o => GObject -> o
unsafeCastGObject (GObject -> Plug) -> (o -> GObject) -> o -> Plug
forall b c a. (b -> c) -> (a -> b) -> a -> c
. o -> GObject
forall o. GObjectClass o => o -> GObject
toGObject
instance PlugClass Plug
instance WindowClass Plug
instance BinClass Plug
instance ContainerClass Plug
instance WidgetClass Plug
instance ObjectClass Plug
instance GObjectClass Plug where
toGObject :: Plug -> GObject
toGObject = ForeignPtr GObject -> GObject
GObject (ForeignPtr GObject -> GObject)
-> (Plug -> ForeignPtr GObject) -> Plug -> GObject
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ForeignPtr Plug -> ForeignPtr GObject
forall a b. ForeignPtr a -> ForeignPtr b
castForeignPtr (ForeignPtr Plug -> ForeignPtr GObject)
-> (Plug -> ForeignPtr Plug) -> Plug -> ForeignPtr GObject
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Plug -> ForeignPtr Plug
unPlug
unsafeCastGObject :: GObject -> Plug
unsafeCastGObject = ForeignPtr Plug -> Plug
Plug (ForeignPtr Plug -> Plug)
-> (GObject -> ForeignPtr Plug) -> GObject -> Plug
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ForeignPtr GObject -> ForeignPtr Plug
forall a b. ForeignPtr a -> ForeignPtr b
castForeignPtr (ForeignPtr GObject -> ForeignPtr Plug)
-> (GObject -> ForeignPtr GObject) -> GObject -> ForeignPtr Plug
forall b c a. (b -> c) -> (a -> b) -> a -> c
. GObject -> ForeignPtr GObject
unGObject
castToPlug :: GObjectClass obj => obj -> Plug
castToPlug :: forall obj. GObjectClass obj => obj -> Plug
castToPlug = GType -> String -> obj -> Plug
forall obj obj'.
(GObjectClass obj, GObjectClass obj') =>
GType -> String -> obj -> obj'
castTo GType
gTypePlug String
"Plug"
gTypePlug :: GType
gTypePlug :: GType
gTypePlug =
GType
gtk_plug_get_type
{-# LINE 129 "./Graphics/UI/Gtk/Embedding/Types.chs" #-}
foreign import ccall unsafe "gtk_socket_get_type"
gtk_socket_get_type :: CUInt
foreign import ccall unsafe "gtk_plug_get_type"
gtk_plug_get_type :: CUInt