W3cubDocs

/Haskell 7

System.Win32.SimpleMAPI

Copyright (c) Esa Ilari Vuokko, 2006
License BSD-style (see the file LICENSE)
Maintainer Esa Ilari Vuokko <[email protected]>
Stability provisional
Portability portable
Safe Haskell Safe
Language Haskell98

Description

FFI-bindings to interact with SimpleMAPI

type ULONG = DWORD Source

type LHANDLE = ULONG Source

newtype MapiRecipDesc Source

Constructors

MapiRecipDesc ()

type MapiFlag = ULONG Source

mAPI_LOGON_UI :: MapiFlag Source

mAPI_NEW_SESSION :: MapiFlag Source

mAPI_FORCE_DOWNLOAD :: MapiFlag Source

mAPI_DIALOG :: MapiFlag Source

mAPI_UNREAD_ONLY :: MapiFlag Source

mAPI_LONG_MSGID :: MapiFlag Source

mAPI_GUARANTEE_FIFO :: MapiFlag Source

mAPI_ENVELOPE_ONLY :: MapiFlag Source

mAPI_PEEK :: MapiFlag Source

mAPI_BODY_AS_FILE :: MapiFlag Source

mAPI_SUPPRESS_ATTACH :: MapiFlag Source

mAPI_AB_NOMODIFY :: MapiFlag Source

mAPI_OLE :: MapiFlag Source

mapiErrors :: [(ULONG, String)] Source

mAPI_OLE_STATIC :: MapiFlag Source

mAPI_UNREAD :: MapiFlag Source

mAPI_RECEIPT_REQUESTED :: MapiFlag Source

mAPI_SENT :: MapiFlag Source

mapiErrorString :: ULONG -> String Source

mapiFail :: String -> IO ULONG -> IO ULONG Source

mapiFail_ :: String -> IO ULONG -> IO () Source

type MapiLogonType = ULONG -> LPSTR -> LPSTR -> MapiFlag -> ULONG -> Ptr LHANDLE -> IO ULONG Source

mkMapiLogon :: FunPtr MapiLogonType -> MapiLogonType Source

type MapiLogoffType = LHANDLE -> ULONG -> MapiFlag -> ULONG -> IO ULONG Source

mkMapiLogoff :: FunPtr MapiLogoffType -> MapiLogoffType Source

type MapiResolveNameType = LHANDLE -> ULONG -> LPSTR -> MapiFlag -> ULONG -> Ptr (Ptr MapiRecipDesc) -> IO ULONG Source

mkMapiResolveName :: FunPtr MapiResolveNameType -> MapiResolveNameType Source

type MapiFreeBufferType = Ptr () -> IO ULONG Source

mkMapiFreeBuffer :: FunPtr MapiFreeBufferType -> MapiFreeBufferType Source

type MapiSendMailType = LHANDLE -> ULONG -> Ptr Message -> MapiFlag -> ULONG -> IO ULONG Source

mkMapiSendMail :: FunPtr MapiSendMailType -> MapiSendMailType Source

data MapiFuncs Source

type MapiLoaded = (MapiFuncs, ForeignPtr ()) Source

loadMapiFuncs :: String -> HMODULE -> IO MapiFuncs Source

loadMapiDll :: String -> IO (MapiFuncs, HMODULE) Source

withMapiFuncs :: [String] -> (MapiFuncs -> IO a) -> IO a Source

loadMapi :: [String] -> IO MapiLoaded Source

withMapiLoaded :: MapiLoaded -> (MapiFuncs -> IO a) -> IO a Source

maybeHWND :: Maybe HWND -> ULONG Source

mapiLogon Source

Arguments

:: MapiFuncs

Functions loaded from MAPI DLL

-> Maybe HWND

Parent window, used for modal logon dialog

-> Maybe String

Session

-> Maybe String

Password

-> MapiFlag

None, one or many flags: FORCE_DOWNLOAD, NEW_SESSION, LOGON_UI, PASSWORD_UI

-> IO LHANDLE

Create Simple MAPI-session by logon

mapiLogoff :: MapiFuncs -> LHANDLE -> Maybe HWND -> IO () Source

End Simple MAPI-session

data RecipientClass Source

Constructors

RcOriginal
RcTo
RcCc
RcBcc

rcToULONG :: RecipientClass -> ULONG Source

uLONGToRc :: ULONG -> RecipientClass Source

data Recipient Source

Instances

type Recipients = [(RecipientClass, Recipient)] Source

simpleRecip :: String -> Recipient Source

withRecipient :: MapiFuncs -> LHANDLE -> RecipientClass -> Recipient -> (Ptr MapiRecipDesc -> IO a) -> IO a Source

withRecipients :: MapiFuncs -> LHANDLE -> Recipients -> (Int -> Ptr MapiRecipDesc -> IO a) -> IO a Source

data FileTag Source

Constructors

FileTag

Fields

ftTag :: Maybe String

mime

ftEncoding :: Maybe String

Instances

defFileTag :: FileTag Source

withFileTag :: FileTag -> (Ptr FileTag -> IO a) -> IO a Source

data Attachment Source

Instances

defAttachment :: Attachment Source

type Attachments = [Attachment] Source

withAttachments :: Attachments -> (Int -> Ptr Attachment -> IO a) -> IO a Source

data Message Source

Instances

defMessage :: Message Source

withMessage :: MapiFuncs -> LHANDLE -> Message -> (Ptr Message -> IO a) -> IO a Source

mapiSendMail :: MapiFuncs -> LHANDLE -> Maybe HWND -> Message -> MapiFlag -> IO () Source

handleIOException :: (IOException -> IO a) -> IO a -> IO a Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/Win32-2.3.1.0/System-Win32-SimpleMAPI.html