/***************************************************************************
                            kde_StubProcess.h -  description
                             -------------------
    begin                : Wed Feb  6 15:12:26 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Feb  6 15:12:26 2002, using kalyptus 0.9.
 ***************************************************************************/

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

#ifndef KDE_STUBPROCESS
#define KDE_STUBPROCESS

#include <qtc/qtc_types.h>

#include <kdec/kde_types.h>

/**

 Chat with kdesu_stub.

 StubProcess extends PtyProcess with functionality to chat with kdesu_stub.
 
 @short 
 Chat with kdesu_stub.
*/
#define STUBPROCESS_SchedNormal	0
#define STUBPROCESS_SchedRealtime	1
kde_StubProcess * kde_new_StubProcess();
void kde_del_StubProcess( kde_StubProcess* p );

/**  Specify dcop transport *
*/
void kde_StubProcess_setDcopTransport(kde_StubProcess* instPointer,qt_QCString* dcopTransport);

/**  Set the command. 
*/
void kde_StubProcess_setCommand(kde_StubProcess* instPointer,qt_QCString* command);

/**  Set the target user.  
*/
void kde_StubProcess_setUser(kde_StubProcess* instPointer,qt_QCString* user);

/** 
 Set to "X only mode": Sycoca is not built and kdeinit is not launched.
     
*/
void kde_StubProcess_setXOnly(kde_StubProcess* instPointer,int xonly);

/** 
 Enable DCOP forwarding.
     
*/
void kde_StubProcess_setDCOPForwarding(kde_StubProcess* instPointer,int dcopForwarding);

/** 
 Set the priority of the process. The priority value must be between 0
 and 100, 0 being the lowest priority. This value is mapped to the
 scheduler and system dependant priority range of the OS.
     
*/
void kde_StubProcess_setPriority(kde_StubProcess* instPointer,int prio);

/** 
 Set the scheduler type. 
     
*/
void kde_StubProcess_setScheduler(kde_StubProcess* instPointer,int sched);

/**  Exchange all parameters with kdesu_stub. 
*/
int kde_StubProcess_ConverseStub(kde_StubProcess* instPointer,int check);

/**  Notify the taskbar that a new application has been started. 
*/
void kde_StubProcess_notifyTaskbar(kde_StubProcess* instPointer,qt_QString * suffix);

/**  
 This virtual function can be overloaded when special behaviour is
 desired. By default, it returns the value returned by @ref #KCookie.
     
*/
qt_QCString* kde_StubProcess_display(kde_StubProcess* instPointer);

/**  See @ref #display. 
*/
qt_QCString* kde_StubProcess_displayAuth(kde_StubProcess* instPointer);

/**  See @ref #display. 
*/
qt_QCString* kde_StubProcess_dcopServer(kde_StubProcess* instPointer);

/**  See @ref #display. 
*/
qt_QCString* kde_StubProcess_dcopAuth(kde_StubProcess* instPointer);

/**  See @ref #display. 
*/
qt_QCString* kde_StubProcess_iceAuth(kde_StubProcess* instPointer);

#endif
