[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/lcatro/vuln_javascript/master/javascript_array.h [Back]  [Original]

#ifndef _JAVASCRIPT_ARRAY_H__
#define _JAVASCRIPT_ARRAY_H__

#ifndef _JAVASCRIPT_VARIANT_H__
#include "javascript_variant.h"
#endif

enum array_type {
    BASE_ARRAY_CLASS=0,
    INT_ARRAY_CLASS,
    OBJECT_ARRAY_CLASS
};

class base_array {
 public:
  base_array();
  base_array(unsigned long init_length);
  ~base_array();

  virtual void* get_index(unsigned long index);
  virtual void  set_index(unsigned long index,void* index_data);

  virtual unsigned long length(void);
  virtual array_type type(void);

 protected:
  unsigned long array_length;
  array_type    array_type_;
  void*         array_index;
};

class int_array : public base_array {
 public:
  int_array();
  int_array(unsigned long init_length);
};

class object_array : public base_array {
 public:
  object_array();
  object_array(unsigned long init_length);

  virtual void* get_index(unsigned long index);
  virtual void  set_index(unsigned long index,void* index_data);

 private:
  typedef struct object_index_ {
      unsigned long object_index_number;
      javascript_variant_struct object_data;
      object_index_* next_object_index;
  } object_index;
};

#endif

Web Proxy Viewer  |  New URL  |  Original Page