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

  1. #ifndef _ISTDNTFY_
  2. #define _ISTDNTFY_
  3. /*******************************************************************************
  4. * FILE NAME: istdntfy.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IStandardNotifier                                                        *
  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. #include <inotify.hpp>
  19. #include <iobslist.hpp>
  20. #include <ievtdata.hpp>
  21.  
  22. class IObserverList;
  23. class IObserver;
  24. class INotificationEvent;
  25.  
  26. #pragma pack(4)
  27.  
  28. class IStandardNotifier : public INotifier {
  29. typedef INotifier
  30.   Inherited;
  31.  
  32. public:
  33. /*---------------------------- Constructors ----------------------------------*/
  34.   IStandardNotifier  ( );
  35.   IStandardNotifier  ( const IStandardNotifier& copy );
  36. IStandardNotifier
  37.  &operator=          ( const IStandardNotifier& aStandardNotifier );
  38.  
  39. virtual
  40.  ~IStandardNotifier  ( );
  41.  
  42. /*---------------------- Notification Members --------------------------------*/
  43. virtual IStandardNotifier
  44.  &enableNotification       ( Boolean enable = true ),
  45.  &disableNotification      ( );
  46.  
  47. virtual Boolean
  48.   isEnabledForNotification ( ) const;
  49.  
  50. /*---------------------------- Observer Notification -------------------------*/
  51. virtual IStandardNotifier
  52.  ¬ifyObservers          ( const INotificationEvent& anEvent );
  53.  
  54. /*----------------------- Notification Event Descriptions --------------------*/
  55. static INotificationId const
  56.   IC_IMPORTB deleteId;
  57.  
  58. protected:
  59. /*-------------------------- Observer Addition and Removal -------------------*/
  60. virtual IStandardNotifier
  61.  &addObserver           ( IObserver&        observer,
  62.                           const IEventData& userData = IEventData(0) ),
  63.  &removeObserver        ( IObserver&  observer ),
  64.  &removeAllObservers    ( );
  65.  
  66. virtual IObserverList
  67.  &observerList          ( ) const;
  68.  
  69. /*---------------------------- Observer Notification -------------------------*/
  70. virtual IStandardNotifier
  71.   ¬ifyObservers      ( const INotificationId& nId );
  72.  
  73. private:
  74. /*--------------------------------- Private ----------------------------------*/
  75. IObserverList
  76.   *observers;
  77. Boolean
  78.   enabled;
  79. }; //IStandardNotifier
  80.  
  81. #pragma pack()
  82.  
  83. #endif /* _ISTDNTFY_ */
  84.