nsIVariant 编辑
xpcom/ds/nsIVariant.idl
Scriptable XPConnect has magic to transparently convert between nsIVariant
and JS types. We mark the interface [scriptable] so that JS can use methods that refer to this interface. But we mark all the methods and attributes [noscript] since any nsIVariant
object will be automatically converted to a JS type anyway. Inherits from: nsISupports
Last changed in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)Method overview
ACString getAsACString(); Native code only! |
nsresult getAsArray(out PRUint16 type, out nsIID iid, out PRUint32 count, out voidPtr ptr); Violates the XPCOM interface guidelines |
AString getAsAString(); Native code only! |
AUTF8String getAsAUTF8String(); Native code only! |
PRBool getAsBool(); Native code only! |
char getAsChar(); Native code only! |
DOMString getAsDOMString(); Native code only! |
double getAsDouble(); Native code only! |
float getAsFloat(); Native code only! |
nsresult getAsID(out nsID retval); Violates the XPCOM interface guidelines |
PRInt16 getAsInt16(); Native code only! |
PRInt32 getAsInt32(); Native code only! |
PRInt64 getAsInt64(); Native code only! |
PRUint8 getAsInt8(); Native code only! |
void getAsInterface(out nsIIDPtr iid, [iid_is(iid), retval] out nsQIResult iface); Native code only! |
nsISupports getAsISupports(); Native code only! |
jsval getAsJSVal(); Native code only! |
string getAsString(); Native code only! |
void getAsStringWithSize(out PRUint32 size, [size_is(size), retval] out string str); Native code only! |
PRUint16 getAsUint16(); Native code only! |
PRUint32 getAsUint32(); Native code only! |
PRUint64 getAsUint64(); Native code only! |
PRUint8 getAsUint8(); Native code only! |
wchar getAsWChar(); Native code only! |
wstring getAsWString(); Native code only! |
void getAsWStringWithSize(out PRUint32 size, [size_is(size), retval] out wstring str); Native code only! |
Attributes
Attribute | Type | Description |
dataType | PRUint16 | Read only. Native code only! |
Methods
Native code only!getAsACString
ACString getAsACString();
Parameters
None.
Return value
The value is converted to an 8-bit string in the ISO-8859-1 character set. If the value was UTF16 then the high bits are lost. If the value was UTF8 then it is converted to UTF16 and the high bits are discarded. Arrays and interface pointers cannot be converted to a string.
Violates the XPCOM interface guidelinesgetAsArray()
nsresult getAsArray( out PRUint16 type, out nsIID iid, out PRUint32 count, out voidPtr ptr );
Parameters
type
- The type of the array elements.
iid
- The IID of the array elements, if they are interface pointers.
count
- The number of elements in the array.
ptr
- A copy of the array of underlying elements. (Reference counted elements are not cloned, but their reference count is increased.)
Return value
Native code only!
getAsAString
AString getAsAString();
Parameters
None.
Return value
The internal value is converted to a UTF16 string. Arrays and interface pointers cannot be converted to a string.
Native code only!getAsAUTF8String
AUTF8String getAsAUTF8String();
Parameters
None.
Return value
The internal value is converted to a UTF8 string. An ISO-8859-1 string is widened to a UTF16 string first. Arrays and interface pointers cannot be converted to a string.
Native code only!getAsBool
PRBool getAsBool();
Parameters
None.
Return value
If possible, the internal value is converted to a double, which is then compared to zero.
Native code only!getAsChar
char getAsChar();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it is of a numeric type, it is cast directly to char.
Native code only!getAsDOMString
DOMString getAsDOMString();
Parameters
None.
Return value
This returns the same as the getAsAString method.
Native code only!getAsDouble
double getAsDouble();
Parameters
None.
Return value
If the internal value is a string, it is converted to a double, if possible. If it is of a numeric type it is cast directly to double.
Native code only!getAsFloat
float getAsFloat();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it is of a numeric type, it is cast directly to float.
Violates the XPCOM interface guidelinesgetAsID()
nsresult getAsID( out nsID retval );
Parameters
retval
- If the internal value is an IID then it is returned. If it is of type interface pointer then then IID of the pointer is returned. If it is of string type then an attempt is made to convert the string to an IID.
Return value
If the conversion succeeds, NS_OK is returned, otherwise NS_ERROR_CANNOT_CONVERT_DATA is returned.
Native code only!getAsInt16
PRInt16 getAsInt16();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it within the numeric limits of a PRInt16 then the value is returned.
Native code only!getAsInt32
PRInt32 getAsInt32();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it within the numeric limits of a PRInt32 then the value is returned.
Native code only!getAsInt64
PRInt64 getAsInt64();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it is of a numeric type, it is cast directly to PRInt64.
Native code only!getAsInt8
PRUint8 getAsInt8();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it within the numeric limits of a PRInt8 then the value is returned.
Native code only!getAsInterface
void getAsInterface( out nsIIDPtr iid, [iid_is(iid), retval] out nsQIResult iface );
Parameters
iid
- The IID of the interface pointer, or nsISupports if no IID was provided.
iface
- The interface pointer. (The reference count of the object is incremented.)
getAsISupports
nsISupports getAsISupports();
Parameters
None.
Return value
The interface pointer. (The reference count of the object is incremented.)
Native code only!getAsJSVal
jsval getAsJSVal();
Parameters
None.
Return value
Returns the underlying JS value, if the variant was created by passing a JS object into XPConnect.
Native code only!getAsString
string getAsString();
Parameters
None.
Return value
The value is converted to an 8-bit string in the ISO-8859-1 character set. If the value was UTF16 then the high bits are lost. If the value was UTF8 then it is converted to UTF16 and the high bits are discarded. Arrays and interface pointers cannot be converted to a string.
Native code only!getAsStringWithSize
void getAsStringWithSize( out PRUint32 size, [size_is(size), retval] out string str );
Parameters
size
- The length of the returned string. Useful in case the string contains embedded null characters.
str
- The value is converted to an 8-bit string in the ISO-8859-1 character set. If the value was UTF16 then the high bits are lost. If the value was UTF8 then it is converted to UTF16 and the high bits are discarded. Arrays and interface pointers cannot be converted to a string.
getAsUint16
PRUint16 getAsUint16();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it within the numeric limits of a PRUint16 then the value is returned.
Native code only!getAsUint32
PRUint32 getAsUint32();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it within the numeric limits of a PRUint64 then the value is returned.
Native code only!getAsUint64
PRUint64 getAsUint64();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it is of a numeric type, it is cast to PRInt64 and then to PRUint64. Note that this will do strange things with negative numbers, and float and double values greater than the numeric limits of a PRInt64 will not convert correctly.
Native code only!getAsUint8
PRUint8 getAsUint8();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it within the numeric limits of a PRUint8 then the value is returned.
Native code only!getAsWChar
wchar getAsWChar();
Parameters
None.
Return value
If the internal value is a string, it is first converted to a double, if possible. If it is of a numeric type, it is cast directly to PRUnichar.
Native code only!getAsWString
wstring getAsWString();
Parameters
None.
Return value
The internal value is converted to a UTF16 string. Arrays and interface pointers cannot be converted to a string.
Native code only!getAsWStringWithSize
void getAsWStringWithSize( out PRUint32 size, [size_is(size), retval] out wstring str );
Parameters
size
- The length of the returned string. Useful in case the string contains embedded null characters.
str
- The internal value is converted to a UTF16 string. Arrays and interface pointers cannot be converted to a string.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论