-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | The LDAP Data Interchange Format (LDIF) parser -- -- LDIF files parser implementation using Parsec and based on RFC 2849 - -- The LDAP Data Interchange Format (LDIF). @package ldif @version 0.0.1 module Text.LDIF -- | Parse string as LDIF content and return LDIF or ParseError parseLDIFStr :: String -> Either ParseError LDIF -- | Read and parse provided file and return LDIF or ParseError parseLDIFFile :: String -> IO (Either ParseError LDIF) -- | Represents LDIF structure, it can be either simply LDIF data dump or | -- changes LDIF with LDAP operations data LDIF LDIFContent :: Maybe String -> [Record] -> LDIF lcVersion :: LDIF -> Maybe String lcEntries :: LDIF -> [Record] LDIFChanges :: Maybe String -> [Record] -> LDIF lcVersion :: LDIF -> Maybe String lcEntries :: LDIF -> [Record] -- | Represents one record or entry within LDIF file with DN and content data Record AttrValRecord :: DN -> [AttrValue] -> Record recDN :: Record -> DN recAttrVals :: Record -> [AttrValue] ChangeRecord :: DN -> Change -> Record recDN :: Record -> DN recOp :: Record -> Change -- | Represents one LDAP operation within changes LDIF data Change ChangeAdd :: [AttrValue] -> Change chAttrVals :: Change -> [AttrValue] ChangeDelete :: Change ChangeModify :: [Modify] -> Change chMods :: Change -> [Modify] ChangeModDN :: Change -- | Represents ChangeModify operations upon one entry within given DN data Modify ModAdd :: Attribute -> [AttrValue] -> Modify modAttr :: Modify -> Attribute modAttrVals :: Modify -> [AttrValue] ModDelete :: Attribute -> [AttrValue] -> Modify modAttr :: Modify -> Attribute modAttrVals :: Modify -> [AttrValue] ModReplace :: Attribute -> [AttrValue] -> Modify modAttr :: Modify -> Attribute modAttrVals :: Modify -> [AttrValue] type DN = String type Attribute = String type Value = String type AttrValue = (Attribute, Value) instance Show Modify instance Show Change instance Show Record instance Show LDIF