You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.9 KiB
65 lines
1.9 KiB
-- Copyright © 2010-2012 Jon Kristensen. |
|
-- Copyright 2012 Philipp Balzarek |
|
-- See the LICENSE file in the |
|
-- Pontarius distribution for more details. |
|
|
|
-- | |
|
-- Module: $Header$ |
|
-- Description: Pontarius API |
|
-- Copyright: Copyright © 2010-2012 Jon Kristensen |
|
-- License: Apache License 2.0 |
|
-- |
|
-- Maintainer: jon.kristensen@nejla.com |
|
-- Stability: unstable |
|
-- Portability: portable |
|
-- |
|
-- XMPP is an open standard, extendable, and secure communications |
|
-- protocol designed on top of XML, TLS, and SASL. Pontarius XMPP is |
|
-- an XMPP client library, implementing the core capabilities of XMPP |
|
-- (RFC 6120). |
|
-- |
|
-- Developers using this library are assumed to understand how XMPP |
|
-- works. |
|
-- |
|
-- This module will be documented soon. |
|
-- |
|
-- Note that we are not recommending anyone to use Pontarius XMPP at |
|
-- this time as it's still in an experimental stage and will have its |
|
-- API and data types modified frequently. |
|
|
|
{-# LANGUAGE NoMonomorphismRestriction, OverloadedStrings #-} |
|
|
|
module Network.XMPP |
|
( module Network.XMPP.Bind |
|
, module Network.XMPP.Concurrent |
|
, module Network.XMPP.Monad |
|
, module Network.XMPP.SASL |
|
, module Network.XMPP.Session |
|
, module Network.XMPP.Stream |
|
, module Network.XMPP.TLS |
|
, module Network.XMPP.Types |
|
, module Network.XMPP.Presence |
|
, module Network.XMPP.Message |
|
, xmppConnect |
|
, xmppNewSession |
|
) where |
|
|
|
import Data.Text as Text |
|
|
|
import Network |
|
import Network.XMPP.Bind |
|
import Network.XMPP.Concurrent |
|
import Network.XMPP.Message |
|
import Network.XMPP.Monad |
|
import Network.XMPP.Presence |
|
import Network.XMPP.SASL |
|
import Network.XMPP.Session |
|
import Network.XMPP.Stream |
|
import Network.XMPP.TLS |
|
import Network.XMPP.Types |
|
|
|
xmppConnect :: HostName -> Text -> XMPPConMonad (Either StreamError ()) |
|
xmppConnect address hostname = xmppRawConnect address hostname >> xmppStartStream |
|
|
|
xmppNewSession :: XMPPThread a -> IO (a, XMPPConState) |
|
xmppNewSession = withNewSession . runThreaded |