W3cubDocs

/Haskell 8

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 Haskell2010

Description

FFI-bindings to interact with SimpleMAPI

type ULONG = DWORD

type LHANDLE = ULONG

newtype MapiRecipDesc

Constructors

MapiRecipDesc ()

type MapiFlag = ULONG

mAPI_LOGON_UI :: MapiFlag

mAPI_NEW_SESSION :: MapiFlag

mAPI_FORCE_DOWNLOAD :: MapiFlag

mAPI_DIALOG :: MapiFlag

mAPI_UNREAD_ONLY :: MapiFlag

mAPI_LONG_MSGID :: MapiFlag

mAPI_GUARANTEE_FIFO :: MapiFlag

mAPI_ENVELOPE_ONLY :: MapiFlag

mAPI_PEEK :: MapiFlag

mAPI_BODY_AS_FILE :: MapiFlag

mAPI_SUPPRESS_ATTACH :: MapiFlag

mAPI_AB_NOMODIFY :: MapiFlag

mAPI_OLE :: MapiFlag

mAPI_OLE_STATIC :: MapiFlag

mAPI_UNREAD :: MapiFlag

mAPI_RECEIPT_REQUESTED :: MapiFlag

mAPI_SENT :: MapiFlag

mapiErrors :: [(ULONG, String)]

mapiErrorString :: ULONG -> String

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

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

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

mkMapiLogon :: FunPtr MapiLogonType -> MapiLogonType

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

mkMapiLogoff :: FunPtr MapiLogoffType -> MapiLogoffType

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

mkMapiResolveName :: FunPtr MapiResolveNameType -> MapiResolveNameType

type MapiFreeBufferType = Ptr () -> IO ULONG

mkMapiFreeBuffer :: FunPtr MapiFreeBufferType -> MapiFreeBufferType

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

mkMapiSendMail :: FunPtr MapiSendMailType -> MapiSendMailType

data MapiFuncs

type MapiLoaded = (MapiFuncs, ForeignPtr ())

loadMapiFuncs :: String -> HMODULE -> IO MapiFuncs

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

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

loadMapi :: [String] -> IO MapiLoaded

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

maybeHWND :: Maybe HWND -> ULONG

mapiLogon

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 ()

End Simple MAPI-session

data RecipientClass

Constructors

RcOriginal
RcTo
RcCc
RcBcc

rcToULONG :: RecipientClass -> ULONG

uLONGToRc :: ULONG -> RecipientClass

data Recipient

Instances
Instances details
Show Recipient
Instance details

Defined in System.Win32.SimpleMAPI

type Recipients = [(RecipientClass, Recipient)]

simpleRecip :: String -> Recipient

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

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

data FileTag

Constructors

FileTag
Instances
Instances details
Show FileTag
Instance details

Defined in System.Win32.SimpleMAPI

defFileTag :: FileTag

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

data Attachment

Instances
Instances details
Show Attachment
Instance details

Defined in System.Win32.SimpleMAPI

defAttachment :: Attachment

type Attachments = [Attachment]

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

data Message

Instances
Instances details
Show Message
Instance details

Defined in System.Win32.SimpleMAPI

defMessage :: Message

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

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

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

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