void tables_getting_started_sample() { try { // Initialize storage account wa::storage::cloud_storage_account storage_account = wa::storage::cloud_storage_account::parse(storage_connection_string); // Create a table wa::storage::cloud_table_client table_client = storage_account.create_cloud_table_client(); wa::storage::cloud_table table = table_client.get_table_reference(U("AzureNativeClientLibrarySampleTable")); bool created = table.create_if_not_exists(); // Insert a table entity wa::storage::table_entity entity(U("MyPartitionKey"), U("MyRowKey")); entity.properties().reserve(8); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyA"), wa::storage::entity_property(utility::string_t(U("some string"))))); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyB"), wa::storage::entity_property(utility::datetime::utc_now()))); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyC"), wa::storage::entity_property(utility::new_uuid()))); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyD"), wa::storage::entity_property(1234567890))); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyE"), wa::storage::entity_property(1234567890123456789LL))); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyF"), wa::storage::entity_property(9.1234567890123456789))); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyG"), wa::storage::entity_property(true))); entity.properties().insert(wa::storage::table_entity::property_type(U("PropertyH"), wa::storage::entity_property(std::vector<uint8_t>(10, 'X')))); wa::storage::table_operation operation1 = wa::storage::table_operation::insert_or_replace_entity(entity); wa::storage::table_result insert_result = table.execute(operation1); // Retrieve a table entity wa::storage::table_operation operation2 = wa::storage::table_operation::retrieve_entity(U("MyPartitionKey"), U("MyRowKey")); wa::storage::table_result retrieve_result = table.execute(operation2); // Insert table entities in a batch wa::storage::table_batch_operation operation3; for (int i = 0; i < 10; ++i) { utility::string_t row_key = U("MyRowKey") + utility::conversions::print_string(i); wa::storage::table_entity entity2(U("MyPartitionKey"), row_key); entity2.properties().reserve(3); entity2.properties().insert(wa::storage::table_entity::property_type(U("PropertyA"), wa::storage::entity_property(utility::string_t(U("another string"))))); entity2.properties().insert(wa::storage::table_entity::property_type(U("PropertyB"), wa::storage::entity_property(utility::datetime::utc_now()))); entity2.properties().insert(wa::storage::table_entity::property_type(U("PropertyC"), wa::storage::entity_property(utility::new_uuid()))); operation3.insert_or_replace_entity(entity2); } std::vector<wa::storage::table_result> results = table.execute_batch(operation3); // Query for some table entities wa::storage::table_query query; query.set_filter_string(wa::storage::table_query::combine_filter_conditions( wa::storage::table_query::generate_filter_condition(U("PartitionKey"), wa::storage::query_comparison_operator::equal, U("MyPartitionKey")), wa::storage::query_logical_operator::and, wa::storage::table_query::generate_filter_condition(U("RowKey"), wa::storage::query_comparison_operator::greater_than_or_equal, U("MyRowKey5")))); std::vector<wa::storage::table_entity> entities = table.execute_query(query); for (std::vector<wa::storage::table_entity>::const_iterator itr = entities.cbegin(); itr != entities.cend(); ++itr) { wa::storage::table_entity::properties_type properties = itr->properties(); ucout << U("PK: ") << itr->partition_key() << U(", RK: ") << itr->row_key() << U(", Prop: ") << utility::uuid_to_string(properties[U("PropertyC")].guid_value()) << std::endl; } // Delete a table entity wa::storage::table_operation operation4 = wa::storage::table_operation::delete_entity(retrieve_result.entity()); wa::storage::table_result delete_result = table.execute(operation4); // Delete the table bool deleted = table.delete_table_if_exists(); } catch (wa::storage::storage_exception& e) { ucout << U("Error: ") << e.what() << std::endl; wa::storage::request_result result = e.result(); wa::storage::storage_extended_error extended_error = result.extended_error(); if (!extended_error.message().empty()) { ucout << extended_error.message() << std::endl; } } catch (std::exception& e) { ucout << U("Error: ") << e.what() << std::endl; } }
int main() { Screen::Instance().Open(800, 600, false); //Entity Image * alienImg = ResourceManager::Instance().LoadImage("data/alien.png"); alienImg->SetMidHandle(); CEntity entity(alienImg); entity.GetSprite()->SetPosition(350, 340); CEntity entity2(alienImg); entity2.GetSprite()->SetPosition(700, 300); //Windows Image * backgroundImg = ResourceManager::Instance().LoadImage("data/background.jpg"); Image * windowImg = ResourceManager::Instance().LoadImage("data/window4.png"); //button Imgs Image * buttonImgDefault = ResourceManager::Instance().LoadImage("data/button_default.png"); buttonImgDefault->SetMidHandle(); Image * buttonImgOnClick = ResourceManager::Instance().LoadImage("data/button_onclick.png"); buttonImgOnClick->SetMidHandle(); Image * buttonImgInactive = ResourceManager::Instance().LoadImage("data/button_inactive.png"); buttonImgInactive->SetMidHandle(); //checkbox Imgs Image * checkboxImgDefault = ResourceManager::Instance().LoadImage( "data/checkbox_disabled.png"); checkboxImgDefault->SetMidHandle(); Image * checkboxImgOnClick = ResourceManager::Instance().LoadImage( "data/checkbox_enabled.png"); checkboxImgOnClick->SetMidHandle(); //slider Imgs Image * sliderBallImg = ResourceManager::Instance().LoadImage("data/slider_ball.png"); sliderBallImg->SetHandle( static_cast<float>(sliderBallImg->GetWidth() * sliderBallImg->GetHFrames() / 2), static_cast<float>(sliderBallImg->GetHeight() * sliderBallImg->GetVFrames())); Image * sliderBarImg = ResourceManager::Instance().LoadImage("data/slider_bar.png"); sliderBarImg->SetHandle(0, static_cast<float>(sliderBarImg->GetHeight() * sliderBarImg->GetVFrames())); Image * sliderLeftDefaultImg = ResourceManager::Instance().LoadImage( "data/slider_left_default.png"); sliderLeftDefaultImg->SetMidHandle(); Image * sliderRightDefaultImg = ResourceManager::Instance().LoadImage( "data/slider_right_default.png"); sliderRightDefaultImg->SetMidHandle(); Image * sliderLeftOnClickImg = ResourceManager::Instance().LoadImage( "data/slider_left_onclick.png"); sliderLeftOnClickImg->SetMidHandle(); Image * sliderRightOnClickImg = ResourceManager::Instance().LoadImage( "data/slider_right_onclick.png"); sliderRightOnClickImg->SetMidHandle(); //Input & Control managers CInputManager * inputManager = &CInputManager::Instance(); assert(inputManager != nullptr); CControlManagerUI controlManager; controlManager.Init(); String str; //Controls CWindowUI background; background.Init(0, 0, backgroundImg); background.SetId(0); controlManager.AddControl(&background); CWindowUI windowSlider; windowSlider.Init(100, 0, windowImg); windowSlider.SetId(1); controlManager.AddControl(&windowSlider); CButtonUI button; button.Init(350, 80, buttonImgDefault, buttonImgOnClick, buttonImgInactive); button.SetId(0); str = "Inactive"; button.SetText(str); controlManager.AddControl(&button); button.SetCurrentState(EGUICS_INACTIVE); CButtonUI button2; button2.Init(350, 140, buttonImgDefault, buttonImgOnClick, buttonImgInactive); button2.SetId(1); str = "Click"; button2.SetText(str); controlManager.AddControl(&button2); CSliderUI slider; slider.Init(200, 400, 0, 10, sliderBarImg, sliderBallImg, sliderLeftDefaultImg, sliderLeftOnClickImg, sliderRightDefaultImg, sliderRightOnClickImg); slider.SetId(0); controlManager.AddControl(&slider); CCheckBoxUI checkbox; checkbox.Init(300, 220, checkboxImgDefault, checkboxImgOnClick); checkbox.SetId(0); CCheckBoxUI checkbox2; checkbox2.Init(340, 220, checkboxImgDefault, checkboxImgOnClick); checkbox2.SetId(1); CCheckBoxUI checkbox3; checkbox3.Init(380, 220, checkboxImgDefault, checkboxImgOnClick); checkbox3.SetId(2); CCheckBoxGroup cbGroup; cbGroup.Init(); cbGroup.AddControl(&checkbox); cbGroup.AddControl(&checkbox2); cbGroup.AddControl(&checkbox3); controlManager.AddControl(&cbGroup); cbGroup.AddEventListener(&entity); checkbox.SetCurrentState(EGUICS_ONCLICK); button2.AddEventListener(&entity); slider.AddEventListener(&entity); entity.GetSprite()->SetColor(entity.GetSprite()->GetRed(), entity.GetSprite()->GetGreen(), entity.GetSprite()->GetBlue(), 0); /*entity.Register(EEC_MOUSE, EME_LMB_PRESS); entity.Register(EEC_MOUSE, EME_LMB_RELEASE); entity.Register(EEC_MOUSE, EME_LMB_CLICK); entity.Register(EEC_MOUSE, EME_RMB_PRESS); entity.Register(EEC_KEYBOARD, EKE_SPACE);*/ entity2.Register(EEC_MOUSE, EME_LMB_DRAG); Renderer::Instance().SetBlendMode(Renderer::BlendMode::ALPHA); while (Screen::Instance().IsOpened() && !Screen::Instance().KeyPressed(GLFW_KEY_ESC)) { Renderer::Instance().Clear(); inputManager->Update(); controlManager.Update(); controlManager.Render(); entity.GetSprite()->Update(Screen::Instance().ElapsedTime()); entity.GetSprite()->Render(); entity2.GetSprite()->Update(Screen::Instance().ElapsedTime()); entity2.GetSprite()->Render(); Screen::Instance().Refresh(); } ResourceManager::Instance().FreeResources(); }