diff options
Diffstat (limited to 'kbugbuster/backend/bugdetails.h')
-rw-r--r-- | kbugbuster/backend/bugdetails.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/kbugbuster/backend/bugdetails.h b/kbugbuster/backend/bugdetails.h new file mode 100644 index 00000000..08d20777 --- /dev/null +++ b/kbugbuster/backend/bugdetails.h @@ -0,0 +1,55 @@ +#ifndef __bugdetails_h__ +#define __bugdetails_h__ + +#include "person.h" +#include "bugdetailspart.h" +#include "bugdetailsimpl.h" + +#include <qvaluelist.h> + +#include <ksharedptr.h> + +class BugDetailsImpl; + +class BugDetails +{ +public: + typedef QValueList<BugDetails> List; + struct Attachment { + QByteArray contents; + QString filename; + }; + + BugDetails(); + BugDetails( BugDetailsImpl *impl ); + BugDetails( const BugDetails &other ); + BugDetails &operator=( const BugDetails &rhs ); + ~BugDetails(); + + QString version() const; + QString source() const; + QString compiler() const; + QString os() const; + BugDetailsPart::List parts() const; + void addAttachmentDetails( const QValueList<BugDetailsImpl::AttachmentDetails>& attch ); + QValueList<BugDetailsImpl::AttachmentDetails> attachmentDetails() const; + QValueList<BugDetails::Attachment> extractAttachments() const; + static QValueList<BugDetails::Attachment> extractAttachments( const QString& text ); + + QDateTime submissionDate() const; + int age() const; + + bool operator==( const BugDetails &rhs ); + + bool isNull() const { return m_impl == 0; } + +private: + BugDetailsImpl *impl() const { return m_impl; } + + KSharedPtr<BugDetailsImpl> m_impl; +}; + +#endif + +/* vim: set sw=4 ts=4 et softtabstop=4: */ + |