aboutsummaryrefslogtreecommitdiff
path: root/GTMDefines.h
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-05-06 17:30:40 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-05-06 17:30:40 +0000
commite9fe951720e98ca768e2c51d05fa257ecfd6b894 (patch)
tree8dee53e78f42791044aac9522fc89fab579435c4 /GTMDefines.h
parent9b220f8ebaac55fd702677c664ded72140875cce (diff)
[Author: dmaclach]
Made GTMABAddressBook work on both the iPhone and the Desktop, giving you a single interface to both. DELTA=2539 (2173 added, 79 deleted, 287 changed) R=thomasvl
Diffstat (limited to 'GTMDefines.h')
-rw-r--r--GTMDefines.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/GTMDefines.h b/GTMDefines.h
index 846e56c..bd87b82 100644
--- a/GTMDefines.h
+++ b/GTMDefines.h
@@ -166,17 +166,20 @@ GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...);
// side to be sure you're getting what you wanted.
#ifndef GTM_FOREACH_OBJECT
#if TARGET_OS_IPHONE || (GTM_MAC_OS_X_VERSION_MINIMUM_REQUIRED >= MAC_OS_X_VERSION_10_5)
+ #define GTM_FOREACH_ENUMEREE(element, enumeration) \
+ for (element in enumeration)
#define GTM_FOREACH_OBJECT(element, collection) \
for (element in collection)
#define GTM_FOREACH_KEY(element, collection) \
for (element in collection)
#else
- #define GTM_FOREACH_OBJECT(element, collection) \
- for (NSEnumerator * _ ## element ## _enum = [collection objectEnumerator]; \
+ #define GTM_FOREACH_ENUMEREE(element, enumeration) \
+ for (NSEnumerator *_ ## element ## _enum = enumeration; \
(element = [_ ## element ## _enum nextObject]) != nil; )
+ #define GTM_FOREACH_OBJECT(element, collection) \
+ GTM_FOREACH_ENUMEREE(element, [collection objectEnumerator])
#define GTM_FOREACH_KEY(element, collection) \
- for (NSEnumerator * _ ## element ## _enum = [collection keyEnumerator]; \
- (element = [_ ## element ## _enum nextObject]) != nil; )
+ GTM_FOREACH_ENUMEREE(element, [collection keyEnumerator])
#endif
#endif
@@ -203,6 +206,17 @@ GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...);
#define GTM_MACOS_SDK 1
#endif
+// Some of our own availability macros
+#if GTM_MACOS_SDK
+#define GTM_WEAK_ON_MACOS __weak
+#define GTM_AVAILABLE_ONLY_ON_IPHONE UNAVAILABLE_ATTRIBUTE
+#define GTM_AVAILABLE_ONLY_ON_MACOS
+#else
+#define GTM_WEAK_ON_MACOS
+#define GTM_AVAILABLE_ONLY_ON_IPHONE
+#define GTM_AVAILABLE_ONLY_ON_MACOS UNAVAILABLE_ATTRIBUTE
+#endif
+
// Provide a symbol to include/exclude extra code for GC support. (This mainly
// just controls the inclusion of finalize methods).
#ifndef GTM_SUPPORT_GC