Changeset 10967 for trunk/psModules/src/concepts/pmConcepts.c
- Timestamp:
- Jan 8, 2007, 12:31:41 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/concepts/pmConcepts.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/concepts/pmConcepts.c
r10644 r10967 37 37 return spec; 38 38 } 39 40 psList *pmConceptsList(pmFPALevel level) 41 { 42 if (!conceptsInitialised) { 43 pmConceptsInit(); 44 } 45 46 // Get the appropriate concepts 47 psMetadata *concepts = NULL; // Metadata of concepts specs 48 switch (level) { 49 case PM_FPA_LEVEL_FPA: 50 concepts = conceptsFPA; 51 break; 52 case PM_FPA_LEVEL_CHIP: 53 concepts = conceptsChip; 54 break; 55 case PM_FPA_LEVEL_CELL: 56 concepts = conceptsCell; 57 break; 58 default: 59 psError(PS_ERR_IO, true, "Invalid concept level provided: %d\n", level); 60 return NULL; 61 } 62 63 // Pull out the names 64 psList *list = psListAlloc(NULL); // List of concepts' names 65 psMetadataIterator *iter = psMetadataIteratorAlloc(concepts, PS_LIST_HEAD, NULL); // Iterator 66 psMetadataItem *item; // Item from iteration 67 while ((item = psMetadataGetAndIncrement(iter))) { 68 psListAdd(list, PS_LIST_TAIL, item->name); 69 } 70 psFree(iter); 71 return list; 72 } 73 74 75 psList *psMetadataKeys(psMetadata *md) 76 { 77 psList *list = psListAlloc(NULL); // List with the keys 78 psMetadataIterator *iter = psMetadataIteratorAlloc(md, PS_LIST_HEAD, false); 79 psMetadataItem *item; // Item from iteration 80 while ((item = psMetadataGetAndIncrement(iter))) { 81 psListAdd(list, PS_LIST_TAIL, item->name); 82 } 83 return list; 84 } 85 39 86 40 87 … … 246 293 for (long i = 0; i < chips->n; i++) { 247 294 pmChip *chip = chips->data[i]; // Chip of interest 248 if (chip && !chip->hdu) {295 if (chip) { 249 296 success |= pmConceptsReadChip(chip, source, false, true, db); 250 297 } … … 287 334 bool success = conceptsRead(&conceptsChip, fpa, chip, NULL, &chip->conceptsRead, source, db, 288 335 chip->concepts); 289 if (propagateUp && !fpa->hdu) {336 if (propagateUp) { 290 337 success |= conceptsRead(&conceptsFPA, fpa, chip, NULL, &fpa->conceptsRead, source, db, fpa->concepts); 291 338 } … … 294 341 for (long i = 0; i < cells->n; i++) { 295 342 pmCell *cell = cells->data[i]; // Cell of interest 296 if (cell && !cell->hdu) {343 if (cell) { 297 344 success |= pmConceptsReadCell(cell, source, false, db); 298 345 } … … 341 388 cell->concepts); 342 389 if (propagateUp) { 343 if (!chip->hdu) { 344 success |= conceptsRead(&conceptsChip, fpa, chip, cell, &chip->conceptsRead, source, db, 345 chip->concepts); 346 if (!fpa->hdu) { 347 success |= conceptsRead(&conceptsFPA, fpa, chip, cell, &fpa->conceptsRead, source, db, 348 fpa->concepts); 349 } 350 } 390 success |= conceptsRead(&conceptsChip, fpa, chip, cell, &chip->conceptsRead, source, db, 391 chip->concepts); 392 success |= conceptsRead(&conceptsFPA, fpa, chip, cell, &fpa->conceptsRead, source, db, 393 fpa->concepts); 351 394 } 352 395
Note:
See TracChangeset
for help on using the changeset viewer.
