/***************************************************************************
                            QUrl.java -  description
                             -------------------
    begin                : Wed Nov 21 17:05:56 2001
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Nov 21 17:05:56 2001, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
***************************************************************************/

package org.kde.qt;

import java.util.*;
import java.lang.Error;

public class  QUrl implements QtSupport, QUrlInterface {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;

	protected QUrl(Class dummy){}

	private native void newQUrl();
	public QUrl() {
		newQUrl();
	}
	private native void newQUrl( String url);
	public QUrl( String url) {
		newQUrl( url);
	}
	private native void newQUrl( QUrlInterface url);
	public QUrl( QUrlInterface url) {
		newQUrl( url);
	}
	private native void newQUrl( QUrlInterface url, String relUrl, boolean checkSlash);
	public QUrl( QUrlInterface url, String relUrl, boolean checkSlash) {
		newQUrl( url, relUrl, checkSlash);
	}
	private native void newQUrl( QUrlInterface url, String relUrl);
	public QUrl( QUrlInterface url, String relUrl) {
		newQUrl( url, relUrl);
	}
	protected native void finalize() throws InternalError;
	public native String protocol();
	public native void setProtocol( String protocol);
	public native String user();
	public native void setUser( String user);
	public native boolean hasUser();
	public native String password();
	public native void setPassword( String pass);
	public native boolean hasPassword();
	public native String host();
	public native void setHost( String user);
	public native boolean hasHost();
	public native int port();
	public native void setPort( int port);
	public native boolean hasPort();
	public native String path( boolean correct);
	public String path() {
		return path(true);
	}
	public native void setPath( String path);
	public native boolean hasPath();
	public native void setEncodedPathAndQuery( String enc);
	public native String encodedPathAndQuery();
	public native void setQuery( String txt);
	public native String query();
	public native String ref();
	public native void setRef( String txt);
	public native boolean hasRef();
	public native boolean isValid();
	public native boolean isLocalFile();
	public native void addPath( String path);
	public native void setFileName( String txt);
	public native String fileName();
	public native String dirPath();
	public native String toString( boolean encodedPath, boolean forcePrependProtocol);
	public native boolean cdUp();
	public static native void decode( String url);
	public static native void encode( String url);
	public static native boolean isRelativeUrl( String url);
	protected native void reset();
	protected native boolean parse( String url);
}
