home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / appkit / NXJournaler.h < prev    next >
Text File  |  1991-07-25  |  3KB  |  98 lines

  1. /*
  2.     NXJournaler.h
  3.     Application Kit, Release 2.0
  4.     Copyright (c) 1988, 1989, 1990, NeXT, Inc.  All rights reserved. 
  5. */
  6.  
  7. #import <objc/Object.h>
  8. #import <dpsclient/dpsclient.h>
  9. #import    <sound/sound.h>
  10.  
  11. /* NX_JOURNALEVENT subtypes */
  12.  
  13. #define NX_WINDRAGGED        0
  14. #define NX_MOUSELOCATION    1
  15. #define NX_LASTJRNEVENT        2
  16.  
  17. /* Window encodings in .evt file */
  18.  
  19. #define NX_KEYWINDOW         (-1)
  20. #define NX_MAINWINDOW         (-2)
  21. #define NX_MAINMENU         (-3)
  22. #define NX_MOUSEDOWNWINDOW    (-4)
  23. #define NX_APPICONWINDOW    (-5)
  24. #define NX_UNKNOWNWINDOW    (-6)
  25.  
  26. /* Values for eventStatus and soundStatus */
  27.  
  28. #define NX_STOPPED    0
  29. #define NX_PLAYING    1
  30. #define NX_RECORDING    2
  31.  
  32. #define NX_NONABORTABLEFLAG    31
  33. #define NX_NONABORTABLEMASK    (1 << NX_NONABORTABLEFLAG)
  34.  
  35. /* Values for recordDevice */
  36.  
  37. #define NX_CODEC    0
  38. #define NX_DSP        1
  39.  
  40. #define NX_JOURNALREQUEST    "NXJournalerRequest"
  41.  
  42. typedef struct {
  43.     int                 version;
  44.     unsigned int        offsetToAppNames;
  45.     unsigned int        lastEventTime;
  46.     unsigned int        reserved1;
  47.     unsigned int        reserved2;
  48. }                   NXUEnalHeader;
  49.  
  50. void NXJournalMouse(void);
  51.  
  52. @interface NXJournaler : Object
  53. {
  54.  
  55.  /* Used exclusively by master journaler */
  56.     long                _startTime;
  57.     int                 _soundStatus;
  58.     id                  _appsData;
  59.     SNDSoundStruct     *_sndBuffer;
  60.     char               *_soundfile;
  61.     int                 _recordDevice;
  62.     NXEvent             _nextEvent;
  63.     NXStream           *_eventStream;
  64.     DPSTimedEntry       _teNum;
  65.     NXJournalHeader    _journalHeader;
  66.  
  67.  /* Used exclusively by slave journaler */
  68.     id                  _mouseDownWindow;
  69.     int                 _mouseDownWindowNum;
  70.     int                 _applicationNum;
  71.     int                 _dragWindowNum;
  72.     unsigned int    _oldEventMask;
  73.     DPSEventFilterFunc  _oldEventFilter;
  74.     BOOL                _pendingStop;
  75.  
  76.  /* Used by both master and slave journalers */
  77.     id                  _listener;
  78.     id                  _speaker;
  79.     id                  _delegate;
  80.     int                 _eventStatus;
  81. }
  82.  
  83. - init;
  84.  
  85. - free;
  86. - journalerDidEnd:journaler;
  87. - journalerDidUserAbort:journaler;
  88. - delegate;
  89. - setDelegate:anObject;
  90. - getEventStatus:(int *)eventStatusPtr soundStatus:(int *)soundStatusPtr eventStream:(NXStream **)streamPtr soundfile:(char **)soundfilePtr;
  91. - setEventStatus:(int)eventStatus soundStatus:(int)soundStatus eventStream:(NXStream *)stream soundfile:(const char *)soundfile;
  92. - (int)recordDevice;
  93. - setRecordDevice:(int)newRecordDevice;
  94. - listener;
  95. - speaker;
  96.  
  97. @end
  98.