home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / vista_1 / !Vista_h_datasave < prev    next >
Encoding:
Text File  |  1996-01-25  |  2.4 KB  |  78 lines

  1. // **************************************************************************
  2. //                     Copyright 1996 David Allison
  3. //
  4. //             VV    VV    IIIIII     SSSSS     TTTTTT       AA
  5. //             VV    VV      II      SS           TT       AA  AA
  6. //             VV    VV      II        SSSS       TT      AA    AA
  7. //              VV  VV       II           SS      TT      AAAAAAAA
  8. //                VV       IIIIII     SSSS        TT      AA    AA
  9. //
  10. //                    MULTI-THREADED C++ WIMP CLASS LIBRARY
  11. //                                for RISC OS
  12. // **************************************************************************
  13. //
  14. //             P U B L I C    D O M A I N    L I C E N C E
  15. //             -------------------------------------------
  16. //
  17. //     This library is copyright. You may not sell the library for
  18. //     profit, but you may sell products which use it providing
  19. //     those products are presented as executable code and are not
  20. //     libraries themselves.  The library is supplied without any
  21. //     warranty and the copyright owner cannot be held responsible for
  22. //     damage resulting from failure of any part of this library.
  23. //
  24. //          See the User Manual for details of the licence.
  25. //
  26. // *************************************************************************
  27.  
  28.  
  29.  
  30.  
  31. //
  32. // datasave channel
  33. //
  34.  
  35. #ifndef __datasave_h
  36. #define __datasave_h
  37.  
  38. #ifndef __task_h
  39. #include "Vista:task.h"
  40. #endif
  41.  
  42.  
  43. //
  44. // datasave transeiver
  45. //
  46.  
  47. class DataSave : public Channel
  48.    {
  49.    public:
  50.       struct saveackdata
  51.          {
  52.          int window ;
  53.          int icon ;
  54.          int x ;
  55.          int y ;
  56.          int est_size ;
  57.          int filetype ;
  58.          char pathname[1] ;
  59.          } ;
  60.       DataSave(Task *task) ;
  61.       virtual ~DataSave() ;
  62.       virtual void receive (int action, int task, int my_ref, int your_ref, int data_length, void *data) = 0 ;   // receive a message
  63.       int accept (int your_ref) ;   // accept a message?
  64.       virtual void save (int window, int icon, int x, int y, char *leaf) ;
  65.       virtual void save (char *path) ;
  66.       void datasave (int window, int icon, int x, int y, int est_size, int filetype, char *leaf) ;
  67.       void datasaveack (int my_ref, saveackdata *data, char *path) ;
  68.       void dataload (int task, int my_ref, int your_ref, int data_length, void *data) ;
  69.       void dataloadack (int task, int my_ref, int your_ref, int data_length, void *data) ;
  70.    protected:
  71.       int my_ref ;
  72.    } ;
  73.  
  74.  
  75.  
  76.  
  77. #endif
  78.