packages feed

manatee-ircclient 0.0.5 → 0.0.6

raw patch · 2 files changed

+26/−27 lines, 2 filesdep ~manatee-core

Dependency ranges changed: manatee-core

Files

Manatee/Extension/IrcClient/DBus.hs view
@@ -25,7 +25,6 @@ import DBus.MatchRule import DBus.Message (Signal, signalBody) import DBus.Types-import Data.Maybe (fromMaybe) import Data.Text.Lazy (Text, empty) import Graphics.UI.Gtk.General.General import Language.Haskell.TH@@ -33,12 +32,14 @@ import Manatee.Core.TH import Manatee.Extension.IrcClient.Types import Manatee.Toolkit.General.DBus+import Manatee.Toolkit.General.Maybe import Manatee.Toolkit.General.Misc import Network.FastIRC.Types import System.Posix.Process  import System.Posix.Types (ProcessID)  import qualified Data.ByteString.Char8 as B+import qualified Control.Exception as Exc  data IrcDaemonMember = Join                      | Part@@ -88,8 +89,8 @@ mkFunDec "checkIrcDaemonSignalArgs" (checkSignalArgs ''IrcDaemonMember ''IrcDaemonSignalArgs)  -- | Unpack daemon signal from Variant list.--- unpackIrcDaemonSignalArgs_ :: IrcDaemonMember -> [Variant] -> Maybe IrcDaemonSignalArgs                 -mkFunDec "unpackIrcDaemonSignalArgs_" (unpackVariantList ''IrcDaemonMember ''IrcDaemonSignalArgs)+-- unpackIrcDaemonSignalArgs :: IrcDaemonMember -> [Variant] -> Maybe IrcDaemonSignalArgs                 +mkFunDec "unpackIrcDaemonSignalArgs" (unpackVariantList ''IrcDaemonMember ''IrcDaemonSignalArgs)  -- | Pack daemon signal argument to Variant list. -- packIrcDaemonSignalArgs :: IrcDaemonSignalArgs -> [Variant]@@ -100,8 +101,8 @@ mkFunDec "checkIrcClientSignalArgs" (checkSignalArgs ''IrcClientMember ''IrcClientSignalArgs)  -- | Unpack client signal from Variant list.--- unpackIrcClientSignalArgs_ :: IrcClientMember -> [Variant] -> Maybe IrcClientSignalArgs                 -mkFunDec "unpackIrcClientSignalArgs_" (unpackVariantList ''IrcClientMember ''IrcClientSignalArgs)+-- unpackIrcClientSignalArgs :: IrcClientMember -> [Variant] -> Maybe IrcClientSignalArgs                 +mkFunDec "unpackIrcClientSignalArgs" (unpackVariantList ''IrcClientMember ''IrcClientSignalArgs)  -- | Pack client signal argument to Variant list. -- packIrcClientSignalArgs :: IrcClientSignalArgs -> [Variant]@@ -126,7 +127,7 @@ mkIrcDaemonMatchRule :: Client -> (IrcDaemonMember, IrcDaemonSignalArgs -> IO ()) -> IO () mkIrcDaemonMatchRule client (member, fun) =      onSignal client matchRule $ \_ signal -> -        fun $ pickIrcDaemonSignalArgs member signal+        pickIrcDaemonSignalArgs member signal >?>= fun         where matchRule = mkMatchRule                           (Just Signal)                            empty @@ -141,26 +142,22 @@ mkIrcDaemonMatchRules client = mapM_ (mkIrcDaemonMatchRule client)  -- | Pick IrcDaemonSignalArgs.-pickIrcDaemonSignalArgs :: IrcDaemonMember -> Signal -> IrcDaemonSignalArgs          -pickIrcDaemonSignalArgs member signal = unpackIrcDaemonSignalArgs member $ signalBody signal---- | Unpack daemon signal from Variant list.--- Report error if mismatch.-unpackIrcDaemonSignalArgs member args = -    fromMaybe -      (error $ "unpackIrcDaemonSignalArgs: Miss pattern for " ++ show member)-      (unpackIrcDaemonSignalArgs_ member args)+pickIrcDaemonSignalArgs :: IrcDaemonMember -> Signal -> IO (Maybe IrcDaemonSignalArgs)          +pickIrcDaemonSignalArgs member signal = +    Exc.catch+        (return $ unpackIrcDaemonSignalArgs member $ signalBody signal)+        (\ (_ :: Exc.SomeException) -> +             printDBusMessageError "pickIrcDaemonSignalArgs" (show member)+             >> return Nothing)  -- | Pick IrcClientSignalArgs.-pickIrcClientSignalArgs :: IrcClientMember -> Signal -> IrcClientSignalArgs          -pickIrcClientSignalArgs member signal = unpackIrcClientSignalArgs member $ signalBody signal---- | Unpack client signal from Variant list.--- Report error if mismatch.-unpackIrcClientSignalArgs member args = -    fromMaybe -      (error $ "unpackIrcClientSignalArgs: Miss pattern for " ++ show member)-      (unpackIrcClientSignalArgs_ member args)+pickIrcClientSignalArgs :: IrcClientMember -> Signal -> IO (Maybe IrcClientSignalArgs)          +pickIrcClientSignalArgs member signal = +    Exc.catch+        (return $ unpackIrcClientSignalArgs member $ signalBody signal)+        (\ (_ :: Exc.SomeException) ->+             printDBusMessageError "pickIrcClientSignalArgs" (show member)+             >> return Nothing)  -- | Build render signal. -- If signal argument not match render member name.@@ -191,7 +188,7 @@                           []     -- Use postGUIAsync wrap DBus action to protect gtk+ main thread.      onSignal client matchRule $ \_ signal -> -        postGUIAsync $ fun $ pickIrcClientSignalArgs member signal+        pickIrcClientSignalArgs member signal >?>= (postGUIAsync . fun)  -- | Build irc client match rule for catch signal. mkIrcClientMatchRules :: Client -> [(IrcClientMember, IrcClientSignalArgs -> IO ())] -> IO ()
manatee-ircclient.cabal view
@@ -1,5 +1,5 @@ name:			manatee-ircclient-version:		0.0.5+version:		0.0.6 Cabal-Version:	>= 1.6 license:		GPL-3 license-file:	LICENSE@@ -7,6 +7,8 @@ synopsis:		IRC client extension for Manatee. description:    manatee-ircclient is IRC client extension for Manatee (Haskell/Gtk+ Integrated Live Environment)  .+ Video at (Select 720p HD) at : <http://www.youtube.com/watch?v=weS6zys3U8k> <http://v.youku.com/v_show/id_XMjI2MDMzODI4.html>+ .  Screenshots at : <http://goo.gl/MkVw>  .  Manual at : <http://haskell.org/haskellwiki/Manatee>@@ -45,7 +47,7 @@   location:     http://patch-tag.com/r/AndyStewart/manatee-ircclient    Library-     build-depends: base >= 4 && < 5, manatee-core >= 0.0.5, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,+     build-depends: base >= 4 && < 5, manatee-core >= 0.0.6, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,                     containers >= 0.3.0.0, gtk-serialized-event >= 0.12.0, gtk >= 0.12.0,                      text >= 0.7.1.0, bytestring >= 0.9.1.5,                     dbus-core, template-haskell, gtksourceview2 >= 0.12.0, unix >= 2.4.0.0,