summaryrefslogtreecommitdiffstats
path: root/tderesources/scalix/scalixadmin/jobs.h
diff options
context:
space:
mode:
Diffstat (limited to 'tderesources/scalix/scalixadmin/jobs.h')
-rw-r--r--tderesources/scalix/scalixadmin/jobs.h205
1 files changed, 205 insertions, 0 deletions
diff --git a/tderesources/scalix/scalixadmin/jobs.h b/tderesources/scalix/scalixadmin/jobs.h
new file mode 100644
index 000000000..0c73fb507
--- /dev/null
+++ b/tderesources/scalix/scalixadmin/jobs.h
@@ -0,0 +1,205 @@
+/*
+ * This file is part of ScalixAdmin.
+ *
+ * Copyright (C) 2007 Trolltech ASA. All rights reserved.
+ *
+ * This program 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <kio/job.h>
+
+#ifndef JOBS_H
+#define JOBS_H
+
+namespace Scalix {
+
+ enum DelegateTypes
+ {
+ SendOnBehalfOf = 1,
+ SeePrivate = 2,
+ GetMeetings = 4,
+ InsteadOfMe = 8
+ };
+
+ class SetPasswordJob;
+ class SetDelegateJob;
+ class DeleteDelegateJob;
+ class GetDelegatesJob;
+ class AddOtherUserJob;
+ class DeleteOtherUserJob;
+ class GetOtherUsersJob;
+ class SetOutOfOfficeJob;
+ class GetOutOfOfficeJob;
+
+ class Delegate
+ {
+ public:
+ typedef TQValueList<Delegate> List;
+
+ Delegate();
+ Delegate( const TQString &email, int rights );
+
+ bool isValid() const;
+
+ TQString email() const;
+ int rights() const;
+
+ static TQString rightsAsString( int rights );
+
+ private:
+ TQString mEmail;
+ int mRights;
+ };
+
+ /**
+ * Sets/Changes the password of the user encoded in @p url.
+ */
+ SetPasswordJob* setPassword( TDEIO::Slave* slave, const KURL& url, const TQString& oldPassword, const TQString& newPassword );
+
+ /**
+ * Adds a delegate represented by @p email with the given @p params for the user encoded in @p url.
+ */
+ SetDelegateJob* setDelegate( TDEIO::Slave* slave, const KURL& url, const TQString& email, int params );
+
+ /**
+ * Deletes the delegate represented by @p email for the user encoded in @p url.
+ */
+ DeleteDelegateJob* deleteDelegate( TDEIO::Slave* slave, const KURL& url, const TQString& email );
+
+ /**
+ * Retrieves the delegates for the user encoded in @p url.
+ */
+ GetDelegatesJob* getDelegates( TDEIO::Slave* slave, const KURL& url );
+
+ /**
+ * Adds the mailbox of another user represented by @p email to the users 'Other Users' namespace.
+ */
+ AddOtherUserJob* addOtherUser( TDEIO::Slave* slave, const KURL& url, const TQString& email );
+
+ /**
+ * Deletes the mailbox of another user represented by @p email from the users 'Other Users' namespace.
+ */
+ DeleteOtherUserJob* deleteOtherUser( TDEIO::Slave* slave, const KURL& url, const TQString& email );
+
+ /**
+ * Retrieves the list of all other users.
+ */
+ GetOtherUsersJob* getOtherUsers( TDEIO::Slave* slave, const KURL& url );
+
+ /**
+ * Sets the out-of-office data.
+ *
+ * @param enabled Whether the out-of-office functionality is enabled.
+ * @param msg The out-of-office message.
+ */
+ SetOutOfOfficeJob* setOutOfOffice( TDEIO::Slave* slave, const KURL& url, bool enabled, const TQString& msg );
+
+ /**
+ * Retrieves the out-of-office data.
+ */
+ GetOutOfOfficeJob* getOutOfOffice( TDEIO::Slave* slave, const KURL& url );
+
+
+ class SetPasswordJob : public TDEIO::SimpleJob
+ {
+ public:
+ SetPasswordJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+ };
+
+ class SetDelegateJob : public TDEIO::SimpleJob
+ {
+ public:
+ SetDelegateJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+ };
+
+ class DeleteDelegateJob : public TDEIO::SimpleJob
+ {
+ public:
+ DeleteDelegateJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+ };
+
+ class GetDelegatesJob : public TDEIO::SimpleJob
+ {
+ Q_OBJECT
+
+
+ public:
+ GetDelegatesJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+
+ Delegate::List delegates() const;
+
+ private slots:
+ void slotInfoMessage( TDEIO::Job*, const TQString& );
+
+ private:
+ Delegate::List mDelegates;
+ };
+
+ class AddOtherUserJob : public TDEIO::SimpleJob
+ {
+ public:
+ AddOtherUserJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+ };
+
+ class DeleteOtherUserJob : public TDEIO::SimpleJob
+ {
+ public:
+ DeleteOtherUserJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+ };
+
+ class GetOtherUsersJob : public TDEIO::SimpleJob
+ {
+ Q_OBJECT
+
+
+ public:
+ GetOtherUsersJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+
+ TQStringList otherUsers() const;
+
+ private slots:
+ void slotInfoMessage( TDEIO::Job*, const TQString& );
+
+ private:
+ TQStringList mOtherUsers;
+ };
+
+ class SetOutOfOfficeJob : public TDEIO::SimpleJob
+ {
+ public:
+ SetOutOfOfficeJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+ };
+
+ class GetOutOfOfficeJob : public TDEIO::SimpleJob
+ {
+ Q_OBJECT
+
+
+ public:
+ GetOutOfOfficeJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
+
+ bool enabled() const;
+ TQString message() const;
+
+ private slots:
+ void slotInfoMessage( TDEIO::Job*, const TQString& );
+
+ private:
+ bool mEnabled;
+ TQString mMessage;
+ };
+}
+
+#endif