view dstep/foundation/NSCharacterSet.d @ 14:89f3c3ef1fd2

Added the Foundation framework
author Jacob Carlborg <doob@me.com>
date Mon, 03 Aug 2009 15:23:15 +0200
parents
children 7ff919f595d5
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Aug 3, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.foundation.NSCharacterSet;

import dstep.corefoundation.CFCharacterSet;
import dstep.foundation.NSData;
import dstep.foundation.NSObject;
import dstep.foundation.NSRange;
import dstep.foundation.NSString;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc : id;

enum
{
	NSOpenStepUnicodeReservedBase = 0xF400
}

class NSCharacterSet : NSObject, INSCopying, INSMutableCopying, INSCoding
{
	mixin ObjcWrap;

	static Object controlCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "controlCharacterSet");
	}

	static Object whitespaceCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "whitespaceCharacterSet");
	}

	static Object whitespaceAndNewlineCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "whitespaceAndNewlineCharacterSet");
	}

	static Object decimalDigitCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "decimalDigitCharacterSet");
	}

	static Object letterCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "letterCharacterSet");
	}

	static Object lowercaseLetterCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "lowercaseLetterCharacterSet");
	}

	static Object uppercaseLetterCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "uppercaseLetterCharacterSet");
	}

	static Object nonBaseCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "nonBaseCharacterSet");
	}

	static Object alphanumericCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "alphanumericCharacterSet");
	}

	static Object decomposableCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "decomposableCharacterSet");
	}

	static Object illegalCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "illegalCharacterSet");
	}

	static Object punctuationCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "punctuationCharacterSet");
	}

	static Object capitalizedLetterCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "capitalizedLetterCharacterSet");
	}

	static Object symbolCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "symbolCharacterSet");
	}

	static Object newlineCharacterSet ()
	{
		return invokeObjcSelfClass!(Object, "newlineCharacterSet");
	}

	static Object characterSetWithRange (NSRange aRange)
	{
		return invokeObjcSelfClass!(Object, "characterSetWithRange:", NSRange)(aRange);
	}

	static Object characterSetWithCharactersInString (NSString aString)
	{
		return invokeObjcSelfClass!(Object, "characterSetWithCharactersInString:", NSString)(aString);
	}

	static Object characterSetWithBitmapRepresentation (NSData data)
	{
		return invokeObjcSelfClass!(Object, "characterSetWithBitmapRepresentation:", NSData)(data);
	}

	static Object characterSetWithContentsOfFile (NSString fName)
	{
		return invokeObjcSelfClass!(Object, "characterSetWithContentsOfFile:", NSString)(fName);
	}

	bool characterIsMember (ushort aCharacter)
	{
		return invokeObjcSelf!(bool, "characterIsMember:", ushort)(aCharacter);
	}

	NSData bitmapRepresentation ()
	{
		return invokeObjcSelf!(NSData, "bitmapRepresentation");
	}

	NSCharacterSet invertedSet ()
	{
		id result = invokeObjcSelf!(id, "invertedSet"return result is this.objcObject ? this : (result !is null ? new NSCharacterSet(result) : null);	}

	bool longCharacterIsMember (uint theLongChar)
	{
		return invokeObjcSelf!(bool, "longCharacterIsMember:", uint)(theLongChar);
	}

	bool isSupersetOfSet (NSCharacterSet theOtherSet)
	{
		return invokeObjcSelf!(bool, "isSupersetOfSet:", NSCharacterSet)(theOtherSet);
	}

	bool hasMemberInPlane (ubyte thePlane)
	{
		return invokeObjcSelf!(bool, "hasMemberInPlane:", ubyte)(thePlane);
	}

	Object copyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "copyWithZone:", NSZone*)(zone);
	}

	Object mutableCopyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "mutableCopyWithZone:", NSZone*)(zone);
	}

	void encodeWithCoder (NSCoder aCoder)
	{
		return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder);
	}

	Object initWithCoder (NSCoder aDecoder)
	{
		return invokeObjcSelf!(Object, "initWithCoder:", NSCoder)(aDecoder);
	}

	this (NSCoder aDecoder)
	{
		objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
		id result = Bridge.invokeObjcMethod!(id, "initWithCoder:", NSCoder)(objcObject, aDecoder);

		if (result)
			objcObject = ret;

		dObject = this;
	}
}

class NSMutableCharacterSet : NSCharacterSet, INSCopying, INSMutableCopying
{
	mixin ObjcWrap;

	void addCharactersInRange (NSRange aRange)
	{
		return invokeObjcSelf!(void, "addCharactersInRange:", NSRange)(aRange);
	}

	void removeCharactersInRange (NSRange aRange)
	{
		return invokeObjcSelf!(void, "removeCharactersInRange:", NSRange)(aRange);
	}

	void addCharactersInString (NSString aString)
	{
		return invokeObjcSelf!(void, "addCharactersInString:", NSString)(aString);
	}

	void removeCharactersInString (NSString aString)
	{
		return invokeObjcSelf!(void, "removeCharactersInString:", NSString)(aString);
	}

	void formUnionWithCharacterSet (NSCharacterSet otherSet)
	{
		return invokeObjcSelf!(void, "formUnionWithCharacterSet:", NSCharacterSet)(otherSet);
	}

	void formIntersectionWithCharacterSet (NSCharacterSet otherSet)
	{
		return invokeObjcSelf!(void, "formIntersectionWithCharacterSet:", NSCharacterSet)(otherSet);
	}

	void invert ()
	{
		return invokeObjcSelf!(void, "invert");
	}

	Object copyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "copyWithZone:", NSZone*)(zone);
	}

	Object mutableCopyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "mutableCopyWithZone:", NSZone*)(zone);
	}
}