kjsembed
util.h
Go to the documentation of this file.
00001 #ifndef UTIL_H 00002 #define UTIL_H 00003 00004 namespace KJSEmbed 00005 { 00006 bool isBasic(KJS::JSValue *value) 00007 { 00008 switch (value->type()) 00009 { 00010 case KJS::NumberType: 00011 case KJS::BooleanType: 00012 case KJS::StringType: 00013 return true; 00014 break; 00015 default: 00016 return false; 00017 00018 } 00019 } 00020 00021 00022 bool isVariant(KJS::JSObject *object) 00023 { 00024 return object->inherits(&VariantBinding::info); 00025 } 00026 00027 /*bool isValue(KJS::JSObject *object) 00028 { 00029 return object->inherits(&ValueBinding::info); 00030 }*/ 00031 00032 bool isObject(KJS::JSObject *object) 00033 { 00034 return object->inherits(&ObjectBinding::info); 00035 } 00036 00037 /* 00038 So this might be how the val checking would go: 00039 JSValue *arg = args[0]; 00040 if (isBasic(arg)) 00041 { 00042 switch (arg->type()) 00043 { 00044 case KJS::Number: 00045 extractInt...; 00046 break; 00047 case KJS::String: 00048 extractString...; 00049 break; 00050 case KJS::Boolean: 00051 extractBool...; 00052 break; 00053 default: hmmm 00054 } 00055 } 00056 else 00057 { 00058 JSObject *object = arg->toObject(exec); 00059 if (isValue(object)) 00060 { 00061 extractValue... 00062 } 00063 else if (isObject(object)) 00064 { 00065 extractObject... 00066 } 00067 else 00068 { 00069 hmmm 00070 } 00071 } 00072 00073 00074 00075 00076 */ 00077 00078 } 00079 00080 00081 #endif 00082 00083 //kate: indent-spaces on; indent-width 4; replace-tabs on; indent-mode cstyle; 00084
KDE 4.6 API Reference