diff --git a/RingD.cpp b/RingD.cpp index 0e6249f8ca6f8464a31bfc8ecedc9b1d6ef18fea..fe284c63d9226590c1bbd4eb736f70c149dffe76 100644 --- a/RingD.cpp +++ b/RingD.cpp @@ -98,6 +98,35 @@ void RingClientUWP::RingD::sendAccountTextMessage(String^ message) } } +// send message during video call +void RingClientUWP::RingD::sendSIPTextMessage(String^ message) +{ + /* account id */ + auto accountId = AccountsViewModel::instance->selectedAccount->accountID_; + std::wstring accountId2(accountId->Begin()); + std::string accountId3(accountId2.begin(), accountId2.end()); + + /* call */ + auto item = SmartPanelItemsViewModel::instance->_selectedItem; + auto callId = item->_callId; + std::wstring callId2(callId->Begin()); + std::string callId3(callId2.begin(), callId2.end()); + + /* recipient */ + auto contact = item->_contact; + + /* payload(s) */ + std::wstring message2(message->Begin()); + std::string message3(message2.begin(), message2.end()); + std::map<std::string, std::string> payloads; + payloads["text/plain"] = message3; + + /* daemon */ + DRing::sendTextMessage(callId3, payloads, accountId3, true /*not used*/); + contact->_conversation->addMessage(""/* date not yet used*/, MSG_FROM_ME, message); + contact->saveConversationToFile(); +} + void RingD::createRINGAccount(String^ alias) { diff --git a/RingD.h b/RingD.h index b8177bc49f14c1bad3a4d787424da9d10138d7a8..d8991f15137795c4bc805c0c8f8b68bdb78af384 100644 --- a/RingD.h +++ b/RingD.h @@ -76,6 +76,7 @@ internal: void startDaemon(); void reloadAccountList(); void sendAccountTextMessage(String^ message); + void sendSIPTextMessage(String^ message); void createRINGAccount(String^ alias); void createSIPAccount(String^ alias); void refuseIncommingCall(String^ call); diff --git a/VideoPage.xaml.cpp b/VideoPage.xaml.cpp index 1d44ac6d09307d8d904534e2290a9acfb8f6d009..f6f5f54e151c99e8462db51d6675682eb467e5ba 100644 --- a/VideoPage.xaml.cpp +++ b/VideoPage.xaml.cpp @@ -186,7 +186,7 @@ RingClientUWP::Views::VideoPage::sendMessage() if (!contact || txt->IsEmpty()) return; - RingD::instance->sendAccountTextMessage(txt); + RingD::instance->sendSIPTextMessage(txt); scrollDown(); }