summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/groupwise/libgroupwise/tasks/logintask.h
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/protocols/groupwise/libgroupwise/tasks/logintask.h')
-rw-r--r--kopete/protocols/groupwise/libgroupwise/tasks/logintask.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/kopete/protocols/groupwise/libgroupwise/tasks/logintask.h b/kopete/protocols/groupwise/libgroupwise/tasks/logintask.h
new file mode 100644
index 00000000..0b2acdfd
--- /dev/null
+++ b/kopete/protocols/groupwise/libgroupwise/tasks/logintask.h
@@ -0,0 +1,64 @@
+/*
+ Kopete Groupwise Protocol
+ logintask.h - Send our credentials to the server and process the contact list and privacy details that it returns.
+
+ 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. *
+ * *
+ *************************************************************************
+*/
+
+#ifndef LOGINTASK_H
+#define LOGINTASK_H
+
+#include "requesttask.h"
+
+using namespace GroupWise;
+
+/**
+@author Kopete Developers
+*/
+class LoginTask : public RequestTask
+{
+Q_OBJECT
+public:
+ LoginTask( Task * parent );
+ ~LoginTask();
+ /**
+ * Get the login fields ready to go
+ */
+ void initialise();
+ /**
+ * Only accepts the contactlist that comes back from the server,
+ * processes it and notifies the client of the contactlist
+ */
+ bool take( Transfer * transfer );
+protected:
+ void extractFolder( Field::MultiField * folderContainer );
+ void extractContact( Field::MultiField * contactContainer );
+ ContactDetails extractUserDetails( Field::FieldList & fields );
+ void extractPrivacy( Field::FieldList & fields );
+ QStringList readPrivacyItems( const QCString & tag, Field::FieldList & fields );
+ void extractCustomStatuses( Field::FieldList & fields );
+ void extractKeepalivePeriod( Field::FieldList & fields );
+signals:
+ void gotMyself( const GroupWise::ContactDetails & );
+ void gotFolder( const FolderItem & );
+ void gotContact( const ContactItem & );
+ void gotContactUserDetails( const GroupWise::ContactDetails & );
+ void gotPrivacySettings( bool locked, bool defaultDeny, const QStringList & allowList, const QStringList & denyList );
+ void gotCustomStatus( const GroupWise::CustomStatus & );
+ void gotKeepalivePeriod( int );
+};
+
+#endif