u32 assign_slots(GoughGraph &cfg, const Grey &grey) { u32 slot_count = initial_slots(cfg); if (!grey.goughRegisterAllocate) { return slot_count; } dump(cfg, "slots_pre", grey); vector<u32> old_new; create_slot_mapping(cfg, slot_count, &old_new); slot_count = update_slots(cfg, old_new, slot_count); return slot_count; }
/* * Update a Pool Record in the database. * It is always updated from the Resource record. * * update pool=<pool-name> * updates pool from Pool resource * update media pool=<pool-name> volume=<volume-name> * changes pool info for volume * update slots [scan=...] * updates autochanger slots * update stats [days=...] * updates long term statistics */ int update_cmd(UAContext *ua, const char *cmd) { static const char *kw[] = { NT_("media"), /* 0 */ NT_("volume"), /* 1 */ NT_("pool"), /* 2 */ NT_("slots"), /* 3 */ NT_("slot"), /* 4 */ NT_("jobid"), /* 5 */ NT_("stats"), /* 6 */ NULL}; if (!open_client_db(ua)) { return 1; } switch (find_arg_keyword(ua, kw)) { case 0: case 1: update_volume(ua); return 1; case 2: update_pool(ua); return 1; case 3: case 4: update_slots(ua); return 1; case 5: update_job(ua); return 1; case 6: update_stats(ua); return 1; default: break; } start_prompt(ua, _("Update choice:\n")); add_prompt(ua, _("Volume parameters")); add_prompt(ua, _("Pool from resource")); add_prompt(ua, _("Slots from autochanger")); add_prompt(ua, _("Long term statistics")); switch (do_prompt(ua, _("item"), _("Choose catalog item to update"), NULL, 0)) { case 0: update_volume(ua); break; case 1: update_pool(ua); break; case 2: update_slots(ua); break; case 3: update_stats(ua); break; default: break; } return 1; }