| 2475 | } |
| 2476 | |
| 2477 | bool reopen(PJ_CONTEXT *ctx) override { |
| 2478 | pj_log(ctx, PJ_LOG_DEBUG, "Grid %s has changed. Re-loading it", |
| 2479 | m_name.c_str()); |
| 2480 | m_grids.clear(); |
| 2481 | m_GTiffDataset.reset(); |
| 2482 | auto fp = FileManager::open_resource_file(ctx, m_name.c_str()); |
| 2483 | if (!fp) { |
| 2484 | return false; |
| 2485 | } |
| 2486 | auto newGS = open(ctx, std::move(fp), m_name); |
| 2487 | if (newGS) { |
| 2488 | m_grids = std::move(newGS->m_grids); |
| 2489 | m_GTiffDataset = std::move(newGS->m_GTiffDataset); |
| 2490 | } |
| 2491 | return !m_grids.empty(); |
| 2492 | } |
| 2493 | }; |
| 2494 | |
| 2495 | // --------------------------------------------------------------------------- |