//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QtSupport;

/**

 You must use a proxy if you want to dispatch method calls for
 object IDs which don't have (yet) a corresponding DCOPObject.
 This is somewhat like object references in CORBA.
		@author Matthias Ettrich <ettrich@kde.org>
 
		@short    You must use a proxy if you want to dispatch method calls for  object IDs which don't have (yet) a corresponding DCOPObject.
		@see DCOPObject
		@see DCOPClient

*/
public class DCOPObjectProxy implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected DCOPObjectProxy(Class dummy){}

	/**	
		 Creates a new proxy.
		     		@short    Creates a new proxy.
	*/
	public DCOPObjectProxy() {
		newDCOPObjectProxy();
	}
	private native void newDCOPObjectProxy();
	/**	
		 Reimplement this method to dispatch method calls.
			 This method is called of all proxies if the DCOPClient
		 knows no object with the id <code>obj.</code> If the first proxy returns
		 <code>true</code>, the DCOPClient will no longer call other proxies.
			 The object id <code>obj</code> may be empty for app-wide function calls no
		 associated with any object.
			@param obj the id of the object
			@param fun is the normalized function signature.
		            Such a signature usually looks like
		            foobar(String,int). The return type,
		            qualifiers like "const" etc. are not part of
		            the signature.
			@param data the received data
			@param replyType write the reply type in this string
			@param replyData write the reply data in this array
				@return true if successful, false otherwise. The default implementation
         returns always false.
     
		@short    Reimplement this method to dispatch method calls.
	*/
	public native boolean process(String arg1, String fun, byte[] data, StringBuffer replyType, byte[] replyData);
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
