summaryrefslogtreecommitdiffstats
path: root/kbugbuster/backend/bugdetails.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbugbuster/backend/bugdetails.h')
-rw-r--r--kbugbuster/backend/bugdetails.h55
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: */
+