diff --git a/3rdparty/cpprestsdk/samples/WindowsLiveAuth/MainPage.xaml.cpp b/3rdparty/cpprestsdk/samples/WindowsLiveAuth/MainPage.xaml.cpp deleted file mode 100644 index 00fdec53eab331491035dedf46806b93cdae02b1..0000000000000000000000000000000000000000 --- a/3rdparty/cpprestsdk/samples/WindowsLiveAuth/MainPage.xaml.cpp +++ /dev/null @@ -1,213 +0,0 @@ -/*** -* ==++== -* -* Copyright (c) Microsoft Corporation. All rights reserved. -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -****/ - -#include "pch.h" -#include "MainPage.xaml.h" -#include "cpprest/filestream.h" - -using namespace WindowsLiveAuth; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -using namespace Platform::Collections; -using namespace Windows::Security::Authentication::OnlineId; - -// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 - -MainPage::MainPage() -{ - InitializeComponent(); -} - -/// -/// Invoked when this page is about to be displayed in a Frame. -/// -/// Event data that describes how this page was reached. The Parameter -/// property is typically used to configure the page. -void MainPage::OnNavigatedTo(NavigationEventArgs^ e) -{ - (void) e; // Unused parameter -} - -static web::live::live_client lv_client; - -void MainPage::Button_Click_1(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - try - { - auto ui_ctx = pplx::task_continuation_context::use_current(); - - std::vector scopes; - scopes.push_back(web::live::scopes::wl_basic); - scopes.push_back(web::live::scopes::wl_skydrive); - scopes.push_back(web::live::scopes::wl_skydrive_update); - lv_client.login(std::begin(scopes), std::end(scopes)).then([this](bool ok) - { - if (ok) - { - this->LogOutButton->Visibility = Windows::UI::Xaml::Visibility::Visible; - this->LogInButton->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - - this->Block1->Text = ref new Platform::String((L"access_token = \n" + lv_client.access_token()).c_str()); - } - }, ui_ctx); - } - catch(...) - { - } -} - -void MainPage::LogOutButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - auto ui_ctx = pplx::task_continuation_context::use_current(); - - lv_client.logout().then([this](bool) - { - this->LogOutButton->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - this->LogInButton->Visibility = Windows::UI::Xaml::Visibility::Visible; - }, ui_ctx); -} - -// The following functions let you get information for an arbitrary WL resource, upload a file, or download a file. -// Use the Live Connect Interactive SDK on MSDN to explore your WL data and then try the same here. -// -// Some other things to try: -// -// delete a file using lv_client.remove() -// copy or move a file using lv_client.copy() and lv_client.move(). -// create a contact using lv_client.post() -// modify a calendar event using lv_client.put() -// -void MainPage::Button_Click_2(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - auto ui_ctx = pplx::task_continuation_context::use_current(); - - lv_client.get(this->Box1->Text->Data()).then( - [this](pplx::task value) - { - try - { - auto str = value.get().serialize(); - this->Block1->Text = ref new Platform::String(str.c_str()); - } - catch(std::exception& exc) - { - this->Block1->Text = ref new Platform::String(utility::conversions::to_string_t(exc.what()).c_str()); - } - }, ui_ctx); - -} - - -void MainPage::UploadButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - this->Block1->Text = ref new Platform::String(L"Processing request..."); - - auto ui_ctx = pplx::task_continuation_context::use_current(); - - auto filePicker = ref new Windows::Storage::Pickers::FileOpenPicker(); - filePicker->ViewMode = Windows::Storage::Pickers::PickerViewMode::List; - filePicker->FileTypeFilter->Append(ref new Platform::String(L".txt")); - filePicker->FileTypeFilter->Append(ref new Platform::String(L".jpg")); - filePicker->FileTypeFilter->Append(ref new Platform::String(L".pdf")); - filePicker->FileTypeFilter->Append(ref new Platform::String(L".docx")); - filePicker->FileTypeFilter->Append(ref new Platform::String(L".doc")); - - auto file = filePicker->PickSingleFileAsync(); - - utility::string_t path = this->Box1->Text->Data(); - - pplx::create_task(file) - .then([path](Windows::Storage::StorageFile^ file) - { - if ( file == nullptr ) - { - throw std::exception("No file was picked"); - } - - auto full_path = path + L"/" + file->Name->Data(); - - return lv_client.upload(full_path, file); - }) - .then([this](pplx::task response) - { - try - { - auto message = response.get().serialize(); - this->Block1->Text = ref new Platform::String(message.c_str()); - } - catch(std::exception& exc) - { - this->Block1->Text = ref new Platform::String(utility::conversions::to_string_t(exc.what()).c_str()); - } - }, ui_ctx); -} - - -void MainPage::DownloadButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - this->Block1->Text = ref new Platform::String(L"Processing request..."); - - auto ui_ctx = pplx::task_continuation_context::use_current(); - utility::string_t path = this->Box1->Text->Data(); - - // Start by getting the file metadata from OneDrive. We need the file name. - lv_client.get(path) - .then([this](web::json::value file_info) - { - if (!file_info.is_object()) - throw std::exception("unexpected file info response format"); - - auto name = file_info[L"name"].as_string(); - - // Once we have the name, we can create a storage file in the downloads folder. - - return pplx::create_task( - Windows::Storage::DownloadsFolder::CreateFileAsync( - ref new Platform::String(name.c_str()), - Windows::Storage::CreationCollisionOption::GenerateUniqueName)); - }) - .then([path,ui_ctx,this](Windows::Storage::StorageFile^ file) - { - if ( file == nullptr ) - throw std::exception("unexpected file info response format"); - auto name = file->Name; - // With a file reference in hand, we download the file. - return lv_client.download(path, file); - }) - .then([this](pplx::task response) - { - try - { - response.wait(); - this->Block1->Text = ref new Platform::String(L"Download complete."); - } - catch(std::exception& exc) - { - this->Block1->Text = ref new Platform::String(utility::conversions::to_string_t(exc.what()).c_str()); - } - }, ui_ctx); -}