Home · All Classes · All Namespaces · Modules · Functions · Files
file-transfer-channel-creation-properties.h
00001 
00023 #ifndef _TelepathyQt_file_transfer_channel_creation_properties_h_HEADER_GUARD_
00024 #define _TelepathyQt_file_transfer_channel_creation_properties_h_HEADER_GUARD_
00025 
00026 #ifndef IN_TP_QT_HEADER
00027 #error IN_TP_QT_HEADER
00028 #endif
00029 
00030 #include <TelepathyQt/Constants>
00031 #include <TelepathyQt/Global>
00032 
00033 #include <QDateTime>
00034 #include <QMetaType>
00035 #include <QSharedDataPointer>
00036 #include <QString>
00037 #include <QVariantMap>
00038 
00039 namespace Tp
00040 {
00041 
00042 class TP_QT_EXPORT FileTransferChannelCreationProperties
00043 {
00044 public:
00045     FileTransferChannelCreationProperties();
00046     FileTransferChannelCreationProperties(const QString &suggestedFileName,
00047             const QString &contentType, qulonglong size);
00048     FileTransferChannelCreationProperties(const QString &path,
00049             const QString &contentType);
00050     FileTransferChannelCreationProperties(
00051             const FileTransferChannelCreationProperties &other);
00052     ~FileTransferChannelCreationProperties();
00053 
00054     bool isValid() const { return mPriv.constData() != 0; }
00055 
00056     FileTransferChannelCreationProperties &operator=(
00057             const FileTransferChannelCreationProperties &other);
00058     bool operator==(const FileTransferChannelCreationProperties &other) const;
00059 
00060     FileTransferChannelCreationProperties &setContentHash(
00061             FileHashType contentHashType, const QString &contentHash);
00062     FileTransferChannelCreationProperties &setDescription(
00063             const QString &description);
00064     FileTransferChannelCreationProperties &setLastModificationTime(
00065             const QDateTime &lastModificationTime);
00066     FileTransferChannelCreationProperties &setUri(const QString &uri);
00067 
00068     /* mandatory parameters */
00069     QString suggestedFileName() const;
00070     QString contentType() const;
00071     qulonglong size() const;
00072 
00073     /* optional parameters */
00074     bool hasContentHash() const;
00075     FileHashType contentHashType() const;
00076     QString contentHash() const;
00077 
00078     bool hasDescription() const;
00079     QString description() const;
00080 
00081     bool hasLastModificationTime() const;
00082     QDateTime lastModificationTime() const;
00083 
00084     bool hasUri() const;
00085     QString uri() const;
00086 
00087     QVariantMap createRequest() const;
00088     QVariantMap createRequest(const QString &contactIdentifier) const;
00089     QVariantMap createRequest(uint handle) const;
00090 
00091 private:
00092     struct Private;
00093     friend struct Private;
00094     QSharedDataPointer<Private> mPriv;
00095 };
00096 
00097 } // Tp
00098 
00099 Q_DECLARE_METATYPE(Tp::FileTransferChannelCreationProperties);
00100 
00101 #endif


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt 0.9.7