From: PHO Date: Mon, 18 Oct 2010 14:48:22 +0000 (+0900) Subject: CFDictionary.h X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=bindings-CoreFoundation.git;a=commitdiff_plain;h=25f68575512f3f7e110255dc1a201426d7665bcd CFDictionary.h --- diff --git a/Bindings/CoreFoundation/CFDictionary.hsc b/Bindings/CoreFoundation/CFDictionary.hsc new file mode 100644 index 0000000..2c64ca9 --- /dev/null +++ b/Bindings/CoreFoundation/CFDictionary.hsc @@ -0,0 +1,59 @@ +#include +#include + +module Bindings.CoreFoundation.CFDictionary where +#strict_import +import Bindings.CoreFoundation.CFBase + +#callback CFDictionaryRetainCallBack , -> Ptr () -> IO (Ptr ()) +#callback CFDictionaryReleaseCallBack, -> Ptr () -> IO () +#callback CFDictionaryCopyDescriptionCallBack, Ptr () -> IO +#callback CFDictionaryEqualCallBack , Ptr () -> Ptr () -> IO +#callback CFDictionaryHashCallBack , Ptr () -> IO +#starttype CFDictionaryKeyCallBacks +# field version , +# field retain , +# field release , +# field copyDescription, +# field equal , +# field hash , +#stoptype + +#cinline kCFTypeDictionaryKeyCallBacks , IO (Ptr ) +#cinline kCFCopyStringDictionaryKeyCallBacks, IO (Ptr ) + +#starttype CFDictionaryValueCallBacks +# field version , +# field retain , +# field release , +# field copyDescription, +# field equal , +#stoptype + +#cinline kCFTypeDictionaryValueCallBacks, IO (Ptr ) + +#callback CFDictionaryApplierFunction, Ptr () -> Ptr () -> Ptr () -> IO () + +#opaque_t __CFDictionary +#synonym_t CFDictionaryRef , Ptr <__CFDictionary> +#synonym_t CFMutableDictionaryRef, Ptr <__CFDictionary> + +#ccall CFDictionaryGetTypeID , IO +#ccall CFDictionaryCreate , -> Ptr (Ptr ()) -> Ptr (Ptr ()) -> -> Ptr -> Ptr -> IO +#ccall CFDictionaryCreateCopy , -> -> IO +#ccall CFDictionaryCreateMutable , -> -> Ptr -> Ptr -> IO +#ccall CFDictionaryCreateMutableCopy, -> -> -> IO +#ccall CFDictionaryGetCount , -> IO +#ccall CFDictionaryGetCountOfKey , -> Ptr () -> IO +#ccall CFDictionaryGetCountOfValue , -> Ptr () -> IO +#ccall CFDictionaryContainsKey , -> Ptr () -> IO +#ccall CFDictionaryContainsValue , -> Ptr () -> IO +#ccall CFDictionaryGetValue , -> Ptr () -> IO (Ptr ()) +#ccall CFDictionaryGetValueIfPresent, -> Ptr () -> Ptr (Ptr ()) -> IO +#ccall CFDictionaryGetKeysAndValues , -> Ptr (Ptr ()) -> Ptr (Ptr ()) -> IO () +#ccall CFDictionaryApplyFunction , -> -> Ptr () -> IO () +#ccall CFDictionaryAddValue , -> Ptr () -> Ptr () -> IO () +#ccall CFDictionarySetValue , -> Ptr () -> Ptr () -> IO () +#ccall CFDictionaryReplaceValue , -> Ptr () -> Ptr () -> IO () +#ccall CFDictionaryRemoveValue , -> Ptr () -> IO () +#ccall CFDictionaryRemoveAllValues , -> IO () diff --git a/bindings-CoreFoundation.cabal b/bindings-CoreFoundation.cabal index 6e0dda0..b097deb 100644 --- a/bindings-CoreFoundation.cabal +++ b/bindings-CoreFoundation.cabal @@ -32,11 +32,13 @@ Library Bindings.CoreFoundation.CFArray Bindings.CoreFoundation.CFBase Bindings.CoreFoundation.CFData + Bindings.CoreFoundation.CFDictionary C-Sources: cbits/helper_CFArray.c cbits/helper_CFBase.c cbits/helper_CFData.c + cbits/helper_CFDictionary.c Extensions: ForeignFunctionInterface diff --git a/cbits/helper_CFDictionary.c b/cbits/helper_CFDictionary.c new file mode 100644 index 0000000..8c1f0c4 --- /dev/null +++ b/cbits/helper_CFDictionary.c @@ -0,0 +1,17 @@ +#include +#include + +const CFDictionaryKeyCallBacks* +inline_kCFTypeDictionaryKeyCallBacks() { + return &kCFTypeDictionaryKeyCallBacks; +} + +const CFDictionaryKeyCallBacks* +inline_kCFCopyStringDictionaryKeyCallBacks() { + return &kCFCopyStringDictionaryKeyCallBacks; +} + +const CFDictionaryValueCallBacks* +inline_kCFTypeDictionaryValueCallBacks() { + return &kCFTypeDictionaryValueCallBacks; +}