void TrayControlWindow::refresh_environments() { if (CHubController::Instance().refresh_environments()) return; m_hub_menu->clear(); for (auto i = m_lst_hub_menu_items.begin(); i != m_lst_hub_menu_items.end(); ++i) { delete *i; } m_lst_hub_menu_items.clear(); for (auto env = CHubController::Instance().lst_environments().cbegin(); env != CHubController::Instance().lst_environments().cend(); ++env) { QString env_name = env->name(); env_name.replace("_", "__"); //megahack :) Don't know how to handle underscores. QMenu* env_menu = m_hub_menu->addMenu(env_name); for (auto cont = env->containers().cbegin(); cont != env->containers().cend(); ++cont) { QAction* act = new QAction(cont->name(), this); CHubEnvironmentMenuItem* item = new CHubEnvironmentMenuItem(&(*env), &(*cont), m_sys_tray_icon); connect(act, SIGNAL(triggered()), item, SLOT(internal_action_triggered())); connect(item, SIGNAL(action_triggered(const CSSEnvironment*, const CHubContainer*, void*)), this, SLOT(hub_container_mi_triggered(const CSSEnvironment*, const CHubContainer*, void*))); env_menu->addAction(act); m_lst_hub_menu_items.push_back(item); } } }
MojErr ContainerManager::InfoToJson(MojObject& rep) const { MojObject containers(MojObject::TypeArray); std::for_each(m_containers.begin(), m_containers.end(), boost::bind(&ResourceContainer::PushJson, boost::bind(&ContainerMap::value_type::second, _1), boost::ref(containers))); MojErr err = rep.put(_T("containers"), containers); MojErrCheck(err); MojObject entityMap(MojObject::TypeArray); for (EntityContainerMap::const_iterator iter = m_entityContainers.begin(); iter != m_entityContainers.end(); ++iter) { MojObject mapping(MojObject::TypeObject); MojString containerName; err = containerName.assign(iter->second->GetName().c_str()); MojErrCheck(err); err = mapping.put(iter->first->GetName().c_str(), containerName); MojErrCheck(err); err = entityMap.push(mapping); MojErrCheck(err); } err = rep.put(_T("entityMap"), entityMap); MojErrCheck(err); return MojErrNone; }
void blob_service_test_base_with_objects_to_delete::check_container_list(const std::vector<azure::storage::cloud_blob_container>& list, const utility::string_t& prefix, bool check_found) { auto container_list_sorted = std::is_sorted(list.cbegin(), list.cend(), [](const azure::storage::cloud_blob_container& a, const azure::storage::cloud_blob_container& b) { return a.name() < b.name(); }); CHECK(container_list_sorted); std::vector<azure::storage::cloud_blob_container> containers(m_containers_to_delete); for (auto list_iter = list.begin(); list_iter != list.end(); ++list_iter) { bool found = false; for (auto iter = containers.begin(); iter != containers.end(); ++iter) { if (iter->name() == list_iter->name()) { auto index_str = list_iter->metadata().find(U("index")); CHECK(index_str != list_iter->metadata().end()); CHECK_UTF8_EQUAL(iter->name(), prefix + index_str->second); containers.erase(iter); found = true; break; } } if (check_found) { CHECK(found); } } CHECK(containers.empty()); }
Atmosphere::Atmosphere() { Containers containers(std::make_pair(Containers::CONSTBUFFER, MODIFY)); constantbuffers = containers.get<ConstantBufferContainer>(Containers::CONSTBUFFER); atmospheres = containers.get<AtmosphereContainer>(Containers::ATMOSPHERE_SIM); }
/** Split the component into several containers no more components than componentsPerContainer but there may be less components in each container. There can never be more components in a container than there are IDs, hence the type of parameter is ID **/ std::vector<Components<T, Container>> split(ID componentsPerContainer) const { const int numContainers = (size() / componentsPerContainer) + ((size() % componentsPerContainer) > 0 ? 1 : 0); std::vector<Components<T>> containers(numContainers, Components<T, Container>()); auto it(begin()); for(auto& smallerContainer : containers) { for(int i = 0; i < componentsPerContainer && it != end(); i++) { smallerContainer.insert(*it++); } } return containers; }