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

  1. #ifndef _IMMFILEM_
  2.    #define _IMMFILEM_
  3. /*******************************************************************************
  4. * FILE NAME: immfilem.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IMMFileMedia                                                             *
  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 <immplayd.hpp>
  19. #include <istring.hpp>
  20.  
  21. class IMMDeviceSettings;
  22.  
  23. #pragma pack(4)
  24.  
  25.  
  26. class IMMFileMedia : public IMMPlayableDevice {
  27. typedef IMMPlayableDevice
  28.   Inherited;
  29. public:
  30. /*------------------------------- Constructors -------------------------------*/
  31. virtual
  32.   ~IMMFileMedia();
  33.  
  34. /*------------------------------- File Loading -------------------------------*/
  35. virtual IMMFileMedia
  36.   &load         (const IString& filename,
  37.                  Boolean readOnly = false,
  38.                  CallType call = wait),
  39.   &loadOnThread (const IString& filename,
  40.                  Boolean readOnly = false);
  41.  
  42. IString
  43.   filename      (CallType call = wait) const;
  44.  
  45. virtual Boolean
  46.   isWriteable   () const;
  47.  
  48. /*-------------------------- Device open overrides ---------------------------*/
  49. virtual IMMFileMedia
  50.   &open              (const IString& fileOrDevice = IString(),
  51.                       Boolean shareable = true,
  52.                       CallType call = wait),
  53.   &openOnThread      (const IString& fileOrDevice = IString(),
  54.                       Boolean shareable = true,
  55.                       CallType call = wait);
  56.  
  57. protected:
  58. /*------------------------------- Constructors -------------------------------*/
  59.   IMMFileMedia ( const IString& deviceName,
  60.                  Boolean openNow,
  61.                  unsigned long instance,
  62.                  Boolean openShareable);
  63.  
  64.   IMMFileMedia ( unsigned long deviceIdentifier,
  65.                  const IString& newAlias = IString());
  66.  
  67. /*---------------------------- Read Only Operations --------------------------*/
  68. virtual IMMFileMedia
  69.   &enableDataUpdate  ( Boolean update=true );
  70.  
  71. /*-------------------------- Device open overrides ---------------------------*/
  72. virtual IMMFileMedia
  73.   &open                   (unsigned long instanceNumber,
  74.                            Boolean shareable = true,
  75.                            CallType call = nowait),
  76.   &openOnThread           (unsigned long instanceNumber,
  77.                            Boolean shareable = true);
  78.  
  79. /*-------------------------------- Implementation ----------------------------*/
  80. virtual IMMFileMedia
  81.   &saveDeviceSettings     (),
  82.   &restoreDeviceSettings  (Boolean newRecordMode = false);
  83.  
  84. private:
  85. /*------------------------------ Hidden Members ------------------------------*/
  86.   IMMFileMedia          ( const IMMFileMedia& device );
  87. IMMFileMedia
  88.  &operator=             ( const IMMFileMedia& device );
  89.  
  90. /*--------------------------------- Private ----------------------------------*/
  91. Boolean
  92.   fWriteable;
  93.  
  94. IMMDeviceSettings
  95.   *fDeviceSettings ;
  96.  
  97. }; // IMMFileMedia
  98.  
  99.  
  100. #pragma pack()
  101.  
  102. #endif /* _IMMFILEM_ */
  103.