From a3ce1d3ac30ee96992059e075ebdd73ee771987b Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Tue, 25 Aug 2015 21:31:41 -0700 Subject: [PATCH] Ensure back-compat --- core-foundation-sys/src/array.rs | 5 ++++- core-foundation-sys/src/base.rs | 10 ++++++++++ core-foundation-sys/src/bundle.rs | 5 ++++- core-foundation-sys/src/data.rs | 7 ++++--- core-foundation-sys/src/number.rs | 5 ++++- core-foundation-sys/src/string.rs | 9 ++++++--- core-foundation/src/array.rs | 2 +- core-foundation/src/base.rs | 2 +- core-foundation/src/boolean.rs | 2 +- core-foundation/src/bundle.rs | 2 +- core-foundation/src/data.rs | 2 +- core-foundation/src/dictionary.rs | 2 +- core-foundation/src/number.rs | 4 +--- core-foundation/src/runloop.rs | 2 +- core-foundation/src/set.rs | 2 +- core-foundation/src/string.rs | 3 +-- core-foundation/src/url.rs | 3 +-- 17 files changed, 43 insertions(+), 24 deletions(-) diff --git a/core-foundation-sys/src/array.rs b/core-foundation-sys/src/array.rs index 9c38cac..8fc5f69 100644 --- a/core-foundation-sys/src/array.rs +++ b/core-foundation-sys/src/array.rs @@ -33,7 +33,10 @@ pub struct CFArrayCallBacks { pub equal: CFArrayEqualCallBack, } -pub type CFArrayRef = *const c_void; +#[repr(C)] +struct __CFArray; + +pub type CFArrayRef = *const __CFArray; extern { /* diff --git a/core-foundation-sys/src/base.rs b/core-foundation-sys/src/base.rs index c3fbec3..89efe52 100644 --- a/core-foundation-sys/src/base.rs +++ b/core-foundation-sys/src/base.rs @@ -26,6 +26,16 @@ pub struct CFRange { pub length: CFIndex } +// for back-compat +impl CFRange { + pub fn init(location: CFIndex, length: CFIndex) -> CFRange { + CFRange { + location: location, + length: length, + } + } +} + extern { /* * CFBase.h diff --git a/core-foundation-sys/src/bundle.rs b/core-foundation-sys/src/bundle.rs index 0a8b48d..67edbd6 100644 --- a/core-foundation-sys/src/bundle.rs +++ b/core-foundation-sys/src/bundle.rs @@ -12,7 +12,10 @@ use libc::c_void; use base::CFTypeID; use string::CFStringRef; -pub type CFBundleRef = *const c_void; +#[repr(C)] +struct __CFBundle; + +pub type CFBundleRef = *const __CFBundle; extern { /* diff --git a/core-foundation-sys/src/data.rs b/core-foundation-sys/src/data.rs index a62da4b..5b47a62 100644 --- a/core-foundation-sys/src/data.rs +++ b/core-foundation-sys/src/data.rs @@ -1,8 +1,9 @@ -use libc::c_void; - use base::{CFAllocatorRef, CFTypeID, CFIndex}; -pub type CFDataRef = *const c_void; +#[repr(C)] +struct __CFData; + +pub type CFDataRef = *const __CFData; extern { /* diff --git a/core-foundation-sys/src/number.rs b/core-foundation-sys/src/number.rs index ce2bfc9..ab1184e 100644 --- a/core-foundation-sys/src/number.rs +++ b/core-foundation-sys/src/number.rs @@ -11,7 +11,10 @@ use libc::c_void; use base::{CFAllocatorRef, CFTypeID}; -pub type CFBooleanRef = *const c_void; +#[repr(C)] +struct __CFBoolean; + +pub type CFBooleanRef = *const __CFBoolean; pub type CFNumberType = u32; diff --git a/core-foundation-sys/src/string.rs b/core-foundation-sys/src/string.rs index cb7957b..ed10a92 100644 --- a/core-foundation-sys/src/string.rs +++ b/core-foundation-sys/src/string.rs @@ -7,7 +7,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use libc::{c_char, c_void, c_ushort}; +use libc::{c_char, c_ushort}; use base::{Boolean, CFOptionFlags, CFIndex, CFAllocatorRef, CFRange, CFTypeID}; @@ -49,7 +49,7 @@ pub static kCFStringEncodingUTF8: CFStringEncoding = 0x08000100; // CFStringEncodingExt.h -type CFStringEncodings = CFIndex; +pub type CFStringEncodings = CFIndex; // External encodings, except those defined above. // Defined above: kCFStringEncodingMacRoman = 0 @@ -187,7 +187,10 @@ type CFStringEncodings = CFIndex; //static kCFStringEncodingUTF7_IMAP: CFStringEncoding = 0x0A10; //static kCFStringEncodingShiftJIS_X0213_00: CFStringEncoding = 0x0628; /* Deprecated */ -pub type CFStringRef = *const c_void; +#[repr(C)] +struct __CFString; + +pub type CFStringRef = *const __CFString; extern { /* diff --git a/core-foundation/src/array.rs b/core-foundation/src/array.rs index b077552..757725a 100644 --- a/core-foundation/src/array.rs +++ b/core-foundation/src/array.rs @@ -9,7 +9,7 @@ //! Heterogeneous immutable arrays. -use core_foundation_sys::array::*; +pub use core_foundation_sys::array::*; use core_foundation_sys::base::{CFIndex, CFRelease}; use core_foundation_sys::base::{CFTypeRef, kCFAllocatorDefault}; use libc::c_void; diff --git a/core-foundation/src/base.rs b/core-foundation/src/base.rs index 60fa4e1..3f4bcea 100644 --- a/core-foundation/src/base.rs +++ b/core-foundation/src/base.rs @@ -7,7 +7,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use core_foundation_sys::base::*; +pub use core_foundation_sys::base::*; pub trait CFIndexConvertible { /// Always use this method to construct a `CFIndex` value. It performs bounds checking to diff --git a/core-foundation/src/boolean.rs b/core-foundation/src/boolean.rs index b8d4288..20f4630 100644 --- a/core-foundation/src/boolean.rs +++ b/core-foundation/src/boolean.rs @@ -10,7 +10,7 @@ //! A Boolean type. use core_foundation_sys::base::{CFRelease}; -use core_foundation_sys::number::{CFBooleanRef, CFBooleanGetTypeID, kCFBooleanTrue, kCFBooleanFalse}; +pub use core_foundation_sys::number::{CFBooleanRef, CFBooleanGetTypeID, kCFBooleanTrue, kCFBooleanFalse}; use std::mem; use base::TCFType; diff --git a/core-foundation/src/bundle.rs b/core-foundation/src/bundle.rs index 7a25c77..2f42b26 100644 --- a/core-foundation/src/bundle.rs +++ b/core-foundation/src/bundle.rs @@ -9,8 +9,8 @@ //! Core Foundation Bundle Type +pub use core_foundation_sys::bundle::*; use core_foundation_sys::base::CFRelease; -use core_foundation_sys::bundle::{CFBundleRef, CFBundleGetTypeID}; use std::mem; use base::{TCFType}; diff --git a/core-foundation/src/data.rs b/core-foundation/src/data.rs index 4d6826b..9b6a65f 100644 --- a/core-foundation/src/data.rs +++ b/core-foundation/src/data.rs @@ -9,9 +9,9 @@ //! Core Foundation byte buffers. +pub use core_foundation_sys::data::*; use core_foundation_sys::base::{CFIndex, CFRelease}; use core_foundation_sys::base::{kCFAllocatorDefault}; -use core_foundation_sys::data::*; use std::mem; use std::ops::Deref; use std::slice; diff --git a/core-foundation/src/dictionary.rs b/core-foundation/src/dictionary.rs index b08bdc1..9540fba 100644 --- a/core-foundation/src/dictionary.rs +++ b/core-foundation/src/dictionary.rs @@ -9,9 +9,9 @@ //! Dictionaries of key-value pairs. +pub use core_foundation_sys::dictionary::*; use core_foundation_sys::base::CFRelease; use core_foundation_sys::base::{CFTypeRef, kCFAllocatorDefault}; -use core_foundation_sys::dictionary::*; use libc::c_void; use std::mem; use std::ptr; diff --git a/core-foundation/src/number.rs b/core-foundation/src/number.rs index 22869e8..771c75e 100644 --- a/core-foundation/src/number.rs +++ b/core-foundation/src/number.rs @@ -9,10 +9,8 @@ //! Immutable numbers. -#![allow(non_upper_case_globals)] - use core_foundation_sys::base::{CFRelease, kCFAllocatorDefault}; -use core_foundation_sys::number::*; +pub use core_foundation_sys::number::*; use std::mem; use base::{TCFType}; diff --git a/core-foundation/src/runloop.rs b/core-foundation/src/runloop.rs index 23b8f68..423ecd2 100644 --- a/core-foundation/src/runloop.rs +++ b/core-foundation/src/runloop.rs @@ -9,11 +9,11 @@ #![allow(non_upper_case_globals)] +pub use core_foundation_sys::runloop::*; use core_foundation_sys::base::{CFIndex, CFRelease}; use core_foundation_sys::base::{kCFAllocatorDefault, CFOptionFlags}; use core_foundation_sys::string::CFStringRef; use core_foundation_sys::date::{CFAbsoluteTime, CFTimeInterval}; -use core_foundation_sys::runloop::*; use std::mem; use base::{TCFType}; diff --git a/core-foundation/src/set.rs b/core-foundation/src/set.rs index 00f9190..8224a20 100644 --- a/core-foundation/src/set.rs +++ b/core-foundation/src/set.rs @@ -9,9 +9,9 @@ //! An immutable bag of elements. +pub use core_foundation_sys::set::*; use core_foundation_sys::base::CFRelease; use core_foundation_sys::base::{CFTypeRef, kCFAllocatorDefault}; -use core_foundation_sys::set::*; use base::{CFIndexConvertible, TCFType}; diff --git a/core-foundation/src/string.rs b/core-foundation/src/string.rs index 10ad735..37f06b4 100644 --- a/core-foundation/src/string.rs +++ b/core-foundation/src/string.rs @@ -9,13 +9,12 @@ //! Immutable strings. -#![allow(non_upper_case_globals)] +pub use core_foundation_sys::string::*; use base::{CFIndexConvertible, TCFType}; use core_foundation_sys::base::{Boolean, CFIndex, CFRange, CFRelease}; use core_foundation_sys::base::{kCFAllocatorDefault, kCFAllocatorNull}; -use core_foundation_sys::string::*; use std::fmt; use std::str::{self, FromStr}; use std::mem; diff --git a/core-foundation/src/url.rs b/core-foundation/src/url.rs index 3fba536..47f44cb 100644 --- a/core-foundation/src/url.rs +++ b/core-foundation/src/url.rs @@ -9,13 +9,12 @@ //! A URL type for Core Foundation. -#![allow(non_upper_case_globals)] +pub use core_foundation_sys::url::*; use base::{TCFType}; use string::{CFString}; use core_foundation_sys::base::{kCFAllocatorDefault, CFRelease}; -use core_foundation_sys::url::*; use std::fmt; use std::mem;