Subversion Repositories Kolibri OS

Rev

Rev 8355 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. enum {
  2.         PAGE=1, IMG
  3. };
  4.  
  5. struct _cache
  6. {
  7.         dword current_buf;
  8.         dword current_size;
  9.         dword current_type;
  10.         collection url;
  11.         collection_int data;
  12.         collection_int size;
  13.         collection_int type;
  14.         void add();
  15.         bool has();
  16.         void clear();
  17. } cache=0;
  18.  
  19. void _cache::add(dword _url, _data, _size, _type)
  20. {
  21.         dword data_pointer;
  22.         data_pointer = malloc(_size);
  23.         memmov(data_pointer, _data, _size);
  24.         data.add(data_pointer);
  25.  
  26.         url.add(_url);
  27.         size.add(_size);
  28.         type.add(_type);
  29.  
  30.         current_buf = data_pointer;
  31.         current_size = _size;
  32. }
  33.  
  34. bool _cache::has(dword _link)
  35. {
  36.         int pos;
  37.         pos = url.get_pos_by_name(_link);
  38.         if (pos != -1) {
  39.                 current_buf = data.get(pos);
  40.                 current_size = size.get(pos);
  41.                 current_type = type.get(pos);
  42.                 return true;
  43.         }
  44.         return false;
  45. }
  46.  
  47. void _cache::clear()
  48. {
  49.         int i;
  50.         for (i=0; i<data.count; i++) free(data.get(i));
  51.         url.drop();
  52.         data.drop();
  53.         size.drop();
  54.         type.drop();
  55.         current_buf = NULL;
  56.         current_size = NULL;
  57. }