diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-26 13:17:50 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-26 13:17:50 -0600 |
commit | b363d2579af0a11b77e698aed2e1021c2233b644 (patch) | |
tree | f4a47b87354b7a6a3b266c8121bd8ddaeb7accaa /tderesources/carddav/job.h | |
parent | 61bddfe3a7226b18c68a76124b727c736f431688 (diff) | |
download | tdepim-b363d2579af0a11b77e698aed2e1021c2233b644.tar.gz tdepim-b363d2579af0a11b77e698aed2e1021c2233b644.zip |
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'tderesources/carddav/job.h')
-rw-r--r-- | tderesources/carddav/job.h | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/tderesources/carddav/job.h b/tderesources/carddav/job.h new file mode 100644 index 000000000..52a04bc7a --- /dev/null +++ b/tderesources/carddav/job.h @@ -0,0 +1,176 @@ +/*========================================================================= +| KCardDAV +|-------------------------------------------------------------------------- +| (c) 2010 Timothy Pearson +| +| This project is released under the GNU General Public License. +| Please see the file COPYING for more details. +|-------------------------------------------------------------------------- +| Job class for accessing remote address books. + ========================================================================*/ + +/*========================================================================= +| INCLUDES + ========================================================================*/ + +#ifndef KABCDAV_JOB_H +#define KABCDAV_JOB_H + +#include <tqthread.h> +#include <tqstring.h> +#include <tqdatetime.h> +#include <tqapplication.h> + +extern "C" { + #include <carddav.h> +} + +namespace KABC { + +/*========================================================================= +| CLASS + ========================================================================*/ + +/** + * Calendar job. + */ +class CardDavJob : public TQThread { + +public: + + /** + * @param url URL to load. + */ + CardDavJob(const TQString& url = TQString()); + + virtual ~CardDavJob(); + + /** + * Sets a new URL to load. + */ + virtual void setUrl(const TQString& s) { + mUrl = s; + } + + /** + * Sets whether to use UID (false) or URI (true) as an object's unique identifier + */ + virtual void setUseURI(bool b) { + mUseURI = b; + } + + /** + * Sets the parent qobject. + */ + virtual void setParent(TQObject *s) { + mParent = s; + } + + /** + * Sets the type (0==read, 1==write) + */ + virtual void setType(int s) { + mType = s; + } + + /** + * @return URL to load. + */ + virtual TQString url() const { + return mUrl; + } + + /** + * @return whether to use UID (false) or URI (true) as an object's unique identifier + */ + virtual bool getUseURI() { + return mUseURI; + } + + /** + * @return parent object + */ + virtual TQObject *parent() { + return mParent; + } + + /** + * @return type + */ + virtual int type() { + return mType; + } + + /** + * @return true if downloading process failed. + */ + virtual bool error() const { + return mError; + } + + /** + * @return an error string. + */ + virtual TQString errorString() const { + return mErrorString; + } + + /** + * @return an error number. + */ + virtual long errorNumber() const { + return mErrorNumber; + } + +protected: + + virtual void run(); + + /** + * Main run method for jobs. Jobs should not override run() method. + * Instead of this they should override this one. + * @param carddavRuntime specific libcarddav runtime information. This pointer should not be saved for the usage + * outside of runJob. + * @return libcarddav response code (see CARDDAV_RESPONSE) + */ + virtual int runJob(runtime_info* carddavRuntime) = 0; + + /** + * Some cleaning. Jobs may (and usually should) override this method. + */ + virtual void cleanJob() { + mError = false; + mErrorString = ""; + mErrorNumber = 0; + } + + /** + * Sets an error string to @p err. Also sets an error flag. + */ + void setErrorString(const TQString& str, const long number); + + /** + * Process an error. + * Subclasses can overwrite this method, if some special error message handling + * should be done. Call setErrorString() to set the error after processing is done. + * @param err error structure. + */ + virtual void processError(const carddav_error* err); + +private: + + TQString mUrl; + bool mError; + TQString mErrorString; + long mErrorNumber; + TQObject *mParent; + int mType; + bool mUseURI; + + void enableCarddavDebug(runtime_info*); +}; + +} // namespace KABC + +#endif // KABCDAV_JOB_H + |