diff --git a/src/chat/chat-message/chat-message.cpp b/src/chat/chat-message/chat-message.cpp index ed8326745..a040301fe 100644 --- a/src/chat/chat-message/chat-message.cpp +++ b/src/chat/chat-message/chat-message.cpp @@ -187,7 +187,7 @@ void ChatMessagePrivate::setFileTransferFilepath (const string &path) { const string &ChatMessagePrivate::getAppdata () const { for (const Content *c : contents) { - if (c->getContentType().isFile()) { + if (c->isFile()) { FileContent *fileContent = (FileContent *)c; return fileContent->getAppData("legacy"); } @@ -197,7 +197,7 @@ const string &ChatMessagePrivate::getAppdata () const { void ChatMessagePrivate::setAppdata (const string &data) { for (const Content *c : contents) { - if (c->getContentType().isFile()) { + if (c->isFile()) { FileContent *fileContent = (FileContent *)c; fileContent->setAppData("legacy", data); break; @@ -281,7 +281,7 @@ LinphoneContent *ChatMessagePrivate::getFileTransferInformation () const { return getFileTransferContent()->toLinphoneContent(); } for (const Content *c : contents) { - if (c->getContentType().isFile()) { + if (c->isFile()) { FileContent *fileContent = (FileContent *)c; return fileContent->toLinphoneContent(); } @@ -657,7 +657,7 @@ void ChatMessagePrivate::store() { bool messageToBeStored = false; for (Content *c : contents) { ContentType contentType = c->getContentType(); - if (contentType == ContentType::FileTransfer || contentType == ContentType::PlainText || contentType.isFile()) { + if (contentType == ContentType::FileTransfer || contentType == ContentType::PlainText || c->isFile()) { messageToBeStored = true; } } diff --git a/src/chat/modifier/file-transfer-chat-message-modifier.cpp b/src/chat/modifier/file-transfer-chat-message-modifier.cpp index a6eb86dcb..fff4c1137 100644 --- a/src/chat/modifier/file-transfer-chat-message-modifier.cpp +++ b/src/chat/modifier/file-transfer-chat-message-modifier.cpp @@ -48,9 +48,8 @@ ChatMessageModifier::Result FileTransferChatMessageModifier::encode (const share currentFileContentToTransfer = nullptr; // For each FileContent, upload it and create a FileTransferContent for (Content *content : message->getContents()) { - ContentType contentType = content->getContentType(); - if (contentType.isFile()) { - lInfo() << "Found content with type " << contentType.asString() << ", set it for file upload"; + if (content->isFile()) { + lInfo() << "Found file content, set it for file upload"; FileContent *fileContent = (FileContent *)content; currentFileContentToTransfer = fileContent; break; diff --git a/src/content/content-type.cpp b/src/content/content-type.cpp index 7ae70569a..66b22e7f9 100644 --- a/src/content/content-type.cpp +++ b/src/content/content-type.cpp @@ -161,10 +161,6 @@ bool ContentType::isValid () const { return !d->type.empty() && !d->subType.empty(); } -bool ContentType::isFile () const { - return isFile(*this); -} - string ContentType::asString () const { L_D(); if (isValid()) { @@ -176,8 +172,14 @@ string ContentType::asString () const { return ""; } + +bool ContentType::isFile () const { + // TODO Remove when not needed anymore in step 2.1 of maindb + return isFile(*this); +} + bool ContentType::isFile (const ContentType &contentType) { - // TODO Improve. + // TODO Remove when not needed anymore in step 2.1 of maindb return contentType != FileTransfer && contentType != PlainText && contentType != ExternalBody && diff --git a/src/content/content.cpp b/src/content/content.cpp index c13ef2487..732996494 100644 --- a/src/content/content.cpp +++ b/src/content/content.cpp @@ -168,6 +168,10 @@ bool Content::isValid () const { return d->contentType.isValid() || (d->contentType.isEmpty() && d->body.empty()); } +bool Content::isFile () const { + return false; +} + LinphoneContent *Content::toLinphoneContent () const { LinphoneContent *content = linphone_core_create_content(nullptr); linphone_content_set_type(content, getContentType().getType().c_str()); diff --git a/src/content/content.h b/src/content/content.h index cbb1cf2c4..4885feadf 100644 --- a/src/content/content.h +++ b/src/content/content.h @@ -69,6 +69,8 @@ public: bool isEmpty () const; + virtual bool isFile () const; + // TODO: Remove me later. virtual LinphoneContent *toLinphoneContent () const; diff --git a/src/content/file-content.cpp b/src/content/file-content.cpp index 241a345c1..f4e8c935a 100644 --- a/src/content/file-content.cpp +++ b/src/content/file-content.cpp @@ -115,6 +115,10 @@ const string &FileContent::getFilePath () const { return d->filePath; } +bool FileContent::isFile () const { + return true; +} + LinphoneContent *FileContent::toLinphoneContent () const { LinphoneContent *content = linphone_core_create_content(nullptr); linphone_content_set_type(content, getContentType().getType().c_str()); diff --git a/src/content/file-content.h b/src/content/file-content.h index 5907c05a7..fcb4b521b 100644 --- a/src/content/file-content.h +++ b/src/content/file-content.h @@ -48,6 +48,8 @@ public: void setFilePath (const std::string &path); const std::string &getFilePath () const; + bool isFile () const override; + // TODO: Remove me later. LinphoneContent *toLinphoneContent () const override; diff --git a/src/content/file-transfer-content.cpp b/src/content/file-transfer-content.cpp index bbd2f13a1..4ce62bc19 100644 --- a/src/content/file-transfer-content.cpp +++ b/src/content/file-transfer-content.cpp @@ -155,4 +155,8 @@ LinphoneContent *FileTransferContent::toLinphoneContent () const { return content; } +bool FileTransferContent::isFile () const { + return false; +} + LINPHONE_END_NAMESPACE diff --git a/src/content/file-transfer-content.h b/src/content/file-transfer-content.h index 709e93f4c..4b668a0ac 100644 --- a/src/content/file-transfer-content.h +++ b/src/content/file-transfer-content.h @@ -55,6 +55,8 @@ public: void setFileSize (size_t size); size_t getFileSize () const; + bool isFile () const override; + // TODO: Remove me later. LinphoneContent *toLinphoneContent () const override; diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index 7695be90c..d974be463 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -263,7 +263,7 @@ void MainDbPrivate::insertContent (long long eventId, const Content &content) { soci::use(body); const long long &chatMessageContentId = dbSession.getLastInsertId(); - if (content.getContentType().isFile()) { + if (content.isFile()) { const FileContent &fileContent = static_cast(content); const string &name = fileContent.getFileName(); const size_t &size = fileContent.getFileSize();