From a5188147d1333d4df49427551219e13f56c889a9 Mon Sep 17 00:00:00 2001 From: PHO Date: Fri, 15 Oct 2010 22:40:17 +0900 Subject: [PATCH] CFArray.h --- Bindings/CoreFoundation/CFArray.hsc | 49 +++++++++++++++++ bindings-CoreFoundation.cabal | 2 + cbits/helper_CFArray.c | 82 +++++++++++++++++++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 Bindings/CoreFoundation/CFArray.hsc create mode 100644 cbits/helper_CFArray.c diff --git a/Bindings/CoreFoundation/CFArray.hsc b/Bindings/CoreFoundation/CFArray.hsc new file mode 100644 index 0000000..b60aaee --- /dev/null +++ b/Bindings/CoreFoundation/CFArray.hsc @@ -0,0 +1,49 @@ +#include +#include + +module Bindings.CoreFoundation.CFArray where +#strict_import +import Bindings.CoreFoundation.CFBase + +#callback CFArrayRetainCallBack , -> Ptr () -> IO (Ptr ()) +#callback CFArrayReleaseCallBack , -> Ptr () -> IO () +#callback CFArrayCopyDescriptionCallBack, Ptr () -> IO +#callback CFArrayEqualCallBack , Ptr () -> Ptr () -> IO +#starttype CFArrayCallBacks +# field version , +# field retain , +# field release , +# field copyDescription, +#stoptype + +#cinline kCFTypeArrayCallBacks, IO (Ptr ) + +#callback CFArrayApplierFunction, Ptr () -> Ptr () -> IO () + +#opaque_t __CFArray +#synonym_t CFArrayRef , Ptr <__CFArray> +#synonym_t CFMutableArrayRef, Ptr <__CFArray> + +#ccall CFArrayGetTypeID , IO +#ccall CFArrayCreate , -> Ptr (Ptr ()) -> -> Ptr -> IO +#ccall CFArrayCreateCopy , -> -> IO +#ccall CFArrayCreateMutable , -> -> Ptr -> IO +#ccall CFArrayCreateMutableCopy , -> -> -> IO +#ccall CFArrayGetCount , -> IO +#cinline CFArrayGetCountOfValue , -> Ptr -> Ptr () -> IO +#cinline CFArrayContainsValue , -> Ptr -> Ptr () -> IO +#ccall CFArrayGetValueAtIndex , -> -> IO (Ptr ()) +#cinline CFArrayGetValues , -> Ptr -> Ptr (Ptr ()) -> IO () +#cinline CFArrayApplyFunction , -> Ptr -> -> Ptr () -> IO () +#cinline CFArrayGetFirstIndexOfValue, -> Ptr -> Ptr () -> IO +#cinline CFArrayGetLastIndexOfValue , -> Ptr -> Ptr () -> IO +#cinline CFArrayBSearchValues , -> Ptr -> Ptr () -> -> Ptr () -> IO +#ccall CFArrayAppendValue , -> Ptr () -> IO () +#ccall CFArrayInsertValueAtIndex , -> -> Ptr () -> IO () +#ccall CFArraySetValueAtIndex , -> -> Ptr () -> IO () +#ccall CFArrayRemoveValueAtIndex , -> -> IO () +#ccall CFArrayRemoveAllValues , -> IO () +#cinline CFArrayReplaceValues , -> Ptr -> Ptr (Ptr ()) -> -> IO () +#ccall CFArrayExchangeValuesAtIndices, -> -> -> IO () +#cinline CFArraySortValues , -> Ptr -> -> Ptr () -> IO () +#cinline CFArrayAppendArray , -> -> Ptr -> IO () diff --git a/bindings-CoreFoundation.cabal b/bindings-CoreFoundation.cabal index 3691af7..21c84ce 100644 --- a/bindings-CoreFoundation.cabal +++ b/bindings-CoreFoundation.cabal @@ -29,9 +29,11 @@ Library CoreFoundation Exposed-Modules: + Bindings.CoreFoundation.CFArray Bindings.CoreFoundation.CFBase C-Sources: + cbits/helper_CFArray.c cbits/helper_CFBase.c Extensions: diff --git a/cbits/helper_CFArray.c b/cbits/helper_CFArray.c new file mode 100644 index 0000000..83309be --- /dev/null +++ b/cbits/helper_CFArray.c @@ -0,0 +1,82 @@ +#include +#include + +const CFArrayCallBacks* +inline_kCFTypeArrayCallBacks() { + return &kCFTypeArrayCallBacks; +} + +CFIndex +inline_CFArrayGetCountOfValue(CFArrayRef theArray, + CFRange* range, + const void* value) { + return CFArrayGetCountOfValue(theArray, *range, value); +} + +Boolean +inline_CFArrayContainsValue(CFArrayRef theArray, + CFRange* range, + const void* value) { + return CFArrayContainsValue(theArray, *range, value); +} + +void +inline_CFArrayGetValues(CFArrayRef theArray, + CFRange* range, + const void** values) { + return CFArrayGetValues(theArray, *range, values); +} + +void +inline_CFArrayApplyFunction(CFArrayRef theArray, + CFRange* range, + CFArrayApplierFunction applier, + void* context) { + return CFArrayApplyFunction(theArray, *range, applier, context); +} + +CFIndex +inline_CFArrayGetFirstIndexOfValue(CFArrayRef theArray, + CFRange* range, + const void *value) { + return CFArrayGetFirstIndexOfValue(theArray, *range, value); +} + +CFIndex +inline_CFArrayGetLastIndexOfValue(CFArrayRef theArray, + CFRange* range, + const void *value) { + return CFArrayGetLastIndexOfValue(theArray, *range, value); +} + +CFIndex +inline_CFArrayBSearchValues(CFArrayRef theArray, + CFRange* range, + const void *value, + CFComparatorFunction comparator, + void *context) { + return CFArrayBSearchValues(theArray, *range, value, comparator, context); +} + +void +inline_CFArrayReplaceValues(CFMutableArrayRef theArray, + CFRange* range, + const void **newValues, + CFIndex newCount) { + return CFArrayReplaceValues(theArray, *range, newValues, newCount); +} + +void +inline_CFArraySortValues(CFMutableArrayRef theArray, + CFRange* range, + CFComparatorFunction comparator, + void *context) { + return CFArraySortValues(theArray, *range, comparator, context); +} + +void +inline_CFArrayAppendArray(CFMutableArrayRef theArray, + CFArrayRef otherArray, + CFRange* otherRange) { + return CFArrayAppendArray(theArray, otherArray, *otherRange); +} -- 2.40.0