mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-18 11:38:08 +00:00
Added and using isFileTransfer
This commit is contained in:
parent
1b74fdadef
commit
dbdbeaa46f
9 changed files with 28 additions and 13 deletions
|
|
@ -162,7 +162,7 @@ const Content* ChatMessagePrivate::getTextContent() const {
|
|||
|
||||
bool ChatMessagePrivate::hasFileTransferContent() const {
|
||||
for (const Content *c : contents) {
|
||||
if (c->getContentType() == ContentType::FileTransfer) {
|
||||
if (c->isFileTransfer()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -171,7 +171,7 @@ bool ChatMessagePrivate::hasFileTransferContent() const {
|
|||
|
||||
const Content* ChatMessagePrivate::getFileTransferContent() const {
|
||||
for (const Content *c : contents) {
|
||||
if (c->getContentType() == ContentType::FileTransfer) {
|
||||
if (c->isFileTransfer()) {
|
||||
return c;
|
||||
}
|
||||
}
|
||||
|
|
@ -321,8 +321,8 @@ bool ChatMessagePrivate::downloadFile () {
|
|||
L_Q();
|
||||
|
||||
for (auto &content : contents)
|
||||
if (content->getContentType() == ContentType::FileTransfer)
|
||||
return q->downloadFile(*static_cast<FileTransferContent *>(content));
|
||||
if (content->isFileTransfer())
|
||||
return q->downloadFile(static_cast<FileTransferContent *>(content));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
@ -674,8 +674,8 @@ void ChatMessagePrivate::send () {
|
|||
list<Content*>::iterator it = contents.begin();
|
||||
while (it != contents.end()) {
|
||||
Content *content = *it;
|
||||
if (content->getContentType() == ContentType::FileTransfer) {
|
||||
FileTransferContent *fileTransferContent = (FileTransferContent *)content;
|
||||
if (content->isFileTransfer()) {
|
||||
FileTransferContent *fileTransferContent = static_cast<FileTransferContent *>(content);
|
||||
it = contents.erase(it);
|
||||
q->addContent(fileTransferContent->getFileContent());
|
||||
delete fileTransferContent;
|
||||
|
|
@ -965,9 +965,9 @@ void ChatMessage::sendDisplayNotification () {
|
|||
d->sendImdn(Imdn::Type::Display, LinphoneReasonNone);
|
||||
}
|
||||
|
||||
bool ChatMessage::downloadFile(FileTransferContent &fileTransferContent) {
|
||||
bool ChatMessage::downloadFile(FileTransferContent *fileTransferContent) {
|
||||
L_D();
|
||||
return d->fileTransferChatMessageModifier.downloadFile(getSharedFromThis(), &fileTransferContent);
|
||||
return d->fileTransferChatMessageModifier.downloadFile(getSharedFromThis(), fileTransferContent);
|
||||
}
|
||||
|
||||
void ChatMessage::cancelFileTransfer () {
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ public:
|
|||
void addCustomHeader (const std::string &headerName, const std::string &headerValue);
|
||||
void removeCustomHeader (const std::string &headerName);
|
||||
|
||||
bool downloadFile (FileTransferContent &content);
|
||||
bool downloadFile (FileTransferContent *content);
|
||||
|
||||
private:
|
||||
ChatMessage (const std::shared_ptr<AbstractChatRoom> &chatRoom, ChatMessage::Direction direction);
|
||||
|
|
|
|||
|
|
@ -587,8 +587,8 @@ ChatMessageModifier::Result FileTransferChatMessageModifier::decode (const share
|
|||
}
|
||||
|
||||
for (Content *content : message->getContents()) {
|
||||
if (content->getContentType() == ContentType::FileTransfer) {
|
||||
FileTransferContent *fileTransferContent = (FileTransferContent *)content;
|
||||
if (content->isFileTransfer()) {
|
||||
FileTransferContent *fileTransferContent = static_cast<FileTransferContent *>(content);
|
||||
fillFileTransferContentInformationsFromVndGsmaRcsFtHttpXml(fileTransferContent);
|
||||
}
|
||||
}
|
||||
|
|
@ -779,8 +779,8 @@ void FileTransferChatMessageModifier::onRecvEnd (belle_sip_user_body_handler_t *
|
|||
FileContent *fileContent = currentFileContentToTransfer;
|
||||
message->addContent(fileContent);
|
||||
for (Content *content : message->getContents()) {
|
||||
if (content->getContentType() == ContentType::FileTransfer) {
|
||||
FileTransferContent *fileTransferContent = (FileTransferContent*)content;
|
||||
if (content->isFileTransfer()) {
|
||||
FileTransferContent *fileTransferContent = static_cast<FileTransferContent *>(content);
|
||||
if (fileTransferContent->getFileContent() == fileContent) {
|
||||
message->removeContent(content);
|
||||
delete fileTransferContent;
|
||||
|
|
|
|||
|
|
@ -172,4 +172,8 @@ bool Content::isFile () const {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool Content::isFileTransfer () const {
|
||||
return false;
|
||||
}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ public:
|
|||
bool isEmpty () const;
|
||||
|
||||
virtual bool isFile () const;
|
||||
virtual bool isFileTransfer () const;
|
||||
|
||||
protected:
|
||||
explicit Content (ContentPrivate &p);
|
||||
|
|
|
|||
|
|
@ -119,4 +119,8 @@ bool FileContent::isFile () const {
|
|||
return true;
|
||||
}
|
||||
|
||||
bool FileContent::isFileTransfer () const {
|
||||
return false;
|
||||
}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ public:
|
|||
const std::string &getFilePath () const;
|
||||
|
||||
bool isFile () const override;
|
||||
bool isFileTransfer () const override;
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(FileContent);
|
||||
|
|
|
|||
|
|
@ -170,4 +170,8 @@ bool FileTransferContent::isFile () const {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool FileTransferContent::isFileTransfer () const {
|
||||
return true;
|
||||
}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ public:
|
|||
const char *getFileKeyAsString () const;
|
||||
|
||||
bool isFile () const override;
|
||||
bool isFileTransfer () const override;
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(FileTransferContent);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue