Fix for bug 125465. r=jag, sr=jband, a=asa. Add AString, ACString, and AUTF8String support to XPCOM's variant data type. Also, add forward declarations of AString and ACString to nsrootidl.idl.
This commit is contained in:
@@ -352,6 +352,8 @@ XPCVariant::VariantDataToJS(XPCCallContext& ccx,
|
|||||||
nsXPTCVariant xpctvar;
|
nsXPTCVariant xpctvar;
|
||||||
nsID iid;
|
nsID iid;
|
||||||
nsAutoString astring;
|
nsAutoString astring;
|
||||||
|
nsCAutoString cString;
|
||||||
|
nsUTF8String utf8String;
|
||||||
PRUint32 size;
|
PRUint32 size;
|
||||||
xpctvar.flags = 0;
|
xpctvar.flags = 0;
|
||||||
JSBool success;
|
JSBool success;
|
||||||
@@ -399,11 +401,29 @@ XPCVariant::VariantDataToJS(XPCCallContext& ccx,
|
|||||||
xpctvar.val.p = &iid;
|
xpctvar.val.p = &iid;
|
||||||
break;
|
break;
|
||||||
case nsIDataType::VTYPE_ASTRING:
|
case nsIDataType::VTYPE_ASTRING:
|
||||||
|
if(NS_FAILED(variant->GetAsAString(astring)))
|
||||||
|
return JS_FALSE;
|
||||||
|
xpctvar.type = (uint8)(TD_ASTRING | XPT_TDP_POINTER);
|
||||||
|
xpctvar.val.p = &astring;
|
||||||
|
break;
|
||||||
|
case nsIDataType::VTYPE_DOMSTRING:
|
||||||
if(NS_FAILED(variant->GetAsAString(astring)))
|
if(NS_FAILED(variant->GetAsAString(astring)))
|
||||||
return JS_FALSE;
|
return JS_FALSE;
|
||||||
xpctvar.type = (uint8)(TD_DOMSTRING | XPT_TDP_POINTER);
|
xpctvar.type = (uint8)(TD_DOMSTRING | XPT_TDP_POINTER);
|
||||||
xpctvar.val.p = &astring;
|
xpctvar.val.p = &astring;
|
||||||
break;
|
break;
|
||||||
|
case nsIDataType::VTYPE_CSTRING:
|
||||||
|
if(NS_FAILED(variant->GetAsACString(cString)))
|
||||||
|
return JS_FALSE;
|
||||||
|
xpctvar.type = (uint8)(TD_CSTRING | XPT_TDP_POINTER);
|
||||||
|
xpctvar.val.p = &cString;
|
||||||
|
break;
|
||||||
|
case nsIDataType::VTYPE_UTF8STRING:
|
||||||
|
if(NS_FAILED(variant->GetAsAUTF8String(utf8String)))
|
||||||
|
return JS_FALSE;
|
||||||
|
xpctvar.type = (uint8)(TD_UTF8STRING | XPT_TDP_POINTER);
|
||||||
|
xpctvar.val.p = &utf8String;
|
||||||
|
break;
|
||||||
case nsIDataType::VTYPE_CHAR_STR:
|
case nsIDataType::VTYPE_CHAR_STR:
|
||||||
if(NS_FAILED(variant->GetAsString((char**)&xpctvar.val.p)))
|
if(NS_FAILED(variant->GetAsString((char**)&xpctvar.val.p)))
|
||||||
return JS_FALSE;
|
return JS_FALSE;
|
||||||
@@ -501,6 +521,9 @@ XPCVariant::VariantDataToJS(XPCCallContext& ccx,
|
|||||||
// The rest are illegal.
|
// The rest are illegal.
|
||||||
case nsIDataType::VTYPE_VOID:
|
case nsIDataType::VTYPE_VOID:
|
||||||
case nsIDataType::VTYPE_ASTRING:
|
case nsIDataType::VTYPE_ASTRING:
|
||||||
|
case nsIDataType::VTYPE_DOMSTRING:
|
||||||
|
case nsIDataType::VTYPE_CSTRING:
|
||||||
|
case nsIDataType::VTYPE_UTF8STRING:
|
||||||
case nsIDataType::VTYPE_WSTRING_SIZE_IS:
|
case nsIDataType::VTYPE_WSTRING_SIZE_IS:
|
||||||
case nsIDataType::VTYPE_STRING_SIZE_IS:
|
case nsIDataType::VTYPE_STRING_SIZE_IS:
|
||||||
case nsIDataType::VTYPE_ARRAY:
|
case nsIDataType::VTYPE_ARRAY:
|
||||||
@@ -659,6 +682,26 @@ NS_IMETHODIMP XPCVariant::GetAsAString(nsAWritableString & _retval)
|
|||||||
return nsVariant::ConvertToAString(mData, _retval);
|
return nsVariant::ConvertToAString(mData, _retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* DOMString getAsDOMString (); */
|
||||||
|
NS_IMETHODIMP XPCVariant::GetAsDOMString(nsAWritableString & _retval)
|
||||||
|
{
|
||||||
|
// A DOMString maps to an AString internally, so we can re-use
|
||||||
|
// ConvertToAString here.
|
||||||
|
return nsVariant::ConvertToAString(mData, _retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ACString getAsACString (); */
|
||||||
|
NS_IMETHODIMP XPCVariant::GetAsACString(nsACString & _retval)
|
||||||
|
{
|
||||||
|
return nsVariant::ConvertToACString(mData, _retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* AUTF8String getAsAUTF8String (); */
|
||||||
|
NS_IMETHODIMP XPCVariant::GetAsAUTF8String(nsAUTF8String & _retval)
|
||||||
|
{
|
||||||
|
return nsVariant::ConvertToAUTF8String(mData, _retval);
|
||||||
|
}
|
||||||
|
|
||||||
/* string getAsString (); */
|
/* string getAsString (); */
|
||||||
NS_IMETHODIMP XPCVariant::GetAsString(char **_retval)
|
NS_IMETHODIMP XPCVariant::GetAsString(char **_retval)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -103,10 +103,10 @@ static nsresult ConvertAndCopyVariant(nsIVariant *inVar, PRUint16 type, nsIVaria
|
|||||||
|
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case nsIDataType::VTYPE_INT8:
|
case nsIDataType::VTYPE_INT8:
|
||||||
MEMBER_COPY_CAST(Int8, PRUint8)
|
MEMBER_COPY_CAST(Int8, PRUint8)
|
||||||
break;
|
break;
|
||||||
case nsIDataType::VTYPE_INT16:
|
case nsIDataType::VTYPE_INT16:
|
||||||
MEMBER_COPY(Int16)
|
MEMBER_COPY(Int16)
|
||||||
break;
|
break;
|
||||||
case nsIDataType::VTYPE_INT32:
|
case nsIDataType::VTYPE_INT32:
|
||||||
@@ -152,6 +152,7 @@ static nsresult ConvertAndCopyVariant(nsIVariant *inVar, PRUint16 type, nsIVaria
|
|||||||
MEMBER_COPY(ID)
|
MEMBER_COPY(ID)
|
||||||
break;
|
break;
|
||||||
case nsIDataType::VTYPE_ASTRING:
|
case nsIDataType::VTYPE_ASTRING:
|
||||||
|
case nsIDataType::VTYPE_DOMSTRING:
|
||||||
{
|
{
|
||||||
nsAutoString str;
|
nsAutoString str;
|
||||||
rv = inVar->GetAsAString(str);
|
rv = inVar->GetAsAString(str);
|
||||||
@@ -160,6 +161,24 @@ static nsresult ConvertAndCopyVariant(nsIVariant *inVar, PRUint16 type, nsIVaria
|
|||||||
NS_ENSURE_SUCCESS(rv,rv);
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case nsIDataType::VTYPE_UTF8STRING:
|
||||||
|
{
|
||||||
|
nsUTF8String str;
|
||||||
|
rv = inVar->GetAsAUTF8String(str);
|
||||||
|
if(NS_FAILED(rv)) return rv;
|
||||||
|
rv = outVar->SetAsAUTF8String(str);
|
||||||
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case nsIDataType::VTYPE_CSTRING:
|
||||||
|
{
|
||||||
|
nsCAutoString str;
|
||||||
|
rv = inVar->GetAsACString(str);
|
||||||
|
if(NS_FAILED(rv)) return rv;
|
||||||
|
rv = outVar->SetAsACString(str);
|
||||||
|
NS_ENSURE_SUCCESS(rv,rv);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case nsIDataType::VTYPE_CHAR_STR:
|
case nsIDataType::VTYPE_CHAR_STR:
|
||||||
{
|
{
|
||||||
char* str;
|
char* str;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ const DataTypeArray = [
|
|||||||
Components.interfaces.nsIDataType.VTYPE_WCHAR ,
|
Components.interfaces.nsIDataType.VTYPE_WCHAR ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_VOID ,
|
Components.interfaces.nsIDataType.VTYPE_VOID ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_ID ,
|
Components.interfaces.nsIDataType.VTYPE_ID ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_ASTRING ,
|
Components.interfaces.nsIDataType.VTYPE_DOMSTRING ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_CHAR_STR ,
|
Components.interfaces.nsIDataType.VTYPE_CHAR_STR ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_WCHAR_STR ,
|
Components.interfaces.nsIDataType.VTYPE_WCHAR_STR ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_INTERFACE ,
|
Components.interfaces.nsIDataType.VTYPE_INTERFACE ,
|
||||||
@@ -28,6 +28,9 @@ const DataTypeArray = [
|
|||||||
Components.interfaces.nsIDataType.VTYPE_ARRAY ,
|
Components.interfaces.nsIDataType.VTYPE_ARRAY ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_STRING_SIZE_IS ,
|
Components.interfaces.nsIDataType.VTYPE_STRING_SIZE_IS ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_WSTRING_SIZE_IS ,
|
Components.interfaces.nsIDataType.VTYPE_WSTRING_SIZE_IS ,
|
||||||
|
Components.interfaces.nsIDataType.VTYPE_UTF8STRING ,
|
||||||
|
Components.interfaces.nsIDataType.VTYPE_CSTRING ,
|
||||||
|
Components.interfaces.nsIDataType.VTYPE_ASTRING ,
|
||||||
Components.interfaces.nsIDataType.VTYPE_EMPTY
|
Components.interfaces.nsIDataType.VTYPE_EMPTY
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -47,7 +50,7 @@ const ShortNames = [
|
|||||||
{name: "WC", number: Components.interfaces.nsIDataType.VTYPE_WCHAR },
|
{name: "WC", number: Components.interfaces.nsIDataType.VTYPE_WCHAR },
|
||||||
{name: "VD", number: Components.interfaces.nsIDataType.VTYPE_VOID },
|
{name: "VD", number: Components.interfaces.nsIDataType.VTYPE_VOID },
|
||||||
{name: "ID", number: Components.interfaces.nsIDataType.VTYPE_ID },
|
{name: "ID", number: Components.interfaces.nsIDataType.VTYPE_ID },
|
||||||
{name: "AS", number: Components.interfaces.nsIDataType.VTYPE_ASTRING },
|
{name: "DS", number: Components.interfaces.nsIDataType.VTYPE_DOMSTRING },
|
||||||
{name: "ST", number: Components.interfaces.nsIDataType.VTYPE_CHAR_STR },
|
{name: "ST", number: Components.interfaces.nsIDataType.VTYPE_CHAR_STR },
|
||||||
{name: "WS", number: Components.interfaces.nsIDataType.VTYPE_WCHAR_STR },
|
{name: "WS", number: Components.interfaces.nsIDataType.VTYPE_WCHAR_STR },
|
||||||
{name: "NS", number: Components.interfaces.nsIDataType.VTYPE_INTERFACE },
|
{name: "NS", number: Components.interfaces.nsIDataType.VTYPE_INTERFACE },
|
||||||
@@ -55,6 +58,9 @@ const ShortNames = [
|
|||||||
{name: "AR", number: Components.interfaces.nsIDataType.VTYPE_ARRAY },
|
{name: "AR", number: Components.interfaces.nsIDataType.VTYPE_ARRAY },
|
||||||
{name: "Ss", number: Components.interfaces.nsIDataType.VTYPE_STRING_SIZE_IS },
|
{name: "Ss", number: Components.interfaces.nsIDataType.VTYPE_STRING_SIZE_IS },
|
||||||
{name: "Ws", number: Components.interfaces.nsIDataType.VTYPE_WSTRING_SIZE_IS},
|
{name: "Ws", number: Components.interfaces.nsIDataType.VTYPE_WSTRING_SIZE_IS},
|
||||||
|
{name: "US", number: Components.interfaces.nsIDataType.VTYPE_UTF8STRING },
|
||||||
|
{name: "CS", number: Components.interfaces.nsIDataType.VTYPE_CSTRING },
|
||||||
|
{name: "AS", number: Components.interfaces.nsIDataType.VTYPE_ASTRING },
|
||||||
{name: "EM", number: Components.interfaces.nsIDataType.VTYPE_EMPTY }
|
{name: "EM", number: Components.interfaces.nsIDataType.VTYPE_EMPTY }
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -191,74 +197,80 @@ function TestDoubleConvert(value, comment, eq_fun, table) {
|
|||||||
//
|
//
|
||||||
|
|
||||||
const SingleConvertResultsTableFor_String_Foo = [
|
const SingleConvertResultsTableFor_String_Foo = [
|
||||||
/*I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,AS,ST,WS,NS,IF,AR,Ss,Ws,EM */
|
/*I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,DS,ST,WS,NS,IF,AR,Ss,Ws,US,CS,AS,EM */
|
||||||
_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e
|
_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e
|
||||||
];
|
];
|
||||||
|
|
||||||
const SingleConvertResultsTableFor_String_5 = [
|
const SingleConvertResultsTableFor_String_5 = [
|
||||||
/*I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,AS,ST,WS,NS,IF,AR,Ss,Ws,EM */
|
/*I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,DS,ST,WS,NS,IF,AR,Ss,Ws,US,CS,AS,EM */
|
||||||
eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e
|
eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e
|
||||||
];
|
];
|
||||||
|
|
||||||
const SingleConvertResultsTableFor_Number_20 = [
|
const SingleConvertResultsTableFor_Number_20 = [
|
||||||
/*I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,AS,ST,WS,NS,IF,AR,Ss,Ws,EM */
|
/*I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,DS,ST,WS,NS,IF,AR,Ss,Ws,US,CS,AS,EM */
|
||||||
eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e
|
eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e
|
||||||
];
|
];
|
||||||
|
|
||||||
const DoubleConvertResultsTableFor_String_Foo = [
|
const DoubleConvertResultsTableFor_String_Foo = [
|
||||||
/* I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,AS,ST,WS,NS,IF,AR,Ss,Ws,EM */
|
/* I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,DS,ST,WS,NS,IF,AR,Ss,Ws,US,CS,AS,EM */
|
||||||
/*I1*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I1*/
|
/*I1*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I1*/
|
||||||
/*I2*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I2*/
|
/*I2*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I2*/
|
||||||
/*I4*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I4*/
|
/*I4*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I4*/
|
||||||
/*I8*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I8*/
|
/*I8*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*I8*/
|
||||||
/*U1*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U1*/
|
/*U1*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U1*/
|
||||||
/*U2*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U2*/
|
/*U2*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U2*/
|
||||||
/*U4*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U4*/
|
/*U4*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U4*/
|
||||||
/*U8*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U8*/
|
/*U8*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*U8*/
|
||||||
/*FL*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*FL*/
|
/*FL*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*FL*/
|
||||||
/*DB*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*DB*/
|
/*DB*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*DB*/
|
||||||
/*BO*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*BO*/
|
/*BO*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*BO*/
|
||||||
/*CH*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*CH*/
|
/*CH*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*CH*/
|
||||||
/*WC*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*WC*/
|
/*WC*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*WC*/
|
||||||
/*VD*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*VD*/
|
/*VD*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*VD*/
|
||||||
/*ID*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*ID*/
|
/*ID*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*ID*/
|
||||||
/*AS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*AS*/
|
/*DS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*DS*/
|
||||||
/*ST*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*ST*/
|
/*ST*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*ST*/
|
||||||
/*WS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*WS*/
|
/*WS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*WS*/
|
||||||
/*NS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*NS*/
|
/*NS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*NS*/
|
||||||
/*IF*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*IF*/
|
/*IF*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*IF*/
|
||||||
/*AR*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*AR*/
|
/*AR*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*AR*/
|
||||||
/*Ss*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*Ss*/
|
/*Ss*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*Ss*/
|
||||||
/*Ws*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*Ws*/
|
/*Ws*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*Ws*/
|
||||||
/*EM*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e] /*EM*/
|
/*US*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*US*/
|
||||||
|
/*CS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*CS*/
|
||||||
|
/*AS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*AS*/
|
||||||
|
/*EM*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e] /*EM*/
|
||||||
];
|
];
|
||||||
|
|
||||||
const DoubleConvertResultsTableFor_String_Five = [
|
const DoubleConvertResultsTableFor_String_Five = [
|
||||||
/* I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,AS,ST,WS,NS,IF,AR,Ss,Ws,EM */
|
/* I1,I2,I4,I8,U1,U2,U4,U8,FL,DB,BO,CH,WC,VD,ID,DS,ST,WS,NS,IF,AR,Ss,Ws,US,CS,AS,EM */
|
||||||
/*I1*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*I1*/
|
/*I1*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*I1*/
|
||||||
/*I2*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*I2*/
|
/*I2*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*I2*/
|
||||||
/*I4*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*I4*/
|
/*I4*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*I4*/
|
||||||
/*I8*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*I8*/
|
/*I8*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*I8*/
|
||||||
/*U1*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*U1*/
|
/*U1*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*U1*/
|
||||||
/*U2*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*U2*/
|
/*U2*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*U2*/
|
||||||
/*U4*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*U4*/
|
/*U4*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*U4*/
|
||||||
/*U8*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*U8*/
|
/*U8*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*U8*/
|
||||||
/*FL*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*FL*/
|
/*FL*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*FL*/
|
||||||
/*DB*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*DB*/
|
/*DB*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,_T,eq,eq,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*DB*/
|
||||||
/*BO*/[_T,_T,_T,_T,_T,_T,_T,_T,_T,_T,_T,NE,NE,_e,_e,_T,_T,_T,_e,_e,_e,_T,_T,_e],/*BO*/
|
/*BO*/[_T,_T,_T,_T,_T,_T,_T,_T,_T,_T,_T,NE,NE,_e,_e,_T,_T,_T,_e,_e,_e,_T,_T,_T,_T,_T,_e],/*BO*/
|
||||||
/*CH*/[NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,_e,_e,NE,NE,NE,_e,_e,_e,NE,NE,_e],/*CH*/
|
/*CH*/[NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,_e,_e,NE,NE,NE,_e,_e,_e,NE,NE,NE,NE,NE,_e],/*CH*/
|
||||||
/*WC*/[NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,_e,_e,NE,NE,NE,_e,_e,_e,NE,NE,_e],/*WC*/
|
/*WC*/[NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,NE,_e,_e,NE,NE,NE,_e,_e,_e,NE,NE,NE,NE,NE,_e],/*WC*/
|
||||||
/*VD*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*VD*/
|
/*VD*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*VD*/
|
||||||
/*ID*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*ID*/
|
/*ID*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*ID*/
|
||||||
/*AS*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*AS*/
|
/*DS*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*DS*/
|
||||||
/*ST*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*ST*/
|
/*ST*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*ST*/
|
||||||
/*WS*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*WS*/
|
/*WS*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*WS*/
|
||||||
/*NS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*NS*/
|
/*NS*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*NS*/
|
||||||
/*IF*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*IF*/
|
/*IF*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*IF*/
|
||||||
/*AR*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*AR*/
|
/*AR*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e],/*AR*/
|
||||||
/*Ss*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*Ss*/
|
/*Ss*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*Ss*/
|
||||||
/*Ws*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,_e],/*Ws*/
|
/*Ws*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*Ws*/
|
||||||
/*EM*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e] /*EM*/
|
/*US*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*US*/
|
||||||
|
/*CS*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*CS*/
|
||||||
|
/*AS*/[eq,eq,eq,eq,eq,eq,eq,eq,eq,eq,NE,NE,NE,_e,_e,eq,eq,eq,_e,_e,_e,eq,eq,eq,eq,eq,_e],/*AS*/
|
||||||
|
/*EM*/[_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e] /*EM*/
|
||||||
];
|
];
|
||||||
|
|
||||||
var values = [
|
var values = [
|
||||||
|
|||||||
@@ -46,6 +46,12 @@
|
|||||||
#include "nscore.h"
|
#include "nscore.h"
|
||||||
#include "prtime.h"
|
#include "prtime.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Forward declarations for new string types
|
||||||
|
*/
|
||||||
|
class nsAString;
|
||||||
|
class nsACString;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start commenting out the C++ versions of the below in the output header
|
* Start commenting out the C++ versions of the below in the output header
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ interface nsIDataType : nsISupports
|
|||||||
{
|
{
|
||||||
// These MUST match the declarations in xpt_struct.h.
|
// These MUST match the declarations in xpt_struct.h.
|
||||||
// Otherwise the world is likely to explode.
|
// Otherwise the world is likely to explode.
|
||||||
// From xpt_struct.h ...
|
// From xpt_struct.h ...
|
||||||
const PRUint16 VTYPE_INT8 = 0; // TD_INT8 = 0,
|
const PRUint16 VTYPE_INT8 = 0; // TD_INT8 = 0,
|
||||||
const PRUint16 VTYPE_INT16 = 1; // TD_INT16 = 1,
|
const PRUint16 VTYPE_INT16 = 1; // TD_INT16 = 1,
|
||||||
const PRUint16 VTYPE_INT32 = 2; // TD_INT32 = 2,
|
const PRUint16 VTYPE_INT32 = 2; // TD_INT32 = 2,
|
||||||
@@ -50,15 +50,17 @@ interface nsIDataType : nsISupports
|
|||||||
const PRUint16 VTYPE_WCHAR = 12; // TD_WCHAR = 12,
|
const PRUint16 VTYPE_WCHAR = 12; // TD_WCHAR = 12,
|
||||||
const PRUint16 VTYPE_VOID = 13; // TD_VOID = 13,
|
const PRUint16 VTYPE_VOID = 13; // TD_VOID = 13,
|
||||||
const PRUint16 VTYPE_ID = 14; // TD_PNSIID = 14,
|
const PRUint16 VTYPE_ID = 14; // TD_PNSIID = 14,
|
||||||
const PRUint16 VTYPE_ASTRING = 15; // TD_DOMSTRING = 15,
|
const PRUint16 VTYPE_DOMSTRING = 15; // TD_DOMSTRING = 15,
|
||||||
const PRUint16 VTYPE_CHAR_STR = 16; // TD_PSTRING = 16,
|
const PRUint16 VTYPE_CHAR_STR = 16; // TD_PSTRING = 16,
|
||||||
const PRUint16 VTYPE_WCHAR_STR = 17; // TD_PWSTRING = 17,
|
const PRUint16 VTYPE_WCHAR_STR = 17; // TD_PWSTRING = 17,
|
||||||
const PRUint16 VTYPE_INTERFACE = 18; // TD_INTERFACE_TYPE = 18,
|
const PRUint16 VTYPE_INTERFACE = 18; // TD_INTERFACE_TYPE = 18,
|
||||||
const PRUint16 VTYPE_INTERFACE_IS = 19; // TD_INTERFACE_IS_TYPE = 19,
|
const PRUint16 VTYPE_INTERFACE_IS = 19; // TD_INTERFACE_IS_TYPE = 19,
|
||||||
const PRUint16 VTYPE_ARRAY = 20; // TD_ARRAY = 20,
|
const PRUint16 VTYPE_ARRAY = 20; // TD_ARRAY = 20,
|
||||||
const PRUint16 VTYPE_STRING_SIZE_IS = 21; // TD_PSTRING_SIZE_IS = 21,
|
const PRUint16 VTYPE_STRING_SIZE_IS = 21; // TD_PSTRING_SIZE_IS = 21,
|
||||||
const PRUint16 VTYPE_WSTRING_SIZE_IS = 22; // TD_PWSTRING_SIZE_IS = 22
|
const PRUint16 VTYPE_WSTRING_SIZE_IS = 22; // TD_PWSTRING_SIZE_IS = 22,
|
||||||
|
const PRUint16 VTYPE_UTF8STRING = 23; // TD_UTF8STRING = 23,
|
||||||
|
const PRUint16 VTYPE_CSTRING = 24; // TD_CSTRING = 24,
|
||||||
|
const PRUint16 VTYPE_ASTRING = 25; // TD_ASTRING = 25,
|
||||||
const PRUint16 VTYPE_EMPTY = 255;
|
const PRUint16 VTYPE_EMPTY = 255;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -91,6 +93,9 @@ interface nsIVariant : nsISupports
|
|||||||
[noscript] wchar getAsWChar();
|
[noscript] wchar getAsWChar();
|
||||||
[notxpcom] nsresult getAsID(out nsID retval);
|
[notxpcom] nsresult getAsID(out nsID retval);
|
||||||
[noscript] AString getAsAString();
|
[noscript] AString getAsAString();
|
||||||
|
[noscript] DOMString getAsDOMString();
|
||||||
|
[noscript] ACString getAsACString();
|
||||||
|
[noscript] AUTF8String getAsAUTF8String();
|
||||||
[noscript] string getAsString();
|
[noscript] string getAsString();
|
||||||
[noscript] wstring getAsWString();
|
[noscript] wstring getAsWString();
|
||||||
[noscript] nsISupports getAsISupports();
|
[noscript] nsISupports getAsISupports();
|
||||||
@@ -138,6 +143,9 @@ interface nsIWritableVariant : nsIVariant
|
|||||||
void setAsWChar(in wchar aValue);
|
void setAsWChar(in wchar aValue);
|
||||||
void setAsID(in nsIDRef aValue);
|
void setAsID(in nsIDRef aValue);
|
||||||
void setAsAString(in AString aValue);
|
void setAsAString(in AString aValue);
|
||||||
|
void setAsDOMString(in DOMString aValue);
|
||||||
|
void setAsACString(in ACString aValue);
|
||||||
|
void setAsAUTF8String(in AUTF8String aValue);
|
||||||
void setAsString(in string aValue);
|
void setAsString(in string aValue);
|
||||||
void setAsWString(in wstring aValue);
|
void setAsWString(in wstring aValue);
|
||||||
void setAsISupports(in nsISupports aValue);
|
void setAsISupports(in nsISupports aValue);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -26,6 +26,15 @@
|
|||||||
#include "nsIVariant.h"
|
#include "nsIVariant.h"
|
||||||
#include "xpt_struct.h"
|
#include "xpt_struct.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Map the nsAUTF8String, nsUTF8String classes to the nsACString and
|
||||||
|
* nsCString classes respectively for now. These defines need to be removed
|
||||||
|
* once Jag lands his nsUTF8String implementation.
|
||||||
|
*/
|
||||||
|
#define nsAUTF8String nsACString
|
||||||
|
#define nsUTF8String nsCString
|
||||||
|
#define PromiseFlatUTF8String PromiseFlatCString
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* nsDiscriminatedUnion is a type that nsIVariant implementors *may* use
|
* nsDiscriminatedUnion is a type that nsIVariant implementors *may* use
|
||||||
* to hold underlying data. It has no methods. So, its use requires no linkage
|
* to hold underlying data. It has no methods. So, its use requires no linkage
|
||||||
@@ -35,21 +44,23 @@
|
|||||||
struct NS_COM nsDiscriminatedUnion
|
struct NS_COM nsDiscriminatedUnion
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
PRInt8 mInt8Value;
|
PRInt8 mInt8Value;
|
||||||
PRInt16 mInt16Value;
|
PRInt16 mInt16Value;
|
||||||
PRInt32 mInt32Value;
|
PRInt32 mInt32Value;
|
||||||
PRInt64 mInt64Value;
|
PRInt64 mInt64Value;
|
||||||
PRUint8 mUint8Value;
|
PRUint8 mUint8Value;
|
||||||
PRUint16 mUint16Value;
|
PRUint16 mUint16Value;
|
||||||
PRUint32 mUint32Value;
|
PRUint32 mUint32Value;
|
||||||
PRUint64 mUint64Value;
|
PRUint64 mUint64Value;
|
||||||
float mFloatValue;
|
float mFloatValue;
|
||||||
double mDoubleValue;
|
double mDoubleValue;
|
||||||
PRBool mBoolValue;
|
PRBool mBoolValue;
|
||||||
char mCharValue;
|
char mCharValue;
|
||||||
PRUnichar mWCharValue;
|
PRUnichar mWCharValue;
|
||||||
nsIID mIDValue;
|
nsIID mIDValue;
|
||||||
nsAString* mAStringValue;
|
nsAString* mAStringValue;
|
||||||
|
nsAUTF8String* mUTF8StringValue;
|
||||||
|
nsACString* mCStringValue;
|
||||||
struct {
|
struct {
|
||||||
nsISupports* mInterfaceValue;
|
nsISupports* mInterfaceValue;
|
||||||
nsIID mInterfaceID;
|
nsIID mInterfaceID;
|
||||||
@@ -111,6 +122,8 @@ public:
|
|||||||
static nsresult ConvertToWChar(const nsDiscriminatedUnion& data, PRUnichar *_retval);
|
static nsresult ConvertToWChar(const nsDiscriminatedUnion& data, PRUnichar *_retval);
|
||||||
static nsresult ConvertToID(const nsDiscriminatedUnion& data, nsID * _retval);
|
static nsresult ConvertToID(const nsDiscriminatedUnion& data, nsID * _retval);
|
||||||
static nsresult ConvertToAString(const nsDiscriminatedUnion& data, nsAWritableString & _retval);
|
static nsresult ConvertToAString(const nsDiscriminatedUnion& data, nsAWritableString & _retval);
|
||||||
|
static nsresult ConvertToAUTF8String(const nsDiscriminatedUnion& data, nsAUTF8String & _retval);
|
||||||
|
static nsresult ConvertToACString(const nsDiscriminatedUnion& data, nsACString & _retval);
|
||||||
static nsresult ConvertToString(const nsDiscriminatedUnion& data, char **_retval);
|
static nsresult ConvertToString(const nsDiscriminatedUnion& data, char **_retval);
|
||||||
static nsresult ConvertToWString(const nsDiscriminatedUnion& data, PRUnichar **_retval);
|
static nsresult ConvertToWString(const nsDiscriminatedUnion& data, PRUnichar **_retval);
|
||||||
static nsresult ConvertToISupports(const nsDiscriminatedUnion& data, nsISupports **_retval);
|
static nsresult ConvertToISupports(const nsDiscriminatedUnion& data, nsISupports **_retval);
|
||||||
@@ -136,6 +149,8 @@ public:
|
|||||||
static nsresult SetFromWChar(nsDiscriminatedUnion* data, PRUnichar aValue);
|
static nsresult SetFromWChar(nsDiscriminatedUnion* data, PRUnichar aValue);
|
||||||
static nsresult SetFromID(nsDiscriminatedUnion* data, const nsID & aValue);
|
static nsresult SetFromID(nsDiscriminatedUnion* data, const nsID & aValue);
|
||||||
static nsresult SetFromAString(nsDiscriminatedUnion* data, const nsAReadableString & aValue);
|
static nsresult SetFromAString(nsDiscriminatedUnion* data, const nsAReadableString & aValue);
|
||||||
|
static nsresult SetFromAUTF8String(nsDiscriminatedUnion* data, const nsAUTF8String & aValue);
|
||||||
|
static nsresult SetFromACString(nsDiscriminatedUnion* data, const nsACString & aValue);
|
||||||
static nsresult SetFromString(nsDiscriminatedUnion* data, const char *aValue);
|
static nsresult SetFromString(nsDiscriminatedUnion* data, const char *aValue);
|
||||||
static nsresult SetFromWString(nsDiscriminatedUnion* data, const PRUnichar *aValue);
|
static nsresult SetFromWString(nsDiscriminatedUnion* data, const PRUnichar *aValue);
|
||||||
static nsresult SetFromISupports(nsDiscriminatedUnion* data, nsISupports *aValue);
|
static nsresult SetFromISupports(nsDiscriminatedUnion* data, nsISupports *aValue);
|
||||||
|
|||||||
Reference in New Issue
Block a user