home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tv20os2.zip / src / TResourceCollection.cpp < prev    next >
C/C++ Source or Header  |  1998-01-19  |  1KB  |  60 lines

  1. /*
  2.  * TResourceCollection.cc
  3.  *
  4.  * Turbo Vision - Version 2.0
  5.  *
  6.  * Copyright (c) 1994 by Borland International
  7.  * All Rights Reserved.
  8.  *
  9.  * Modified by Sergio Sigala <ssigala@globalnet.it>
  10.  */
  11.  
  12. #define Uses_TResourceCollection
  13. #define Uses_TResourceItem
  14. #include <tvision/tv.h>
  15.  
  16. TResourceCollection::TResourceCollection( short aLimit, short aDelta) :
  17.     TStringCollection( aLimit, aDelta)
  18. {
  19. }
  20.  
  21. void TResourceCollection::freeItem( void* item )
  22. {
  23.     delete ((TResourceItem*)item)->key;
  24.     delete (TResourceItem*)item;
  25. }
  26.  
  27. void* TResourceCollection::keyOf( void* item )
  28. {
  29.     return ((TResourceItem *)item)->key;
  30. }
  31.  
  32. #if !defined(NO_STREAMABLE)
  33.  
  34. TStreamable *TResourceCollection::build()
  35. {
  36.     return new TResourceCollection( streamableInit );
  37. }
  38.  
  39. void TResourceCollection::writeItem( void *obj, opstream& os )
  40. {
  41.  
  42.    os << ((TResourceItem *)obj)->pos;
  43.    os << ((TResourceItem *)obj)->size;
  44.    os.writeString(((TResourceItem *)obj)->key);
  45.  
  46. }
  47.  
  48. void *TResourceCollection::readItem( ipstream& is )
  49. {
  50.     TResourceItem *obj;
  51.  
  52.     obj = new TResourceItem;
  53.     is >> obj->pos;
  54.     is >> obj->size;
  55.     obj->key = is.readString();
  56.     return (void *)obj;
  57. }
  58.  
  59. #endif
  60.