1/* ------------------------------------------------------------ 2 * Primitive Types 3 * ------------------------------------------------------------ */ 4 5/* boolean */ 6 7%fragment(SWIG_From_frag(bool),"header") { 8SWIGINTERNINLINE 9v8::Handle<v8::Value> 10SWIG_From_dec(bool)(bool value) 11{ 12 return SWIGV8_BOOLEAN_NEW(value); 13} 14} 15 16%fragment(SWIG_AsVal_frag(bool),"header", 17 fragment=SWIG_AsVal_frag(long)) { 18SWIGINTERN 19int SWIG_AsVal_dec(bool)(v8::Handle<v8::Value> obj, bool *val) 20{ 21 if(!obj->IsBoolean()) { 22 return SWIG_ERROR; 23 } 24 25 if (val) *val = SWIGV8_BOOLEAN_VALUE(obj); 26 return SWIG_OK; 27} 28} 29 30/* int */ 31 32%fragment(SWIG_From_frag(int),"header") { 33SWIGINTERNINLINE 34v8::Handle<v8::Value> SWIG_From_dec(int)(int value) 35{ 36 return SWIGV8_INT32_NEW(value); 37} 38} 39 40%fragment(SWIG_AsVal_frag(int),"header") { 41SWIGINTERN 42int SWIG_AsVal_dec(int)(v8::Handle<v8::Value> valRef, int* val) 43{ 44 if (!valRef->IsNumber()) { 45 return SWIG_TypeError; 46 } 47 if(val) *val = SWIGV8_INTEGER_VALUE(valRef); 48 49 return SWIG_OK; 50} 51} 52 53/* long */ 54 55%fragment(SWIG_From_frag(long),"header") { 56SWIGINTERNINLINE 57v8::Handle<v8::Value> SWIG_From_dec(long)(long value) 58{ 59 return SWIGV8_NUMBER_NEW(value); 60} 61} 62 63%fragment(SWIG_AsVal_frag(long),"header", 64 fragment="SWIG_CanCastAsInteger") { 65SWIGINTERN 66int SWIG_AsVal_dec(long)(v8::Handle<v8::Value> obj, long* val) 67{ 68 if (!obj->IsNumber()) { 69 return SWIG_TypeError; 70 } 71 if(val) *val = (long) SWIGV8_INTEGER_VALUE(obj); 72 73 return SWIG_OK; 74} 75} 76 77/* unsigned long */ 78 79%fragment(SWIG_From_frag(unsigned long),"header", 80 fragment=SWIG_From_frag(long)) { 81SWIGINTERNINLINE 82v8::Handle<v8::Value> SWIG_From_dec(unsigned long)(unsigned long value) 83{ 84 return (value > LONG_MAX) ? 85 SWIGV8_INTEGER_NEW_UNS(value) : SWIGV8_INTEGER_NEW(%numeric_cast(value,long)); 86} 87} 88 89%fragment(SWIG_AsVal_frag(unsigned long),"header", 90 fragment="SWIG_CanCastAsInteger") { 91SWIGINTERN 92int SWIG_AsVal_dec(unsigned long)(v8::Handle<v8::Value> obj, unsigned long *val) 93{ 94 if(!obj->IsNumber()) { 95 return SWIG_TypeError; 96 } 97 98 long longVal = (long) SWIGV8_NUMBER_VALUE(obj); 99 100 if(longVal < 0) { 101 return SWIG_OverflowError; 102 } 103 104 if(val) *val = longVal; 105 106 return SWIG_OK; 107} 108} 109 110/* long long */ 111// Note: these are copied from 'long' and probably need fixing 112 113%fragment(SWIG_From_frag(long long),"header", 114 fragment=SWIG_From_frag(long), 115 fragment="SWIG_LongLongAvailable") { 116%#ifdef SWIG_LONG_LONG_AVAILABLE 117SWIGINTERNINLINE 118v8::Handle<v8::Value> SWIG_From_dec(long long)(long long value) 119{ 120 return SWIGV8_NUMBER_NEW(value); 121} 122%#endif 123} 124 125%fragment(SWIG_AsVal_frag(long long),"header", 126 fragment=SWIG_AsVal_frag(long), 127 fragment="SWIG_CanCastAsInteger", 128 fragment="SWIG_LongLongAvailable") { 129%#ifdef SWIG_LONG_LONG_AVAILABLE 130SWIGINTERN 131int SWIG_AsVal_dec(long long)(v8::Handle<v8::Value> obj, long long* val) 132{ 133 if (!obj->IsNumber()) { 134 return SWIG_TypeError; 135 } 136 if(val) *val = (long long) SWIGV8_INTEGER_VALUE(obj); 137 138 return SWIG_OK; 139} 140%#endif 141} 142 143/* unsigned long long */ 144// Note: these are copied from 'unsigned long' and probably need fixing 145 146%fragment(SWIG_From_frag(unsigned long long),"header", 147 fragment=SWIG_From_frag(long long), 148 fragment="SWIG_LongLongAvailable") { 149%#ifdef SWIG_LONG_LONG_AVAILABLE 150SWIGINTERNINLINE 151v8::Handle<v8::Value> SWIG_From_dec(unsigned long long)(unsigned long long value) 152{ 153 return (value > LONG_MAX) ? 154 SWIGV8_INTEGER_NEW_UNS(value) : SWIGV8_INTEGER_NEW(%numeric_cast(value,long)); 155} 156%#endif 157} 158 159%fragment(SWIG_AsVal_frag(unsigned long long),"header", 160 fragment=SWIG_AsVal_frag(unsigned long), 161 fragment="SWIG_CanCastAsInteger", 162 fragment="SWIG_LongLongAvailable") { 163%#ifdef SWIG_LONG_LONG_AVAILABLE 164SWIGINTERN 165int SWIG_AsVal_dec(unsigned long long)(v8::Handle<v8::Value> obj, unsigned long long *val) 166{ 167 if(!obj->IsNumber()) { 168 return SWIG_TypeError; 169 } 170 171 long long longVal = (long long) SWIGV8_NUMBER_VALUE(obj); 172 173 if(longVal < 0) { 174 return SWIG_OverflowError; 175 } 176 177 if(val) *val = longVal; 178 179 return SWIG_OK; 180} 181%#endif 182} 183 184/* double */ 185 186%fragment(SWIG_From_frag(double),"header") { 187SWIGINTERN 188v8::Handle<v8::Value> SWIG_From_dec(double) (double val) 189{ 190 return SWIGV8_NUMBER_NEW(val); 191} 192} 193 194%fragment(SWIG_AsVal_frag(double),"header") { 195SWIGINTERN 196int SWIG_AsVal_dec(double)(v8::Handle<v8::Value> obj, double *val) 197{ 198 if(!obj->IsNumber()) { 199 return SWIG_TypeError; 200 } 201 if(val) *val = SWIGV8_NUMBER_VALUE(obj); 202 203 return SWIG_OK; 204} 205} 206 207