00001
00023 #ifndef _TelepathyQt4_file_transfer_channel_creation_properties_h_HEADER_GUARD_
00024 #define _TelepathyQt4_file_transfer_channel_creation_properties_h_HEADER_GUARD_
00025
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029
00030 #include <TelepathyQt4/Constants>
00031 #include <TelepathyQt4/Global>
00032
00033 #include <QDateTime>
00034 #include <QMetaType>
00035 #include <QSharedDataPointer>
00036 #include <QString>
00037
00038 namespace Tp
00039 {
00040
00041 class TELEPATHY_QT4_EXPORT FileTransferChannelCreationProperties
00042 {
00043 public:
00044 FileTransferChannelCreationProperties();
00045 FileTransferChannelCreationProperties(const QString &suggestedFileName,
00046 const QString &contentType, qulonglong size);
00047 FileTransferChannelCreationProperties(const QString &path,
00048 const QString &contentType);
00049 FileTransferChannelCreationProperties(
00050 const FileTransferChannelCreationProperties &other);
00051 ~FileTransferChannelCreationProperties();
00052
00053 bool isValid() const { return mPriv.constData() != 0; }
00054
00055 FileTransferChannelCreationProperties &operator=(
00056 const FileTransferChannelCreationProperties &other);
00057 bool operator==(const FileTransferChannelCreationProperties &other) const;
00058
00059 FileTransferChannelCreationProperties &setContentHash(
00060 FileHashType contentHashType, const QString &contentHash);
00061 FileTransferChannelCreationProperties &setDescription(
00062 const QString &description);
00063 FileTransferChannelCreationProperties &setLastModificationTime(
00064 const QDateTime &lastModificationTime);
00065 FileTransferChannelCreationProperties &setUri(const QString &uri);
00066
00067
00068 QString suggestedFileName() const;
00069 QString contentType() const;
00070 qulonglong size() const;
00071
00072
00073 bool hasContentHash() const;
00074 FileHashType contentHashType() const;
00075 QString contentHash() const;
00076
00077 bool hasDescription() const;
00078 QString description() const;
00079
00080 bool hasLastModificationTime() const;
00081 QDateTime lastModificationTime() const;
00082
00083 bool hasUri() const;
00084 QString uri() const;
00085
00086 private:
00087 struct Private;
00088 friend struct Private;
00089 QSharedDataPointer<Private> mPriv;
00090 };
00091
00092 }
00093
00094 Q_DECLARE_METATYPE(Tp::FileTransferChannelCreationProperties);
00095
00096 #endif