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 / FWFiles / FWFileSy.h < prev    next >
Encoding:
Text File  |  1996-09-17  |  4.0 KB  |  120 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWFileSy.h
  4. //    Release Version:    $ ODF 2 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #if !defined(FWFILESY_H) && !defined(__ODFRC__)
  11. #define FWFILESY_H
  12.  
  13. #ifndef SLFILESY_H
  14. #include "SLFileSy.h"
  15. #endif
  16.  
  17.  
  18. //========================================================================================
  19. //    FW_CAccessPermission
  20. //
  21. //    This static class is a wrapper for FW_SAccessPermission, a "C" structure which can 
  22. //    be shared across SOM boundaries.
  23. //========================================================================================
  24.  
  25. class FW_CAccessPermission
  26. {
  27. public:
  28.     FW_CAccessPermission(unsigned long access = FW_kReadWrite, 
  29.                          unsigned long deny   = FW_kDenyReadWrite);
  30.         // Main constructor, sets up the specified access privileges.  Default privilege
  31.         //   is exclusive read/write access.
  32.         
  33.     FW_CAccessPermission(const FW_SAccessPermission& sPermission);
  34.     FW_CAccessPermission(const FW_CAccessPermission& permission);
  35.         // Copy constructor
  36.     
  37.     
  38.     //===========================================================
  39.     // Accessors
  40.     //===========================================================
  41.     
  42.     unsigned long GetAccess() const;
  43.     unsigned long GetDeny() const;
  44.  
  45.     //===========================================================
  46.     // Operators
  47.     //===========================================================
  48.     
  49.     FW_CAccessPermission& operator=(const FW_SAccessPermission& sPermission);
  50.     FW_CAccessPermission& operator=(const FW_CAccessPermission& permission);
  51.         // Assignment operator.
  52.         
  53.     FW_Boolean operator==(const FW_SAccessPermission& permission) const;
  54.         // Equality operator.
  55.         
  56.     FW_Boolean operator!=(const FW_SAccessPermission& permission) const;
  57.         // Inequality operator.
  58.  
  59.     operator FW_SAccessPermission&();
  60.     operator FW_SAccessPermission*();
  61.     
  62. private:
  63.     
  64.     FW_SAccessPermission fRep;
  65. };
  66.  
  67.  
  68. //----------------------------------------------------------------------------------------
  69. //    FW_CAccessPermission::GetAccess
  70. //----------------------------------------------------------------------------------------
  71. inline unsigned long FW_CAccessPermission::GetAccess() const
  72. {
  73.     return fRep.fAccess;
  74. }
  75. //----------------------------------------------------------------------------------------
  76. //    FW_CAccessPermission::GetDeny
  77. //----------------------------------------------------------------------------------------
  78. inline unsigned long FW_CAccessPermission::GetDeny() const
  79. {
  80.     return fRep.fDeny;
  81. }
  82.  
  83. //----------------------------------------------------------------------------------------
  84. //    FW_CAccessPermission::operator=
  85. //----------------------------------------------------------------------------------------
  86. inline FW_CAccessPermission& FW_CAccessPermission::operator=(const FW_CAccessPermission& permission)
  87. {
  88.     return (FW_CAccessPermission::operator=(permission.fRep));
  89. }
  90.  
  91.  
  92. //----------------------------------------------------------------------------------------
  93. //    FW_CAccessPermission::operator!=
  94. //----------------------------------------------------------------------------------------
  95. inline FW_Boolean FW_CAccessPermission::operator!=(const FW_SAccessPermission& permission) const
  96. {
  97.     return (!FW_CAccessPermission::operator==(permission));
  98. }
  99.  
  100.  
  101. //----------------------------------------------------------------------------------------
  102. //    FW_CAccessPermission::operator FW_SAccessPermission&
  103. //----------------------------------------------------------------------------------------
  104. inline FW_CAccessPermission::operator FW_SAccessPermission&()
  105. {
  106.     return fRep;
  107. }
  108.  
  109. //----------------------------------------------------------------------------------------
  110. //    FW_CAccessPermission::operator FW_SAccessPermission*
  111. //----------------------------------------------------------------------------------------
  112. inline FW_CAccessPermission::operator FW_SAccessPermission*()
  113. {
  114.     return &fRep;
  115. }
  116.  
  117. #endif
  118.  
  119.  
  120.