Overview
Comment: | Add bridging for arrays. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | bridge |
Files: | files | file ages | folders |
SHA3-256: |
75969a1dd70466c66f08b6e0a2ed9bff |
User & Date: | js on 2012-02-27 12:05:28 |
Other Links: | branch diff | manifest | tags |
Context
2012-03-27
| ||
09:42 | Merge branch 'master' into bridge check-in: 2933c425bf user: js tags: bridge | |
2012-02-27
| ||
12:05 | Add bridging for arrays. check-in: 75969a1dd7 user: js tags: bridge | |
2012-02-17
| ||
21:20 | Initial bridging support. check-in: 62f7a0b4d1 user: js tags: bridge | |
Changes
Modified src/bridge/Makefile from [f6610e413b] to [326589f960].
1 2 3 4 5 6 7 | include ../../extra.mk SHARED_LIB = ${OBJFW_BRIDGE_SHARED_LIB} STATIC_LIB = ${OBJFW_BRIDGE_STATIC_LIB} LIB_MAJOR = ${OBJFW_LIB_MAJOR} LIB_MINOR = ${OBJFW_LIB_MINOR} | > > | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | include ../../extra.mk SHARED_LIB = ${OBJFW_BRIDGE_SHARED_LIB} STATIC_LIB = ${OBJFW_BRIDGE_STATIC_LIB} LIB_MAJOR = ${OBJFW_LIB_MAJOR} LIB_MINOR = ${OBJFW_LIB_MINOR} SRCS = OFArray+NSObject.m \ OFArray_NSArray.m \ OFString+NSObject.m \ NSArray+OFObject.m \ NSArray_OFArray.m \ NSString+OFObject.m INCLUDES = ${SRCS:.m=.h} \ OFBridging.h \ NSBridging.h \ bridge.h |
︙ | ︙ |
Added src/bridge/NSArray+OFObject.h version [370b6dda47].
> > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import <Foundation/NSArray.h> #import "NSBridging.h" /** * \brief Support for bridging NSArrays to OFArrays. */ @interface NSArray (OFObject) <NSBridging> @end |
Added src/bridge/NSArray+OFObject.m version [1b0d3190b9].
> > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSArray+OFObject.h" #import "OFArray_NSArray.h" @implementation NSArray (OFObject) - (id)OFObject { return [[[OFArray_NSArray alloc] initWithNSArray: self] autorelease]; } @end |
Added src/bridge/NSArray_OFArray.h version [7958ae4e27].
> > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import <Foundation/NSArray.h> @class OFArray; @interface NSArray_OFArray: NSArray { OFArray *array; } - initWithOFArray: (OFArray*)array; @end |
Added src/bridge/NSArray_OFArray.m version [95b8f127f3].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSArray_OFArray.h" #import "OFArray.h" #import "OFBridging.h" @implementation NSArray_OFArray - initWithOFArray: (OFArray*)array_ { if ((self = [super init]) != nil) { @try { array = [array_ retain]; } @catch (id e) { return nil; } } return self; } - (id)objectAtIndex: (size_t)index { id object = [array objectAtIndex: index]; if ([object conformsToProtocol: @protocol(OFBridging)]) return [object NSObject]; return object; } - (size_t)count { return [array count]; } @end |
Added src/bridge/OFArray+NSObject.h version [0d3fbda795].
> > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFArray.h" #import "OFBridging.h" /** * \brief Support for bridging OFArrays to NSArrays. */ @interface OFArray (NSObject) <OFBridging> @end |
Added src/bridge/OFArray+NSObject.m version [24bde89643].
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSArray_OFArray.h" #import "OFArray+NSObject.h" @implementation OFArray (NSObject) - (id)NSObject { return [[[NSArray_OFArray alloc] initWithOFArray: self] autorelease]; } @end |
Added src/bridge/OFArray_NSArray.h version [b3129f5fa4].
> > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFArray.h" @class NSArray; @interface OFArray_NSArray: OFArray { NSArray *array; } - initWithNSArray: (NSArray*)array; @end |
Added src/bridge/OFArray_NSArray.m version [e60dcc6ae6].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | /* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import <Foundation/NSArray.h> #import "OFArray_NSArray.h" #import "NSBridging.h" #import "OFInitializationFailedException.h" @implementation OFArray_NSArray - initWithNSArray: (NSArray*)array_ { self = [super init]; @try { array = [array_ retain]; if (array == nil) @throw [OFInitializationFailedException exceptionWithClass: isa]; } @catch (id e) { [self release]; @throw e; } return self; } - (id)objectAtIndex: (size_t)index { id object = [array objectAtIndex: index]; if ([object conformsToProtocol: @protocol(NSBridging)]) return [object OFObject]; return object; } - (size_t)count { return [array count]; } @end |
Modified src/bridge/bridge.h from [6450bb8c17] to [75323a2fd8].
︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSString+OFObject.h" #import "OFString+NSObject.h" | > > | 10 11 12 13 14 15 16 17 18 19 20 21 | * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "NSArray+OFObject.h" #import "NSString+OFObject.h" #import "OFArray+NSObject.h" #import "OFString+NSObject.h" |