| OLD | NEW | 
| (Empty) |  | 
 |   1 #ifndef ADBLOCKPLUS_JS_VALUE_H | 
 |   2 #define ADBLOCKPLUS_JS_VALUE_H | 
 |   3  | 
 |   4 #include <vector> | 
 |   5 #include <v8.h> | 
 |   6 #ifdef _MSC_VER | 
 |   7 #include <memory> | 
 |   8 #else | 
 |   9 #include <tr1/memory> | 
 |  10 #endif | 
 |  11  | 
 |  12 namespace AdblockPlus | 
 |  13 { | 
 |  14   class JsEngine; | 
 |  15   class JsValue; | 
 |  16  | 
 |  17   typedef std::tr1::shared_ptr<JsValue> JsValuePtr; | 
 |  18   typedef std::vector<AdblockPlus::JsValuePtr> JsValueList; | 
 |  19  | 
 |  20   class JsValue | 
 |  21   { | 
 |  22     friend class JsEngine; | 
 |  23     friend class JsObject; | 
 |  24   public: | 
 |  25     virtual ~JsValue(); | 
 |  26  | 
 |  27     bool IsUndefined() const; | 
 |  28     bool IsNull() const; | 
 |  29     bool IsString() const; | 
 |  30     bool IsNumber() const; | 
 |  31     bool IsBool() const; | 
 |  32     bool IsObject() const; | 
 |  33     bool IsArray() const; | 
 |  34     bool IsFunction() const; | 
 |  35     std::string AsString() const; | 
 |  36     int64_t AsInt() const; | 
 |  37     bool AsBool() const; | 
 |  38     JsValueList AsList() const; | 
 |  39     JsValuePtr GetProperty(const std::string& name) const; | 
 |  40     void SetProperty(const std::string& name, const std::string& val); | 
 |  41     void SetProperty(const std::string& name, int64_t val); | 
 |  42     void SetProperty(const std::string& name, bool val); | 
 |  43     inline void SetProperty(const std::string& name, const char* val) | 
 |  44     { | 
 |  45       SetProperty(name, std::string(val)); | 
 |  46     } | 
 |  47     inline void SetProperty(const std::string& name, int val) | 
 |  48     { | 
 |  49       SetProperty(name, (int64_t)val); | 
 |  50     } | 
 |  51     std::string GetClassName() const; | 
 |  52     JsValuePtr Call(const JsValueList& params = JsValueList(), | 
 |  53         AdblockPlus::JsValuePtr thisPtr = AdblockPlus::JsValuePtr()) const; | 
 |  54   protected: | 
 |  55     JsValue(JsEngine& jsEngine, v8::Handle<v8::Value> value); | 
 |  56     void SetProperty(const std::string& name, v8::Handle<v8::Value> val); | 
 |  57  | 
 |  58     JsEngine& jsEngine; | 
 |  59     v8::Persistent<v8::Value> value; | 
 |  60   }; | 
 |  61 } | 
 |  62  | 
 |  63 #endif | 
| OLD | NEW |