import org.kde.koala.*;
import org.kde.qt.*;
import java.util.*;
import java.io.*;

public class JavaDCOPObject extends DCOPObject{
  public JavaDCOPObject(){
    super("JavaDCOPObject");
  }
  public ArrayList functions(){
    ArrayList operations = new ArrayList();
    operations.add("QString myOperation()");
    return operations;
  }
  public ArrayList interfaces(){
    ArrayList list = new ArrayList();
    list.add("JavaDCOPObject");
    return list;
  }
  public DCOPAnswer javaProcess( String fun, byte[] data){
    DCOPAnswer answer = new DCOPAnswer();
    try{
      if("myOperation()".equals(fun)){
        answer.setReplyType("QString");
        answer.setSucces(true);

        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        DataOutputStream os = new DataOutputStream(stream);
        Marchaller.write_QString(os, this.myOperation());
        answer.setReplyData(stream.toByteArray());
        return answer;
      } else{
        return answer;
      }
    }catch(IOException ioe){
      ioe.printStackTrace();
      return answer;
    }
  }
  
  public String myOperation(){
    return "test from Java";    
  }
  
}
