diff --git a/RingD.cpp b/RingD.cpp index 2cdf027b8e2f72ddf6e5f784efa868980d7bd87c..5922548101be32deb5f27d07714f85377a8d98a1 100644 --- a/RingD.cpp +++ b/RingD.cpp @@ -233,9 +233,28 @@ void RingClientUWP::RingD::askToExportOnRing(String ^ accountId, String ^ passwo tasksList_.push(task); } +void RingClientUWP::RingD::eraseCacheFolder() +{ + StorageFolder^ localFolder = ApplicationData::Current->LocalFolder; + String^ folderName = ".cache"; + + task<IStorageItem^>(localFolder->TryGetItemAsync(folderName)).then([this](IStorageItem^ folder) + { + if (folder) { + MSG_("erasing cache folder."); + folder->DeleteAsync(); + } + else { + WNG_("cache folder not found."); + } + }); +} + void RingClientUWP::RingD::startDaemon() { + eraseCacheFolder(); + create_task([&]() { using SharedCallback = std::shared_ptr<DRing::CallbackWrapperBase>; diff --git a/RingD.h b/RingD.h index f78355bae9e9eba585d34f45a7b51505949d0bcc..b776f076411320eaba0319ebda35454e4e42b817 100644 --- a/RingD.h +++ b/RingD.h @@ -94,6 +94,7 @@ internal: void unPauseCall(String ^ callId); void askToRefreshKnownDevices(String^ accountId); void askToExportOnRing(String^ accountId, String^ password); + void eraseCacheFolder(); /* TODO : move members */ ///bool hasConfig; // replaced by startingStatus