aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMSystemVersion.h
diff options
context:
space:
mode:
Diffstat (limited to 'Foundation/GTMSystemVersion.h')
-rw-r--r--Foundation/GTMSystemVersion.h39
1 files changed, 38 insertions, 1 deletions
diff --git a/Foundation/GTMSystemVersion.h b/Foundation/GTMSystemVersion.h
index 0f19596..959d2af 100644
--- a/Foundation/GTMSystemVersion.h
+++ b/Foundation/GTMSystemVersion.h
@@ -23,7 +23,20 @@
@interface GTMSystemVersion : NSObject
// Returns the current system version major.minor.bugFix
-+ (void)getMajor:(long*)major minor:(long*)minor bugFix:(long*)bugFix;
++ (void)getMajor:(SInt32*)major minor:(SInt32*)minor bugFix:(SInt32*)bugFix;
+
+// Returns the build number of the OS. Useful when looking for bug fixes
+// in new OSes which all have a set system version.
+// eg 10.5.5's build number is 9F33. Easy way to check the build number
+// is to choose "About this Mac" from the Apple menu and click on the version
+// number.
++ (NSString*)build;
+
++ (BOOL)isBuildLessThan:(NSString*)build;
++ (BOOL)isBuildLessThanOrEqualTo:(NSString*)build;
++ (BOOL)isBuildGreaterThan:(NSString*)build;
++ (BOOL)isBuildGreaterThanOrEqualTo:(NSString*)build;
++ (BOOL)isBuildEqualTo:(NSString *)build;
#if GTM_MACOS_SDK
// Returns YES if running on 10.3, NO otherwise.
@@ -35,6 +48,9 @@
// Returns YES if running on 10.5, NO otherwise.
+ (BOOL)isLeopard;
+// Returns YES if running on 10.6, NO otherwise.
++ (BOOL)isSnowLeopard;
+
// Returns a YES/NO if the system is 10.3 or better
+ (BOOL)isPantherOrGreater;
@@ -43,6 +59,27 @@
// Returns a YES/NO if the system is 10.5 or better
+ (BOOL)isLeopardOrGreater;
+
+// Returns a YES/NO if the system is 10.6 or better
++ (BOOL)isSnowLeopardOrGreater;
#endif // GTM_MACOS_SDK
+// Returns one of the achitecture strings below. Note that this is the
+// architecture that we are currently running as, not the hardware architecture.
++ (NSString *)runtimeArchitecture;
@end
+
+// Architecture Strings
+// TODO: Should probably break iPhone up into iPhone_ARM and iPhone_Simulator
+// but haven't found a need yet.
+extern NSString *const kGTMArch_iPhone;
+extern NSString *const kGTMArch_ppc;
+extern NSString *const kGTMArch_ppc64;
+extern NSString *const kGTMArch_x86_64;
+extern NSString *const kGTMArch_i386;
+
+// System Build Number constants
+extern NSString *const kGTMSystemBuild10_5_5;
+extern NSString *const kGTMSystemBuild10_6_0_WWDC;
+
+