home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / OS / FWODMisc / FWSUSink.cpp < prev    next >
Encoding:
Text File  |  1996-09-17  |  4.1 KB  |  109 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWSUSink.cpp
  4. //    Release Version:    $ ODF 2 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #include "FWOS.hpp"
  11.  
  12. #ifndef FWSUSINK_H
  13. #include "FWSUSink.h"
  14. #endif
  15.  
  16. #ifndef FWSUUTIL_H
  17. #include "FWSUUtil.h"
  18. #endif
  19.  
  20. //========================================================================================
  21. //    Runtime Informations
  22. //========================================================================================
  23.  
  24. #ifdef FW_BUILD_MAC    
  25. #pragma segment fwodmisc
  26. #endif
  27.  
  28. //========================================================================================
  29. //    CLASS FW_PStorageUnitSink
  30. //========================================================================================
  31.  
  32.  
  33. //----------------------------------------------------------------------------------------
  34. //    FW_PStorageUnitSink::FW_PStorageUnitSink
  35. //----------------------------------------------------------------------------------------
  36. FW_PStorageUnitSink::FW_PStorageUnitSink(Environment* ev, FW_OStorageUnitSink* theStorageUnitSink) :
  37.     FW_PRandomAccessSink(ev, theStorageUnitSink)
  38. {
  39. }
  40.  
  41. //----------------------------------------------------------------------------------------
  42. //    FW_PStorageUnitSink::FW_PStorageUnitSink
  43. //----------------------------------------------------------------------------------------
  44. FW_PStorageUnitSink::FW_PStorageUnitSink(Environment* ev, ODStorageUnitView* storageUnitView) :
  45.     FW_PRandomAccessSink(ev, new FW_OStorageUnitSink())
  46. {
  47.     ((FW_OStorageUnitSink*)GetRep())->InitFromStorageUnitView(ev, storageUnitView);
  48. }
  49.  
  50. //----------------------------------------------------------------------------------------
  51. //    FW_PStorageUnitSink::FW_PStorageUnitSink
  52. //----------------------------------------------------------------------------------------
  53. FW_PStorageUnitSink::FW_PStorageUnitSink(Environment* ev, 
  54.                                          ODStorageUnit* storageUnit, 
  55.                                          ODPropertyName propertyName, 
  56.                                          ODValueType valueType) :
  57.     FW_PRandomAccessSink(ev, new FW_OStorageUnitSink())
  58. {
  59.     ((FW_OStorageUnitSink*)GetRep())->InitFromStorageUnitAndProperty(ev, storageUnit, propertyName, valueType);
  60. }
  61.  
  62. //----------------------------------------------------------------------------------------
  63. //    FW_PStorageUnitSink::~FW_PStorageUnitSink
  64. //----------------------------------------------------------------------------------------
  65. FW_PStorageUnitSink::~FW_PStorageUnitSink()
  66. {
  67. }
  68.  
  69. //========================================================================================
  70. //    class FW_PFileValueSink
  71. //========================================================================================
  72.  
  73. FW_DEFINE_AUTO (FW_PFileValueSink)
  74.  
  75. //----------------------------------------------------------------------------------------
  76. //    FW_PFileValueSink::FW_PFileValueSink
  77. //----------------------------------------------------------------------------------------
  78.  
  79. FW_PFileValueSink::FW_PFileValueSink (Environment* ev, ODStorageUnit* storageUnit, ODPropertyName propertyName) :
  80.     fHfsInfo(PrivMacGetHFSFlavor(ev, storageUnit, propertyName)),
  81.     fSpecification(ev, fHfsInfo.fileSpec),
  82.     fPermission(FW_kRead, FW_kDenyWrite),
  83.     fFile(ev, fSpecification, fPermission),
  84.     fSink(ev, fFile)
  85. {
  86. }
  87.  
  88. //----------------------------------------------------------------------------------------
  89. //    FW_PFileValueSink::~FW_PFileValueSink
  90. //----------------------------------------------------------------------------------------
  91.  
  92. FW_PFileValueSink::~FW_PFileValueSink ()
  93. {
  94. }
  95.  
  96. //----------------------------------------------------------------------------------------
  97. //    FW_PFileValueSink::PrivMacGetHFSFlavor
  98. //----------------------------------------------------------------------------------------
  99.  
  100. HFSFlavor FW_PFileValueSink::PrivMacGetHFSFlavor(Environment* ev, ODStorageUnit* storageUnit, ODPropertyName propertyName)
  101. {
  102.     HFSFlavor HFSInfo;
  103.     FW_Boolean found = FW_MacSUReadHFSFlavor(ev, storageUnit, propertyName, HFSInfo);
  104.     FW_ASSERT(found);
  105.     return HFSInfo;
  106. }
  107.  
  108.  
  109.