diff options
Diffstat (limited to 'WebKit/win/COMVariantSetter.h')
-rw-r--r-- | WebKit/win/COMVariantSetter.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/WebKit/win/COMVariantSetter.h b/WebKit/win/COMVariantSetter.h index 76ca927..22c20e4 100644 --- a/WebKit/win/COMVariantSetter.h +++ b/WebKit/win/COMVariantSetter.h @@ -57,6 +57,19 @@ template<> struct COMVariantSetter<WebCore::String> : COMVariantSetterBase<WebCo }
};
+template<> struct COMVariantSetter<bool> : COMVariantSetterBase<bool>
+{
+ static const VARENUM VariantType = VT_BOOL;
+
+ static void setVariant(VARIANT* variant, bool value)
+ {
+ ASSERT(V_VT(variant) == VT_EMPTY);
+
+ V_VT(variant) = VariantType;
+ V_BOOL(variant) = value;
+ }
+};
+
template<> struct COMVariantSetter<unsigned long long> : COMVariantSetterBase<unsigned long long>
{
static const VARENUM VariantType = VT_UI8;
@@ -83,6 +96,19 @@ template<> struct COMVariantSetter<int> : COMVariantSetterBase<int> }
};
+template<> struct COMVariantSetter<float> : COMVariantSetterBase<float>
+{
+ static const VARENUM VariantType = VT_R4;
+
+ static void setVariant(VARIANT* variant, float value)
+ {
+ ASSERT(V_VT(variant) == VT_EMPTY);
+
+ V_VT(variant) = VariantType;
+ V_R4(variant) = value;
+ }
+};
+
template<typename T> struct COMVariantSetter<COMPtr<T> > : COMVariantSetterBase<COMPtr<T> >
{
static const VARENUM VariantType = VT_UNKNOWN;
|