|
|
|
/*
|
|
|
|
* 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( KIO::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( KIO::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( KIO::Slave* slave, const KURL& url, const TQString& email );
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieves the delegates for the user encoded in @p url.
|
|
|
|
*/
|
|
|
|
GetDelegatesJob* getDelegates( KIO::Slave* slave, const KURL& url );
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds the mailbox of another user represented by @p email to the users 'Other Users' namespace.
|
|
|
|
*/
|
|
|
|
AddOtherUserJob* addOtherUser( KIO::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( KIO::Slave* slave, const KURL& url, const TQString& email );
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieves the list of all other users.
|
|
|
|
*/
|
|
|
|
GetOtherUsersJob* getOtherUsers( KIO::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( KIO::Slave* slave, const KURL& url, bool enabled, const TQString& msg );
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieves the out-of-office data.
|
|
|
|
*/
|
|
|
|
GetOutOfOfficeJob* getOutOfOffice( KIO::Slave* slave, const KURL& url );
|
|
|
|
|
|
|
|
|
|
|
|
class SetPasswordJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SetPasswordJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
};
|
|
|
|
|
|
|
|
class SetDelegateJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SetDelegateJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
};
|
|
|
|
|
|
|
|
class DeleteDelegateJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
DeleteDelegateJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
};
|
|
|
|
|
|
|
|
class GetDelegatesJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
GetDelegatesJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
|
|
|
|
Delegate::List delegates() const;
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void slotInfoMessage( KIO::Job*, const TQString& );
|
|
|
|
|
|
|
|
private:
|
|
|
|
Delegate::List mDelegates;
|
|
|
|
};
|
|
|
|
|
|
|
|
class AddOtherUserJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AddOtherUserJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
};
|
|
|
|
|
|
|
|
class DeleteOtherUserJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
DeleteOtherUserJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
};
|
|
|
|
|
|
|
|
class GetOtherUsersJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
GetOtherUsersJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
|
|
|
|
TQStringList otherUsers() const;
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void slotInfoMessage( KIO::Job*, const TQString& );
|
|
|
|
|
|
|
|
private:
|
|
|
|
TQStringList mOtherUsers;
|
|
|
|
};
|
|
|
|
|
|
|
|
class SetOutOfOfficeJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SetOutOfOfficeJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
};
|
|
|
|
|
|
|
|
class GetOutOfOfficeJob : public KIO::SimpleJob
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
GetOutOfOfficeJob( const KURL& url, const TQByteArray &packedArgs, bool showProgressInfo );
|
|
|
|
|
|
|
|
bool enabled() const;
|
|
|
|
TQString message() const;
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void slotInfoMessage( KIO::Job*, const TQString& );
|
|
|
|
|
|
|
|
private:
|
|
|
|
bool mEnabled;
|
|
|
|
TQString mMessage;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|