module GI.Gio.Objects.TcpConnection
(
TcpConnection(..) ,
TcpConnectionK ,
toTcpConnection ,
noTcpConnection ,
tcpConnectionGetGracefulDisconnect ,
tcpConnectionSetGracefulDisconnect ,
TcpConnectionGracefulDisconnectPropertyInfo,
constructTcpConnectionGracefulDisconnect,
getTcpConnectionGracefulDisconnect ,
setTcpConnectionGracefulDisconnect ,
) 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 TcpConnection = TcpConnection (ForeignPtr TcpConnection)
foreign import ccall "g_tcp_connection_get_type"
c_g_tcp_connection_get_type :: IO GType
type instance ParentTypes TcpConnection = TcpConnectionParentTypes
type TcpConnectionParentTypes = '[SocketConnection, IOStream, GObject.Object]
instance GObject TcpConnection where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_tcp_connection_get_type
class GObject o => TcpConnectionK o
instance (GObject o, IsDescendantOf TcpConnection o) => TcpConnectionK o
toTcpConnection :: TcpConnectionK o => o -> IO TcpConnection
toTcpConnection = unsafeCastTo TcpConnection
noTcpConnection :: Maybe TcpConnection
noTcpConnection = Nothing
getTcpConnectionGracefulDisconnect :: (MonadIO m, TcpConnectionK o) => o -> m Bool
getTcpConnectionGracefulDisconnect obj = liftIO $ getObjectPropertyBool obj "graceful-disconnect"
setTcpConnectionGracefulDisconnect :: (MonadIO m, TcpConnectionK o) => o -> Bool -> m ()
setTcpConnectionGracefulDisconnect obj val = liftIO $ setObjectPropertyBool obj "graceful-disconnect" val
constructTcpConnectionGracefulDisconnect :: Bool -> IO ([Char], GValue)
constructTcpConnectionGracefulDisconnect val = constructObjectPropertyBool "graceful-disconnect" val
data TcpConnectionGracefulDisconnectPropertyInfo
instance AttrInfo TcpConnectionGracefulDisconnectPropertyInfo where
type AttrAllowedOps TcpConnectionGracefulDisconnectPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint TcpConnectionGracefulDisconnectPropertyInfo = (~) Bool
type AttrBaseTypeConstraint TcpConnectionGracefulDisconnectPropertyInfo = TcpConnectionK
type AttrGetType TcpConnectionGracefulDisconnectPropertyInfo = Bool
type AttrLabel TcpConnectionGracefulDisconnectPropertyInfo = "TcpConnection::graceful-disconnect"
attrGet _ = getTcpConnectionGracefulDisconnect
attrSet _ = setTcpConnectionGracefulDisconnect
attrConstruct _ = constructTcpConnectionGracefulDisconnect
type instance AttributeList TcpConnection = TcpConnectionAttributeList
type TcpConnectionAttributeList = ('[ '("closed", IOStreamClosedPropertyInfo), '("graceful-disconnect", TcpConnectionGracefulDisconnectPropertyInfo), '("input-stream", IOStreamInputStreamPropertyInfo), '("output-stream", IOStreamOutputStreamPropertyInfo), '("socket", SocketConnectionSocketPropertyInfo)] :: [(Symbol, *)])
type instance SignalList TcpConnection = TcpConnectionSignalList
type TcpConnectionSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_tcp_connection_get_graceful_disconnect" g_tcp_connection_get_graceful_disconnect ::
Ptr TcpConnection ->
IO CInt
tcpConnectionGetGracefulDisconnect ::
(MonadIO m, TcpConnectionK a) =>
a ->
m Bool
tcpConnectionGetGracefulDisconnect _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_tcp_connection_get_graceful_disconnect _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "g_tcp_connection_set_graceful_disconnect" g_tcp_connection_set_graceful_disconnect ::
Ptr TcpConnection ->
CInt ->
IO ()
tcpConnectionSetGracefulDisconnect ::
(MonadIO m, TcpConnectionK a) =>
a ->
Bool ->
m ()
tcpConnectionSetGracefulDisconnect _obj graceful_disconnect = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let graceful_disconnect' = (fromIntegral . fromEnum) graceful_disconnect
g_tcp_connection_set_graceful_disconnect _obj' graceful_disconnect'
touchManagedPtr _obj
return ()