aboutsummaryrefslogtreecommitdiffstats
path: root/corefoundation.go
diff options
context:
space:
mode:
Diffstat (limited to 'corefoundation.go')
-rw-r--r--corefoundation.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/corefoundation.go b/corefoundation.go
index e571ecb..ebec7a4 100644
--- a/corefoundation.go
+++ b/corefoundation.go
@@ -148,6 +148,20 @@ func CFArrayToArray(cfArray C.CFArrayRef) (a []C.CFTypeRef) {
return
}
+// StringsToCFArray converts strings to CFArrayRef
+func StringsToCFArray(strs []string) C.CFArrayRef {
+ strRefs := []C.CFTypeRef{}
+ for _, s := range strs {
+ strRef, err := StringToCFString(s)
+ if err != nil {
+ return nil
+ }
+ defer Release(C.CFTypeRef(strRef))
+ strRefs = append(strRefs, C.CFTypeRef(strRef))
+ }
+ return ArrayToCFArray(strRefs)
+}
+
// Convertable knows how to convert an instance to a CFTypeRef.
type Convertable interface {
Convert() (C.CFTypeRef, error)