diff options
Diffstat (limited to 'kopete/protocols/groupwise/libgroupwise/tasks/connectiontask.cpp')
-rw-r--r-- | kopete/protocols/groupwise/libgroupwise/tasks/connectiontask.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/kopete/protocols/groupwise/libgroupwise/tasks/connectiontask.cpp b/kopete/protocols/groupwise/libgroupwise/tasks/connectiontask.cpp new file mode 100644 index 00000000..3d041208 --- /dev/null +++ b/kopete/protocols/groupwise/libgroupwise/tasks/connectiontask.cpp @@ -0,0 +1,55 @@ +/* + Kopete Groupwise Protocol + connectiontask.cpp - Event Handling task responsible for all connection related events + + Copyright (c) 2004 SUSE Linux AG http://www.suse.com + + Based on Iris, Copyright (C) 2003 Justin Karneges + + Kopete (c) 2002-2004 by the Kopete developers <[email protected]> + + ************************************************************************* + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + ************************************************************************* +*/ +#include "client.h" + +#include "connectiontask.h" + +ConnectionTask::ConnectionTask(Task* parent): EventTask(parent) +{ + registerEvent( GroupWise::UserDisconnect ); + registerEvent( GroupWise::ServerDisconnect ); +} + + +ConnectionTask::~ConnectionTask() +{ +} + +bool ConnectionTask::take( Transfer * transfer ) +{ + EventTransfer * incomingEvent; + if ( forMe( transfer, incomingEvent ) ) + { + client()->debug( "Got a connection event:" ); + switch ( incomingEvent->eventType() ) + { + case GroupWise::UserDisconnect: + emit connectedElsewhere(); + break; + case GroupWise::ServerDisconnect: + emit serverDisconnect(); + break; + } + return true; + } + return false; +} + +#include "connectiontask.moc" |