home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / inotifev.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  3.0 KB  |  83 lines

  1. #ifndef _INOTIFEV_
  2. #define _INOTIFEV_
  3. /*******************************************************************************
  4. * FILE NAME: inotifev.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     INotificationEvent                                                       *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18.  
  19. #include <ibase.hpp>
  20. #include <inotify.hpp>
  21. #include <ievtdata.hpp>
  22.  
  23. class INotificationEventData;
  24.  
  25. #pragma pack(4)
  26.  
  27. class INotificationEvent : public IBase {
  28. typedef IBase
  29.   Inherited;
  30. public:
  31.  
  32. /*----------------------------- Constructors ---------------------------------*/
  33.   INotificationEvent  ( const INotificationId&   identifier,
  34.                         INotifier&               notifier,
  35.                         Boolean                  notifierAttrChanged=true,
  36.                         const IEventData&        eventData=IEventData(),
  37.                         const IEventData&        observerData=IEventData() );
  38.  
  39.   INotificationEvent  ( const INotificationEvent& event );
  40.  
  41. INotificationEvent
  42.  &operator=           ( const INotificationEvent& event );
  43.  
  44.  ~INotificationEvent ( );
  45.  
  46. /*----------------------------- Event Attributes -----------------------------*/
  47. INotificationEvent
  48.  &setNotifierAttrChanged  ( Boolean           notifierAttrchanged=true ),
  49.  &setEventData            ( const IEventData& eventData ),
  50.  &setObserverData         ( const IEventData& observerData );
  51.  
  52. INotificationId
  53.   notificationId          ( ) const;
  54. INotifier
  55.  ¬ifier                ( ) const;
  56. Boolean
  57.   hasNotifierAttrChanged  ( ) const;
  58. IEventData
  59.   eventData               ( ) const,
  60.   observerData            ( ) const;
  61.  
  62. private:
  63. /*--------------------------------- Private ----------------------------------*/
  64. INotificationId
  65.   fEvtId;
  66. INotifier
  67.  *fEvtNotifier;
  68. Boolean
  69.  fAttrChanged;
  70. IEventData
  71.  fEvtData,
  72.  fObsData;
  73. INotificationEventData
  74.  *fExtendedNotificationData;
  75. }; //INotificationEvent
  76.  
  77. #pragma pack()
  78.  
  79. /*----------------------------- Inline Functions -----------------------------*/
  80.   #include <inotifev.inl>
  81.  
  82. #endif /* _INOTIFEV_ */
  83.