summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/groupwise/libgroupwise/eventtransfer.h
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/protocols/groupwise/libgroupwise/eventtransfer.h')
-rw-r--r--kopete/protocols/groupwise/libgroupwise/eventtransfer.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/kopete/protocols/groupwise/libgroupwise/eventtransfer.h b/kopete/protocols/groupwise/libgroupwise/eventtransfer.h
new file mode 100644
index 00000000..335d4593
--- /dev/null
+++ b/kopete/protocols/groupwise/libgroupwise/eventtransfer.h
@@ -0,0 +1,110 @@
+/*
+ eventtransfer.h - Kopete Groupwise Protocol
+
+ Copyright (c) 2004 SUSE Linux AG http://www.suse.com
+
+ Kopete (c) 2002-2004 by the Kopete developers <[email protected]>
+
+ *************************************************************************
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2 of the License, or (at your option) any later version. *
+ * *
+ *************************************************************************
+*/
+
+#ifndef GW_EVENTTRANSFER_H
+#define GW_EVENTTRANSFER_H
+
+#include <qcstring.h>
+#include <qdatetime.h>
+
+#include "gwerror.h"
+
+#include "transfer.h"
+
+namespace Event {
+
+}
+
+/**
+ * Transfer representing an event, a message generated by the server in response to external stimulus
+ * This class can contain varying data items depending on the type of event.
+ * You can query which data is present before trying to access it
+ * @author Kopete Developers
+ */
+class EventTransfer : public Transfer
+{
+public:
+ /**
+ * Flags describing the possible contents of an event transfer
+ */
+ enum Contents { EventType = 0x00000001,
+ Source = 0x00000002,
+ TimeStamp = 0x00000004,
+ Guid = 0x00000008,
+ Flags = 0x00000010,
+ Message = 0x00000020,
+ Status = 0x00000040,
+ StatusText = 0x00000080 };
+ /**
+ * Constructor
+ * @param eventType the event code describing the event, see @refGroupWise::Event.
+ * @param source the user generating the event.
+ * @param timeStamp the time at which the event was received.
+ */
+ EventTransfer( const Q_UINT32 eventType, const QString & source, QDateTime timeStamp );
+ ~EventTransfer();
+ /**
+ * Access the bitmask that describes the transfer's contents. Use @ref Contents to determine what it contains
+ */
+ Q_UINT32 contents();
+ /**
+ * Convenience accessors to see what the transfer contains
+ */
+ bool hasEventType();
+ bool hasSource();
+ bool hasTimeStamp();
+ bool hasGuid();
+ bool hasFlags();
+ bool hasMessage();
+ bool hasStatus();
+ bool hasStatusText();
+
+ /**
+ * Accessors for the transfer's contents
+ */
+ TransferType type() { return Transfer::EventTransfer; }
+ int eventType();
+ QString source();
+ QDateTime timeStamp();
+ GroupWise::ConferenceGuid guid();
+ Q_UINT32 flags();
+ QString message();
+ Q_UINT16 status();
+ QString statusText();
+
+ /**
+ * Mutators to set the transfer's contents
+ */
+ void setGuid( const GroupWise::ConferenceGuid & guid );
+ void setFlags( const Q_UINT32 flags );
+ void setMessage( const QString & message );
+ void setStatus( const Q_UINT16 status );
+ void setStatusText( const QString & statusText);
+
+private:
+ Q_UINT32 m_contentFlags;
+ int m_eventType;
+ QString m_source;
+ QDateTime m_timeStamp;
+ GroupWise::ConferenceGuid m_guid;
+ Q_UINT32 m_flags;
+ QString m_message;
+ Q_UINT16 m_status;
+ QString m_statusText;
+};
+
+#endif