diff options
Diffstat (limited to 'kresources/groupwise/soap/groupwiseserver.h')
-rw-r--r-- | kresources/groupwise/soap/groupwiseserver.h | 247 |
1 files changed, 0 insertions, 247 deletions
diff --git a/kresources/groupwise/soap/groupwiseserver.h b/kresources/groupwise/soap/groupwiseserver.h deleted file mode 100644 index 95218be06..000000000 --- a/kresources/groupwise/soap/groupwiseserver.h +++ /dev/null @@ -1,247 +0,0 @@ -/* - This file is part of KDE. - - Copyright (c) 2004 Cornelius Schumacher <[email protected]> - Copyright (c) 2004 Tobias Koenig <[email protected]> - - 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. -*/ -#ifndef GROUPWISESERVER_H -#define GROUPWISESERVER_H - -#include <kio/job.h> -#include <kio/jobclasses.h> -#include <tqapplication.h> -#include <tqmap.h> -#include <tqobject.h> -#include <tqstring.h> -#include <tqthread.h> -#include <tqvaluelist.h> - -#include <string> - -#include <kabc/addressee.h> -#include <libkcal/freebusy.h> - -#include "gwjobs.h" - -namespace KABC { - class AddresseeList; - class Resource; -} - -namespace KCal { -class Calendar; -class Incidence; -class ResourceCached; -} - -class ngwt__Settings; - -class KExtendedSocket; - -struct soap; - -class ngwt__Folder; -class ngwt__Item; -class ngwt__Appointment; -class ngwt__Mail; -class ngwt__Task; -class ngwt__Status; -class GroupWiseBinding; - -namespace GroupWise { - -enum ErrorCode { NoError, RefreshNeeded }; - -class AddressBook -{ - public: - typedef TQValueList<AddressBook> List; - - AddressBook() : isPersonal( false ), isFrequentContacts( false ), isSystemAddressBook( false ) {} - - TQString id; - TQString name; - TQString description; - bool isPersonal; - bool isFrequentContacts; - bool isSystemAddressBook; -}; - -class DeltaInfo -{ - public: - long count; - long firstSequence; - long lastSequence; - long lastTimePORebuild; -}; -} - -class GroupwiseServer : public TQObject -{ - Q_OBJECT - - - public: - bool checkResponse( int result, ngwt__Status *status ); - enum RetractCause { DueToResend, Other }; - GroupwiseServer( const TQString &url, const TQString &user, - const TQString &password, TQObject *parent ); - ~GroupwiseServer(); - - int error() const { return mError; } - TQString errorText() const { return mErrorText; } - - bool login(); - bool logout(); - - /** - * Send an accept message for an incidence organised by someone else to the server - */ - bool acceptIncidence( KCal::Incidence * ); - /** - * Add a new incidence to the server. This is a smart method that adds Incidences to the GroupWise server using the - * appropriate GroupWise call - own appointments are Sent, whereas appointments organized by others are Accepted. - */ - bool addIncidence( KCal::Incidence *, KCal::ResourceCached * ); - /** - * Alter an existing incidence on the server. This is a smart method that adds Incidences to the GroupWise server - * using the appropriate GroupWise call. If the item has no other attendees (personal), - * this is carried out with changeItem, otherwise it is retracted and resent. - */ - bool changeIncidence( KCal::Incidence * ); - /** - * send a Decline message for the given incidence to the server - */ - bool declineIncidence( KCal::Incidence * ); - /** - * delete an incidence from the server. This is a smart method that adds Incidences to the GroupWise server - * using the appropriate GroupWise call. If the item is personal, it is deleted. Items with attendees are Declined. - */ - bool deleteIncidence( KCal::Incidence * ); - /** - * @brief Retract a meeting request. - * This is needed to change a meeting, because you need to retract it from others' mailboxes before resending. - * @param causedByResend indicate if the retraction is caused by a resend, suppresses the retraction message in favour of the resent meeting. - */ - bool retractRequest( KCal::Incidence *, RetractCause cause ); - - /** - * @brief update a todo's completed state. - * @param the todo to set the completed state for. - */ - bool setCompleted( KCal::Todo * todo ); - - bool readCalendarSynchronous( KCal::Calendar *cal ); - - GroupWise::AddressBook::List addressBookList(); - - bool readAddressBooksSynchronous( const TQStringList &addrBookIds ); - bool updateAddressBooks( const TQStringList &addrBookIds, - const unsigned long startSequenceNumber, const unsigned long lastPORebuildTime ); - - bool insertAddressee( const TQString &addrBookId, KABC::Addressee& ); - bool changeAddressee( const KABC::Addressee& ); - bool removeAddressee( const KABC::Addressee& ); - - bool readFreeBusy( const TQString &email, const TQDate &start, - const TQDate &end, KCal::FreeBusy * ); - - bool dumpData(); - void dumpFolderList(); - -// bool getDelta(); - GroupWise::DeltaInfo getDeltaInfo( const TQStringList & addressBookIds ); - - bool getCategoryList(); - - int gSoapOpen( struct soap *soap, const char *endpoint, const char *host, - int port ); - int gSoapClose( struct soap *soap ); - int gSoapSendCallback( struct soap *soap, const char *s, size_t n ); - size_t gSoapReceiveCallback( struct soap *soap, char *s, size_t n ); - - void emitReadAddressBookTotalSize( int ); - void emitReadAddressBookProcessedSize( int ); - void emitErrorMessage( const TQString &, bool ); - void emitGotAddressees( const KABC::Addressee::List ); - - bool readUserSettings( ngwt__Settings *&settings ); - bool modifyUserSettings( TQMap<TQString, TQString> & ); - - TQString userEmail() const { return mUserEmail; } - TQString userName() const { return mUserName; } - TQString userUuid() const { return mUserUuid; } - - signals: - void readAddressBookTotalSize( int ); - void readAddressBookProcessedSize( int ); - void errorMessage( const TQString &, bool ); - void gotAddressees( const KABC::Addressee::List ); - - protected: - void dumpCalendarFolder( const std::string &id ); - - void dumpFolder( ngwt__Folder * ); - void dumpItem( ngwt__Item * ); - void dumpAppointment( ngwt__Appointment * ); - void dumpTask( ngwt__Task * ); - void dumpMail( ngwt__Mail * ); - - - /** - * Given a partial record ID, query the server for the full version from the calendar folder - */ - std::string getFullIDFor( const TQString & ); - - /** - * Check if an incidence involves other people - */ - bool iAmTheOrganizer( KCal::Incidence * ); - - void log( const TQString &prefix, const char *s, size_t n ); - - protected slots: - void slotSslError(); - - private: - TQString mUrl; - TQString mUser; - TQString mPassword; - bool mSSL; - - std::string mSession; - - TQString mUserName; - TQString mUserEmail; - TQString mUserUuid; - - std::string mCalendarFolder; - std::string mCheckListFolder; - - struct soap *mSoap; - GroupWiseBinding *mBinding; - - KExtendedSocket *m_sock; - - int mError; - TQString mErrorText; - - TQString mLogFile; -}; - -#endif |