gi-gio-0.2.46.12: GI/Gio/Objects/SocketControlMessage.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gio.Objects.SocketControlMessage
(
-- * Exported types
SocketControlMessage(..) ,
SocketControlMessageK ,
toSocketControlMessage ,
noSocketControlMessage ,
-- * Methods
-- ** socketControlMessageDeserialize
socketControlMessageDeserialize ,
-- ** socketControlMessageGetLevel
socketControlMessageGetLevel ,
-- ** socketControlMessageGetMsgType
socketControlMessageGetMsgType ,
-- ** socketControlMessageGetSize
socketControlMessageGetSize ,
-- ** socketControlMessageSerialize
socketControlMessageSerialize ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GObject as GObject
newtype SocketControlMessage = SocketControlMessage (ForeignPtr SocketControlMessage)
foreign import ccall "g_socket_control_message_get_type"
c_g_socket_control_message_get_type :: IO GType
type instance ParentTypes SocketControlMessage = SocketControlMessageParentTypes
type SocketControlMessageParentTypes = '[GObject.Object]
instance GObject SocketControlMessage where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_socket_control_message_get_type
class GObject o => SocketControlMessageK o
instance (GObject o, IsDescendantOf SocketControlMessage o) => SocketControlMessageK o
toSocketControlMessage :: SocketControlMessageK o => o -> IO SocketControlMessage
toSocketControlMessage = unsafeCastTo SocketControlMessage
noSocketControlMessage :: Maybe SocketControlMessage
noSocketControlMessage = Nothing
type instance AttributeList SocketControlMessage = SocketControlMessageAttributeList
type SocketControlMessageAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList SocketControlMessage = SocketControlMessageSignalList
type SocketControlMessageSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method SocketControlMessage::get_level
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_control_message_get_level" g_socket_control_message_get_level ::
Ptr SocketControlMessage -> -- _obj : TInterface "Gio" "SocketControlMessage"
IO Int32
socketControlMessageGetLevel ::
(MonadIO m, SocketControlMessageK a) =>
a -> -- _obj
m Int32
socketControlMessageGetLevel _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_control_message_get_level _obj'
touchManagedPtr _obj
return result
-- method SocketControlMessage::get_msg_type
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_control_message_get_msg_type" g_socket_control_message_get_msg_type ::
Ptr SocketControlMessage -> -- _obj : TInterface "Gio" "SocketControlMessage"
IO Int32
socketControlMessageGetMsgType ::
(MonadIO m, SocketControlMessageK a) =>
a -> -- _obj
m Int32
socketControlMessageGetMsgType _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_control_message_get_msg_type _obj'
touchManagedPtr _obj
return result
-- method SocketControlMessage::get_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_control_message_get_size" g_socket_control_message_get_size ::
Ptr SocketControlMessage -> -- _obj : TInterface "Gio" "SocketControlMessage"
IO Word64
socketControlMessageGetSize ::
(MonadIO m, SocketControlMessageK a) =>
a -> -- _obj
m Word64
socketControlMessageGetSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_control_message_get_size _obj'
touchManagedPtr _obj
return result
-- method SocketControlMessage::serialize
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "SocketControlMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_control_message_serialize" g_socket_control_message_serialize ::
Ptr SocketControlMessage -> -- _obj : TInterface "Gio" "SocketControlMessage"
Ptr () -> -- data : TBasicType TVoid
IO ()
socketControlMessageSerialize ::
(MonadIO m, SocketControlMessageK a) =>
a -> -- _obj
Ptr () -> -- data
m ()
socketControlMessageSerialize _obj data_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_socket_control_message_serialize _obj' data_
touchManagedPtr _obj
return ()
-- method SocketControlMessage::deserialize
-- method type : MemberFunction
-- Args : [Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SocketControlMessage"
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_control_message_deserialize" g_socket_control_message_deserialize ::
Int32 -> -- level : TBasicType TInt32
Int32 -> -- type : TBasicType TInt32
Word64 -> -- size : TBasicType TUInt64
Ptr Word8 -> -- data : TCArray False (-1) 2 (TBasicType TUInt8)
IO (Ptr SocketControlMessage)
socketControlMessageDeserialize ::
(MonadIO m) =>
Int32 -> -- level
Int32 -> -- type
ByteString -> -- data
m SocketControlMessage
socketControlMessageDeserialize level type_ data_ = liftIO $ do
let size = fromIntegral $ B.length data_
data_' <- packByteString data_
result <- g_socket_control_message_deserialize level type_ size data_'
checkUnexpectedReturnNULL "g_socket_control_message_deserialize" result
result' <- (wrapObject SocketControlMessage) result
freeMem data_'
return result'