/**
 * @file
 * $Id: enum.h 2579 2005-10-04 16:15:50Z plasmahh $
 * $Revision: 2579 $
 * $Author: plasmahh $
 * $Date: 2005-10-04 18:15:50 +0200 (Di, 04 Okt 2005) $
 *
 * This file is part of The iWear Framework.
 *
 * The iWear Framework 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 as in version 2 of the License.

 * 
 * The iWear Framework is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * The iWear Framework; if not, write to the Free Software Foundation, Inc., 59
 * Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef __IWREMOTE_CALLHANDLER_H
#define __IWREMOTE_CALLHANDLER_H

#include <iwremote/remoteconnection.h>

namespace iwear
{
    namespace net
    {

/**
 * The callhandler is there to continue a call
 */
class CallHandler
{
private:
protected:
public:
    // for safety checking:
    RemoteObject* ro;
    uint32_t function_id;

    RemoteConnectionPtr con;
    chanid_t channel;
    uint32_t defer_id;

    float timeout;

    bool done( void );

    CallHandler( const RemoteConnectionPtr& c, chanid_t ch, uint32_t d, RemoteObject* r, uint32_t fid ) 
	: ro(r), function_id(fid), con(c), channel(ch), defer_id(d),timeout(5.0) { }
};

}
}
#endif
