Index: src/Makefile ================================================================== --- src/Makefile +++ src/Makefile @@ -13,14 +13,15 @@ OFObject.m \ OFString.m \ OFWideCString.m \ OFXMLFactory.m -INCLUDES = ${SRCS:.m=.h} +INCLUDES = ${SRCS:.m=.h} \ + OFMacros.h include ../buildsys.mk CPPFLAGS += -I.. OBJCFLAGS += ${LIB_CFLAGS} LD = ${OBJC} LDFLAGS += ${LIB_LDFLAGS} LIBS += -lobjc ADDED src/OFMacros.h Index: src/OFMacros.h ================================================================== --- src/OFMacros.h +++ src/OFMacros.h @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2008 + * Jonathan Schleifer + * + * All rights reserved. + * + * This file is part of libobjfw. It may be distributed under the terms of the + * Q Public License 1.0, which can be found in the file LICENSE included in + * the packaging of this file. + */ + +#define OF_NOT_IMPLEMENTED(ret) \ + [[OFNotImplementedException newWithObject: self \ + andSelector: _cmd] raise]; \ + return ret; Index: src/OFString.m ================================================================== --- src/OFString.m +++ src/OFString.m @@ -18,10 +18,11 @@ #import "OFConstCString.h" #import "OFConstWideCString.h" #import "OFCString.h" #import "OFWideCString.h" #import "OFExceptions.h" +#import "OFMacros.h" @implementation OFString + newAsConstCString: (const char*)str { return [[OFConstCString alloc] initAsConstCString: str]; @@ -42,27 +43,21 @@ return [[OFWideCString alloc] initAsWideCString: str]; } - (char*)cString { - [[OFNotImplementedException newWithObject: self - andSelector: @selector(cString)] raise]; - return NULL; + OF_NOT_IMPLEMENTED(NULL) } - (wchar_t*)wcString { - [[OFNotImplementedException newWithObject: self - andSelector: @selector(wcString)] raise]; - return NULL; + OF_NOT_IMPLEMENTED(NULL) } - (size_t)length { - [[OFNotImplementedException newWithObject: self - andSelector: @selector(length)] raise]; - return 0; + OF_NOT_IMPLEMENTED(0) } - (OFString*)setTo: (OFString*)str { [self free]; @@ -70,42 +65,28 @@ return self; } - (OFString*)clone { - [[OFNotImplementedException newWithObject: self - andSelector: @selector(clone)] raise]; - return nil; + OF_NOT_IMPLEMENTED(nil) } - (int)compareTo: (OFString*)str { - [[OFNotImplementedException newWithObject: self - andSelector: @selector(compareTo:)] - raise]; - return 0; + OF_NOT_IMPLEMENTED(0) } - (OFString*)append: (OFString*)str { - [[OFNotImplementedException newWithObject: self - andSelector: @selector(append:)] raise]; - return nil; + OF_NOT_IMPLEMENTED(nil) } - (OFString*)appendCString: (const char*)str { - [[OFNotImplementedException newWithObject: self - andSelector: @selector(appendCString:)] - raise]; - return nil; + OF_NOT_IMPLEMENTED(nil) } - (OFString*)appendWideCString: (const wchar_t*)str { - [[OFNotImplementedException newWithObject: self - andSelector: @selector( - appendWideCString:)] - raise]; - return nil; + OF_NOT_IMPLEMENTED(nil) } @end