/*******************************************************************************
 * Copyright (c) 2000, 2012 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.swt.internal.cocoa;

public class NSAppleEventDescriptor extends NSObject {

public NSAppleEventDescriptor() {
	super();
}

public NSAppleEventDescriptor(long /*int*/ id) {
	super(id);
}

public NSAppleEventDescriptor(id id) {
	super(id);
}

public NSAppleEventDescriptor initListDescriptor() {
	long /*int*/ result = OS.objc_msgSend(this.id, OS.sel_initListDescriptor);
	return result == this.id ? this : (result != 0 ? new NSAppleEventDescriptor(result) : null);
}

}
