twiml-0.2.0.0: TwiML library for Haskell

Copyright(C) 2014-15 Mark Andrus Roberts
LicenseBSD-style (see the file LICENSE)
MaintainerMark Andrus Roberts <markandrusroberts@gmail.com>
Stabilityprovisional
Safe HaskellNone
LanguageHaskell98

Text.XML.Twiml.Internal.Twiml

Contents

Description

This module defines all of the TwiML verbs and nouns in a single place (mainly due to a few mutually-recursive definitions). This modules also exposeses the internals of each TwiML's attributes.

Prefer the definitions re-exported by the Text.XML.Twiml and Text.XML.Twiml.Verbs modules to those exported here.

Synopsis

TwiML

newtype VoiceVerbsF i a Source

Constructors

VoiceVerbsF 

Fields

getVoiceVerbsF :: (SayF i :+: (PlayF i :+: (GatherF i :+: (SmsF i :+: (DialF i :+: (EnqueueF i :+: (LeaveF i :+: (HangupF i :+: (RecordF i :+: (RedirectF i :+: (RejectF i :+: (PauseF i :+: EndF i)))))))))))) a
 

Instances

Functor (VoiceVerbsF i) Source 
Show1 [*] VoiceVerbsF Source 
Functor1 [*] VoiceVerbsF Source 
(:<:) (f i) ((:+:) * (SayF i) ((:+:) * (PlayF i) ((:+:) * (GatherF i) ((:+:) * (SmsF i) ((:+:) * (DialF i) ((:+:) * (EnqueueF i) ((:+:) * (LeaveF i) ((:+:) * (HangupF i) ((:+:) * (RecordF i) ((:+:) * (RedirectF i) ((:+:) * (RejectF i) ((:+:) * (PauseF i) (EndF i))))))))))))) => (f i) :<: (VoiceVerbsF i) Source 
Show a => Show (VoiceVerbsF i a) Source 
Generic (VoiceVerbsF i a) Source 
ToXML a => ToXML (VoiceVerbsF i a) Source 
ToXML (IxFree * VoiceVerbsF i Void) Source 
type Rep (VoiceVerbsF i a) Source 

type family Base d Source

Base maps the empty data declaration for a TwiML verb to its corresponding base functor.

type IsTwimlLike f i = (Functor1 f, Base i `[i]` :<: f `[i]`) Source

type TwimlLike f i = TwimlLike' f `[i]` Source

Nouns

newtype DialNounF i a Source

Constructors

DialNounF 

Fields

getDialNounF :: (ClientF i :+: (ConferenceF i :+: (NumberF i :+: (QueueF i :+: SipF i)))) a
 

Client

data ClientF i a Source

Constructors

(Proxy i ~ Proxy `[Client]`) => ClientF String ClientAttributes 

Conference

Number

data NumberF i a Source

Constructors

(Proxy i ~ Proxy `[Number]`) => NumberF String NumberAttributes 

Queue

data QueueF i a Source

Constructors

(Proxy i ~ Proxy `[Queue]`) => QueueF String QueueAttributes 

Instances

Sip

data Sip Source

data SipF i a Source

Constructors

(Proxy i ~ Proxy `[Sip]`) => SipF URL SipAttributes 

Instances

Verbs

Dial

data DialF i a Source

Constructors

(Proxy i ~ Proxy `[Dial]`) => DialF EitherDialNounString DialAttributes a 

Instances

End

data End Source

data EndF i a Source

Constructors

(Proxy i ~ Proxy `[End]`) => EndF 

Instances

Enqueue

data EnqueueF i a Source

Constructors

(Proxy i ~ Proxy `[Enqueue]`) => EnqueueF String EnqueueAttributes a 

Hangup

data GatherF i a where Source

Constructors

GatherF :: Nest i In Gather => GatherAttributes -> IxFree VoiceVerbsF i Void -> a -> GatherF `[Gather]` a 

Instances

type family Nest a i b Source

Equations

Nest i In Gather = (Record i, Gather i, Sms i, Dial i, Enqueue i, Leave i, Hangup i, Redirect i, Reject i) 

data In Source

Hangup

data HangupF i a Source

Constructors

(Proxy i ~ Proxy `[Hangup]`) => HangupF 

Leave

data LeaveF i a Source

Constructors

(Proxy i ~ Proxy `[Leave]`) => LeaveF 

Instances

Message

data MessageF i a Source

Constructors

(Proxy i ~ Proxy `[Message]`) => MessageF String MessageAttributes a 

Pause

data PauseF i a Source

Constructors

(Proxy i ~ Proxy `[Pause]`) => PauseF PauseAttributes a 

Instances

Play

data PlayF i a Source

Constructors

(Proxy i ~ Proxy `[Play]`) => PlayF MaybeURL PlayAttributes a 

Instances

Record

data RecordF i a Source

Constructors

(Proxy i ~ Proxy `[Record]`) => RecordF RecordAttributes a 

Instances

Redirect

Reject

data RejectF i a Source

Constructors

(Proxy i ~ Proxy `[Reject]`) => RejectF RejectAttributes 

Say

data Say Source

data SayF i a Source

Constructors

(Proxy i ~ Proxy `[Say]`) => SayF String SayAttributes a 

Instances

Sms

data Sms Source

data SmsF i a Source

Constructors

(Proxy i ~ Proxy `[Sms]`) => SmsF String SmsAttributes a 

Instances