mirror of
https://github.com/QuasarApp/macdependency.git
synced 2025-04-28 13:24:32 +00:00
41 lines
1.1 KiB
Objective-C
41 lines
1.1 KiB
Objective-C
//
|
|
// VersionFormatter.m
|
|
// MacDependency
|
|
//
|
|
// Created by Konrad Windszus on 17.07.09.
|
|
// Copyright 2009 Konrad Windszus. All rights reserved.
|
|
//
|
|
// Formatter for version integers (4 byte) in the form xxxx.xx.xx
|
|
#import "VersionFormatter.h"
|
|
|
|
#define HIBYTE(x) ( (unsigned char) ((x) >> 8) )
|
|
#define LOBYTE(x) ( (unsigned char) (x) )
|
|
#define HIWORD(x) ( (unsigned short) ( (x) >> 16) )
|
|
#define LOWORD(x) ( (unsigned short) (x) )
|
|
|
|
@implementation VersionFormatter
|
|
|
|
// conversion to string
|
|
- (NSString*) stringForObjectValue:(id)obj {
|
|
// must be a NSNumber
|
|
if (![obj isKindOfClass:[NSNumber class]]) {
|
|
return nil;
|
|
}
|
|
|
|
// NSNumber contains the version as unsigned int
|
|
unsigned int version = [obj unsignedIntValue];
|
|
|
|
if (version == 0) {
|
|
return [NSString string];
|
|
}
|
|
NSString* versionString = [NSString stringWithFormat:@"%d.%d.%d", HIWORD(version), (unsigned short)HIBYTE(LOWORD(version)), (unsigned short)LOBYTE(LOWORD(version)) ];
|
|
return versionString;
|
|
}
|
|
|
|
|
|
// conversion from string (not necessary)
|
|
- (BOOL) getObjectValue:(id*)obj forString:(NSString*)string errorDescription:(NSString**)errorString {
|
|
return NO;
|
|
}
|
|
@end
|