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

  1. #ifndef _IMMMAUD_
  2.    #define _IMMMAUD_
  3. /*******************************************************************************
  4. * FILE NAME: immmaud.hpp                                                       *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IMMMasterAudio                                                           *
  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 <istdntfy.hpp>
  19. #include <immdev.hpp>
  20.  
  21. class IMMMasterAudioData;
  22.  
  23. #pragma pack(4)
  24.  
  25.  
  26. class IMMMasterAudio : public IStandardNotifier {
  27. typedef IStandardNotifier
  28.   Inherited;
  29. public:
  30. /*----------------------------- Constructors ---------------------------------*/
  31.   IMMMasterAudio  ();
  32.  
  33. virtual
  34.   ~IMMMasterAudio ();
  35.  
  36. /*-------------------------------- Setting Source ----------------------------*/
  37. enum SettingSource
  38. {
  39.   saved   = 0x00004000L,
  40.   current = 0x00008000L
  41. };
  42.  
  43. /*----------------------------- Speakers -------------------------------------*/
  44. virtual IMMMasterAudio
  45.   &enableSpeakers      (Boolean enable = true, IMMDevice::CallType call = IMMDevice::wait),
  46.   &disableSpeakers     (IMMDevice::CallType call = IMMDevice::wait),
  47.   &saveSpeakersSetting (IMMDevice::CallType call = IMMDevice::wait);
  48. Boolean
  49.   areSpeakersEnabled   (SettingSource source = current,
  50.                         IMMDevice::CallType call = IMMDevice::wait) const;
  51.  
  52. /*----------------------------- Headphones -----------------------------------*/
  53. virtual IMMMasterAudio
  54.   &enableHeadphones      (Boolean enable = true, IMMDevice::CallType call = IMMDevice::wait),
  55.   &disableHeadphones     (IMMDevice::CallType call = IMMDevice::wait),
  56.   &saveHeadphonesSetting (IMMDevice::CallType call = IMMDevice::wait);
  57. Boolean
  58.   areHeadphonesEnabled (SettingSource source = current,
  59.                         IMMDevice::CallType call = IMMDevice::wait) const;
  60.  
  61. /*----------------------------- Volume ---------------------------------------*/
  62. virtual IMMMasterAudio
  63.   &setVolume  (unsigned long volume , IMMDevice::CallType call = IMMDevice::wait),
  64.   &saveVolume (IMMDevice::CallType call = IMMDevice::wait);
  65. unsigned long
  66.   volume      (SettingSource source = current,
  67.                IMMDevice::CallType call = IMMDevice::wait) const;
  68. private:
  69. /*--------------------------------- Private ----------------------------------*/
  70. IMMMasterAudioData*
  71.   fMasterAudioData;
  72. }; // IMMMasterAudio
  73.  
  74.  
  75. #pragma pack()
  76.  
  77. #endif /* _IMMMAUD_ */
  78.