Changeset 7433 for trunk/psModules/src/camera/pmFPAfile.c
- Timestamp:
- Jun 8, 2006, 10:42:42 AM (20 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/camera/pmFPAfile.c (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/camera/pmFPAfile.c
r7408 r7433 21 21 #include "pmPSF_IO.h" 22 22 #include "pmFPA_JPEG.h" 23 #define WERROR 0 // if true, warnings in this file are treated as errors24 23 25 24 static void pmFPAfileFree(pmFPAfile *file) … … 29 28 } 30 29 30 psTrace ("pmFPAfileFree", 5, "freeing %s\n", file->name); 31 31 psFree (file->fpa); 32 32 psFree (file->readout); … … 178 178 file->fileDepth = depthNameToEnum(psMetadataLookupStr(&status, data, "FILE.DEPTH")); 179 179 if (file->fileDepth == PM_FPA_DEPTH_NONE) { 180 psLogMsg (__func__, 3, "warning: FILE.DEPTH is not set for %s\n", name); 180 psError(PS_ERR_IO, true, "FILE.DEPTH is not set for %s\n", name); 181 return NULL; 181 182 } 182 183 183 184 file->dataDepth = depthNameToEnum(psMetadataLookupStr (&status, data, "DATA.DEPTH")); 184 185 if (file->dataDepth == PM_FPA_DEPTH_NONE) { 185 psLogMsg (__func__, 3, "warning: DATA.DEPTH is not set for %s\n", name); 186 psError(PS_ERR_IO, true, "DATA.DEPTH is not set for %s\n", name); 187 return NULL; 186 188 } 187 189 … … 215 217 } 216 218 if (file->type == PM_FPA_FILE_NONE) { 217 psLogMsg (__func__, 3, "warning: FILE.TYPE is not defined for %s\n", name); 219 psError(PS_ERR_IO, true, "FILE.TYPE is not defined for %s\n", name); 220 return NULL; 218 221 } 219 222 … … 229 232 } 230 233 if (file->mode == PM_FPA_MODE_NONE) { 231 psLogMsg (__func__, 3, "warning: FILE.MODE is not defined for %s\n", name); 234 psError(PS_ERR_IO, true, "FILE.MODE is not defined for %s\n", name); 235 return NULL; 232 236 } 233 237 … … 242 246 psMetadata *formats = psMetadataLookupMD(&status, camera, "FORMATS"); // List of formats 243 247 char *formatFile = psMetadataLookupStr (&status, formats, formatName); 248 if (!formatFile) { 249 psError(PS_ERR_IO, false, "format %s for %s not defined", formatName, name); 250 psFree (file); 251 return NULL; 252 } 244 253 readConfig (&file->format, formatFile, formatName); 245 254 } … … 281 290 282 291 if (file->state & PM_FPA_STATE_INACTIVE) { 283 ps Error(PS_ERR_IO, true, "Atempted to read an inactive file");284 return false;292 psTrace("pmFPAfile", 5, "skip open for %s, files is inactive", file->name); 293 return true; 285 294 } 286 295 … … 372 381 373 382 if (file->state & PM_FPA_STATE_INACTIVE) { 374 ps Error(PS_ERR_IO, true, "Atempted to read an inactive file");375 return false;383 psTrace("pmFPAfile", 5, "skip read for %s, files is inactive", file->name); 384 return true; 376 385 } 377 386 378 387 if (file->mode != PM_FPA_MODE_READ) { 379 ps Error(PS_ERR_IO, true, "File isn't mode PM_FPA_MODE_READ");380 return false;388 psTrace("pmFPAfile", 5, "skip read for %s, mode is not READ", file->name); 389 return true; 381 390 } 382 391 … … 387 396 if (depth == file->fileDepth) { 388 397 if (!pmFPAfileOpen (file, view)) { 389 psError(PS_ERR_IO, false, " Opening file");398 psError(PS_ERR_IO, false, "failed to open file %s", file->name); 390 399 return false; 391 400 } … … 394 403 // do we need to read this file? 395 404 if (depth != file->dataDepth) { 396 #if WERROR 397 psError(PS_ERR_IO, true, "Desired depth %s doesn't match dataDepth %s", 398 depthEnumToName(depth), depthEnumToName(file->dataDepth)); 399 return false; 400 #else 401 402 return true; 403 #endif 404 405 psTrace("pmFPAfile", 5, "skip reading of %s at this depth %s: dataDepth is %s", 406 file->name, depthEnumToName(depth), depthEnumToName(file->dataDepth)); 407 return true; 405 408 } 406 409 … … 445 448 446 449 if (file->state & PM_FPA_STATE_INACTIVE) { 447 ps Error(PS_ERR_IO, true, "Atempted to write an inactive file");448 return false;450 psTrace("pmFPAfile", 5, "skip write for %s, files is inactive", file->name); 451 return true; 449 452 } 450 453 451 454 if (file->mode != PM_FPA_MODE_WRITE) { 452 ps Error(PS_ERR_IO, true, "File isn't mode PM_FPA_MODE_WRITE");453 return false;455 psTrace("pmFPAfile", 5, "skip write for %s, mode is not WRITE", file->name); 456 return true; 454 457 } 455 458 … … 459 462 // do we need to write this file? 460 463 if (depth != file->dataDepth) { 461 #if WERROR 462 psError(PS_ERR_IO, true, "Desired depth %s doesn't match dataDepth %s", 463 depthEnumToName(depth), depthEnumToName(file->dataDepth)); 464 return false; 465 #else 466 467 return true; 468 #endif 469 464 psTrace("pmFPAfile", 5, "skip writing of %s at this depth %s: dataDepth is %s", 465 file->name, depthEnumToName(depth), depthEnumToName(file->dataDepth)); 466 return true; 470 467 } 471 468 … … 520 517 PS_ASSERT_PTR_NON_NULL(view, false); 521 518 519 // these are not error conditions; these are state tests 522 520 if (file->state & PM_FPA_STATE_INACTIVE) { 523 ps Error(PS_ERR_IO, true, "Atempted to create an inactive file");524 return false;521 psTrace("pmFPAfile", 5, "skip create for inactive file %s", file->name); 522 return true; 525 523 } 526 524 if (file->mode != PM_FPA_MODE_WRITE) { 527 ps Error(PS_ERR_IO, true, "File isn't mode PM_FPA_MODE_WRITE");528 return false;525 psTrace("pmFPAfile", 5, "skip create for non-write file %s", file->name); 526 return true; 529 527 } 530 528 … … 532 530 pmFPAdepth depth = pmFPAviewDepth (view); 533 531 534 // XXX is this a sufficient check to avoid creating elements?532 // don't create the file if the src FPA is not defined 535 533 if (file->src == NULL) { 536 #if WERROR 537 psError(PS_ERR_IO, true, "file->src is NULL"); 538 return false; 539 #else 540 541 return true; 542 #endif 543 534 psTrace("pmFPAfile", 5, "skip create for FPA without src FPA for %s", file->name); 535 return true; 544 536 } 545 537 546 538 // do we need to write this file? 547 539 if (depth != file->dataDepth) { 548 ps Error(PS_ERR_IO, true, "Desired depth %s doesn't match dataDepth%s",549 depthEnumToName(depth), depthEnumToName(file->dataDepth));550 return false;540 psTrace("pmFPAfile", 5, "skip creation of %s at this depth %s: dataDepth is %s", 541 file->name, depthEnumToName(depth), depthEnumToName(file->dataDepth)); 542 return true; 551 543 } 552 544 … … 555 547 /* create a PHU for thie file, if it does not exist */ 556 548 pmFPAfileCopyStructureView (file->fpa, file->src, file->format, file->xBin, file->yBin, view); 557 psTrace ("pmFPAfile", 5, "created fpa data elements for %s (fpa: %p)\n", file-> filename, file->fpa);549 psTrace ("pmFPAfile", 5, "created fpa data elements for %s (fpa: %p)\n", file->name, file->fpa); 558 550 break; 559 551 … … 568 560 569 561 default: 570 psError(PS_ERR_IO, true, "Unsupported type : %d", file->type);562 psError(PS_ERR_IO, true, "Unsupported type for %s: %d", file->name, file->type); 571 563 return false; 572 564 } … … 580 572 581 573 if (file->state & PM_FPA_STATE_INACTIVE) { 582 ps Error(PS_ERR_IO, true, "Atempted to close an inactive file");583 return false;574 psTrace("pmFPAfile", 5, "skip close for %s, files is inactive", file->name); 575 return true; 584 576 } 585 577 if (file->state == PM_FPA_STATE_CLOSED) { … … 590 582 pmFPAdepth depth = pmFPAviewDepth (view); 591 583 if (file->fileDepth != depth) { 592 #if WERROR 593 psError(PS_ERR_IO, true, "Desired depth %s doesn't match fileDepth %s", 594 depthEnumToName(depth), depthEnumToName(file->fileDepth)); 595 return false; 596 #else 597 598 return true; 599 #endif 600 584 psTrace("pmFPAfile", 5, "skip closing of %s at this depth %s: dataDepth is %s", 585 file->name, depthEnumToName(depth), depthEnumToName(file->dataDepth)); 586 return true; 601 587 } 602 588 … … 683 669 switch (place) { 684 670 case PM_FPA_BEFORE: 685 if ( file->mode == PM_FPA_MODE_READ &&!pmFPAfileRead (file, view)) {686 psError(PS_ERR_IO, false, "failed in FPA_BEFORE block for %s", file->name);671 if (!pmFPAfileRead (file, view)) { 672 psError(PS_ERR_IO, false, "failed READ in FPA_BEFORE block for %s", file->name); 687 673 psFree(iter); 688 674 return false; 689 675 } 690 if ( file->mode == PM_FPA_MODE_WRITE &&!pmFPAfileCreate(file, view)) {691 psError(PS_ERR_IO, false, "failed in FPA_BEFORE block for %s", file->name);676 if (!pmFPAfileCreate(file, view)) { 677 psError(PS_ERR_IO, false, "failed CREATE in FPA_BEFORE block for %s", file->name); 692 678 psFree(iter); 693 679 return false; … … 695 681 break; 696 682 case PM_FPA_AFTER: 697 if ( file->mode == PM_FPA_MODE_WRITE &&!pmFPAfileWrite (file, view)) {698 psError(PS_ERR_IO, false, "failed in FPA_AFTER block for %s", file->name);683 if (!pmFPAfileWrite (file, view)) { 684 psError(PS_ERR_IO, false, "failed WRITE in FPA_AFTER block for %s", file->name); 699 685 psFree(iter); 700 686 return false; 701 687 } 702 688 if (!pmFPAfileClose(file, view)) { 703 psError(PS_ERR_IO, false, "failed in FPA_AFTER block for %s", file->name);689 psError(PS_ERR_IO, false, "failed CLOSE in FPA_AFTER block for %s", file->name); 704 690 psFree(iter); 705 691 return false;
Note:
See TracChangeset
for help on using the changeset viewer.
