diff options
Diffstat (limited to 'tderesources/scalix/scalixadmin/jobs.h')
-rw-r--r-- | tderesources/scalix/scalixadmin/jobs.h | 205 |
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 |