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