diff --git a/ChangeLog b/ChangeLog index 8ca595def..cd9e7dc73 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-09-20 Wolfgang Sourdeau + * OpenChange/NSString+MAPIStore.m (+stringWithGUID:) + (-extractGUID:): new wrapper methods around the GUID utility + functions in libndr. + * OpenChange/NSData+MAPIStore.m (+dataWithXID: asXIDInMemCtx:): new method to handle XID structs. (-appendUInt8, -appendUInt32): new methods to easily append diff --git a/OpenChange/NSString+MAPIStore.h b/OpenChange/NSString+MAPIStore.h index bab5ea4b9..26addcbdf 100644 --- a/OpenChange/NSString+MAPIStore.h +++ b/OpenChange/NSString+MAPIStore.h @@ -27,6 +27,9 @@ @interface NSString (MAPIStoreDataTypes) ++ (id) stringWithGUID: (const struct GUID *) guid; +- (void) extractGUID: (struct GUID *) guid; + - (char *) asUnicodeInMemCtx: (void *) memCtx; - (NSData *) convertHexStringToBytes; diff --git a/OpenChange/NSString+MAPIStore.m b/OpenChange/NSString+MAPIStore.m index 8bbf355a1..e6cf8fad7 100644 --- a/OpenChange/NSString+MAPIStore.m +++ b/OpenChange/NSString+MAPIStore.m @@ -21,13 +21,34 @@ */ #include +#include #import #import "NSString+MAPIStore.h" +#undef DEBUG +#include + @implementation NSString (MAPIStoreDataTypes) ++ (id) stringWithGUID: (const struct GUID *) guid +{ + char *guidString; + NSString *newString; + + guidString = GUID_string (NULL, guid); + newString = [self stringWithUTF8String: guidString]; + talloc_free (guidString); + + return newString; +} + +- (void) extractGUID: (struct GUID *) guid +{ + GUID_from_string ([self UTF8String], guid); +} + - (char *) asUnicodeInMemCtx: (void *) memCtx { char *unicode;