home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-Developer.iso / NextLibrary / Frameworks / Foundation.framework / Versions / B / Headers / NSLock.h < prev    next >
Encoding:
Text File  |  1996-10-25  |  1.0 KB  |  65 lines

  1. /*    NSLock.h
  2.     Support for locks
  3.     Copyright 1994-1996, NeXT Software, Inc.  All rights reserved.
  4. */
  5.  
  6. #import <Foundation/NSObject.h>
  7.  
  8. @class NSDate;
  9.     
  10. @protocol NSLocking
  11.  
  12. - (void)lock;
  13. - (void)unlock;
  14.  
  15. @end
  16.  
  17. @interface NSLock : NSObject <NSLocking> {
  18.     void *_priv;
  19. }
  20.  
  21. - (BOOL)tryLock;
  22.  
  23. #if !defined(STRICT_OPENSTEP)
  24.  
  25. - (BOOL)lockBeforeDate:(NSDate *)limit;
  26.  
  27. #endif /* !STRICT_OPENSTEP */
  28.  
  29. @end
  30.  
  31. @interface NSConditionLock : NSObject <NSLocking> {
  32.     void *_priv;
  33. }
  34.  
  35. - (id)initWithCondition:(int)condition;
  36.  
  37. - (int)condition;
  38. - (void)lockWhenCondition:(int)condition;
  39. - (BOOL)tryLock;
  40. - (BOOL)tryLockWhenCondition:(int)condition;
  41. - (void)unlockWithCondition:(int)condition;
  42.  
  43. #if !defined(STRICT_OPENSTEP)
  44.  
  45. - (BOOL)lockBeforeDate:(NSDate *)limit;
  46. - (BOOL)lockWhenCondition:(int)condition beforeDate:(NSDate *)limit;
  47.  
  48. #endif /* !STRICT_OPENSTEP */
  49.  
  50. @end
  51.  
  52. @interface NSRecursiveLock : NSObject <NSLocking> {
  53.     void *_priv;
  54. }
  55.  
  56. - (BOOL)tryLock;
  57.  
  58. #if !defined(STRICT_OPENSTEP)
  59.  
  60. - (BOOL)lockBeforeDate:(NSDate *)limit;
  61.  
  62. #endif /* !STRICT_OPENSTEP */
  63.  
  64. @end
  65.