1 /* Interface for NSUUID for GNUStep 2 Copyright (C) 2013 Free Software Foundation, Inc. 3 4 Written by: Graham Lee <graham@iamleeg.com> 5 Created: 2013 6 7 This file is part of the GNUstep Base Library. 8 9 This library is free software; you can redistribute it and/or 10 modify it under the terms of the GNU Lesser General Public 11 License as published by the Free Software Foundation; either 12 version 2 of the License, or (at your option) any later version. 13 14 This library is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 Lesser General Public License for more details. 18 19 You should have received a copy of the GNU Lesser General Public 20 License along with this library; if not, write to the Free 21 Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 Boston, MA 02110 USA. 23 */ 24 25 #ifndef __NSUUID_h_GNUSTEP_BASE_INCLUDE 26 #define __NSUUID_h_GNUSTEP_BASE_INCLUDE 27 28 #import <GNUstepBase/GSVersionMacros.h> 29 #import <Foundation/NSObject.h> 30 31 #if OS_API_VERSION(MAC_OS_X_VERSION_10_8,GS_API_LATEST) 32 33 #if defined(__cplusplus) 34 extern "C" { 35 #endif 36 37 typedef uint8_t gsuuid_t[16]; 38 39 #if defined(uuid_t) 40 #undef uuid_t 41 #endif 42 #define uuid_t gsuuid_t 43 44 45 @class NSString; 46 47 @interface NSUUID : NSObject <NSCopying, NSCoding> 48 { 49 @private 50 gsuuid_t uuid; 51 } 52 53 + (instancetype)UUID; 54 - (instancetype)initWithUUIDString:(NSString *)string; 55 - (instancetype)initWithUUIDBytes:(gsuuid_t)bytes; 56 - (NSString *)UUIDString; 57 - (void)getUUIDBytes:(gsuuid_t)bytes; 58 59 @end 60 61 #if defined(__cplusplus) 62 } 63 #endif 64 65 #endif 66 67 #endif /* __NSUUID_h_GNUSTEP_BASE_INCLUDE */ 68