Backed out changeset 4c2bc5ae8f95 (bug 945562) for device image bustage.
[gecko.git] / xpcom / ds / nsSupportsPrimitives.cpp
blobfb6d61427fa8434451123e9a088e322e51dcb57f
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "nsSupportsPrimitives.h"
7 #include "nsMemory.h"
8 #include "prprf.h"
10 /***************************************************************************/
12 NS_IMPL_ISUPPORTS2(nsSupportsIDImpl, nsISupportsID, nsISupportsPrimitive)
14 nsSupportsIDImpl::nsSupportsIDImpl()
15 : mData(nullptr)
19 NS_IMETHODIMP nsSupportsIDImpl::GetType(uint16_t *aType)
21 NS_ASSERTION(aType, "Bad pointer");
22 *aType = TYPE_ID;
24 return NS_OK;
27 NS_IMETHODIMP nsSupportsIDImpl::GetData(nsID **aData)
29 NS_ASSERTION(aData, "Bad pointer");
30 if(mData)
32 *aData = (nsID*) nsMemory::Clone(mData, sizeof(nsID));
33 return *aData ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
35 *aData = nullptr;
36 return NS_OK;
39 NS_IMETHODIMP nsSupportsIDImpl::SetData(const nsID *aData)
41 if(mData)
42 nsMemory::Free(mData);
43 if(aData)
44 mData = (nsID*) nsMemory::Clone(aData, sizeof(nsID));
45 else
46 mData = nullptr;
47 return NS_OK;
50 NS_IMETHODIMP nsSupportsIDImpl::ToString(char **_retval)
52 char* result;
53 NS_ASSERTION(_retval, "Bad pointer");
54 if(mData)
56 result = mData->ToString();
58 else
60 static const char nullStr[] = "null";
61 result = (char*) nsMemory::Clone(nullStr, sizeof(nullStr));
64 *_retval = result;
65 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
68 /*****************************************************************************
69 * nsSupportsCStringImpl
70 *****************************************************************************/
72 NS_IMPL_ISUPPORTS2(nsSupportsCStringImpl, nsISupportsCString,
73 nsISupportsPrimitive)
75 NS_IMETHODIMP nsSupportsCStringImpl::GetType(uint16_t *aType)
77 NS_ASSERTION(aType, "Bad pointer");
79 *aType = TYPE_CSTRING;
80 return NS_OK;
83 NS_IMETHODIMP nsSupportsCStringImpl::GetData(nsACString& aData)
85 aData = mData;
86 return NS_OK;
89 NS_IMETHODIMP nsSupportsCStringImpl::ToString(char **_retval)
91 *_retval = ToNewCString(mData);
93 if (!*_retval)
94 return NS_ERROR_OUT_OF_MEMORY;
96 return NS_OK;
99 NS_IMETHODIMP nsSupportsCStringImpl::SetData(const nsACString& aData)
101 mData = aData;
102 return NS_OK;
105 /*****************************************************************************
106 * nsSupportsStringImpl
107 *****************************************************************************/
109 NS_IMPL_ISUPPORTS2(nsSupportsStringImpl, nsISupportsString,
110 nsISupportsPrimitive)
112 NS_IMETHODIMP nsSupportsStringImpl::GetType(uint16_t *aType)
114 NS_ASSERTION(aType, "Bad pointer");
116 *aType = TYPE_STRING;
117 return NS_OK;
120 NS_IMETHODIMP nsSupportsStringImpl::GetData(nsAString& aData)
122 aData = mData;
123 return NS_OK;
126 NS_IMETHODIMP nsSupportsStringImpl::ToString(PRUnichar **_retval)
128 *_retval = ToNewUnicode(mData);
130 if (!*_retval)
131 return NS_ERROR_OUT_OF_MEMORY;
133 return NS_OK;
136 NS_IMETHODIMP nsSupportsStringImpl::SetData(const nsAString& aData)
138 mData = aData;
139 return NS_OK;
142 /***************************************************************************/
144 NS_IMPL_ISUPPORTS2(nsSupportsPRBoolImpl, nsISupportsPRBool,
145 nsISupportsPrimitive)
147 nsSupportsPRBoolImpl::nsSupportsPRBoolImpl()
148 : mData(false)
152 NS_IMETHODIMP nsSupportsPRBoolImpl::GetType(uint16_t *aType)
154 NS_ASSERTION(aType, "Bad pointer");
155 *aType = TYPE_PRBOOL;
157 return NS_OK;
160 NS_IMETHODIMP nsSupportsPRBoolImpl::GetData(bool *aData)
162 NS_ASSERTION(aData, "Bad pointer");
163 *aData = mData;
164 return NS_OK;
167 NS_IMETHODIMP nsSupportsPRBoolImpl::SetData(bool aData)
169 mData = aData;
170 return NS_OK;
173 NS_IMETHODIMP nsSupportsPRBoolImpl::ToString(char **_retval)
175 NS_ASSERTION(_retval, "Bad pointer");
176 const char * str = mData ? "true" : "false";
177 char* result = (char*) nsMemory::Clone(str,
178 (strlen(str)+1)*sizeof(char));
179 *_retval = result;
180 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
183 /***************************************************************************/
185 NS_IMPL_ISUPPORTS2(nsSupportsPRUint8Impl, nsISupportsPRUint8,
186 nsISupportsPrimitive)
188 nsSupportsPRUint8Impl::nsSupportsPRUint8Impl()
189 : mData(0)
193 NS_IMETHODIMP nsSupportsPRUint8Impl::GetType(uint16_t *aType)
195 NS_ASSERTION(aType, "Bad pointer");
196 *aType = TYPE_PRUINT8;
198 return NS_OK;
201 NS_IMETHODIMP nsSupportsPRUint8Impl::GetData(uint8_t *aData)
203 NS_ASSERTION(aData, "Bad pointer");
204 *aData = mData;
205 return NS_OK;
208 NS_IMETHODIMP nsSupportsPRUint8Impl::SetData(uint8_t aData)
210 mData = aData;
211 return NS_OK;
214 NS_IMETHODIMP nsSupportsPRUint8Impl::ToString(char **_retval)
216 NS_ASSERTION(_retval, "Bad pointer");
217 static const int size = 8;
218 char buf[size];
220 PR_snprintf(buf, size, "%u", (uint16_t) mData);
222 char* result = (char*) nsMemory::Clone(buf,
223 (strlen(buf)+1)*sizeof(char));
224 *_retval = result;
225 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
228 /***************************************************************************/
230 NS_IMPL_ISUPPORTS2(nsSupportsPRUint16Impl, nsISupportsPRUint16,
231 nsISupportsPrimitive)
233 nsSupportsPRUint16Impl::nsSupportsPRUint16Impl()
234 : mData(0)
238 NS_IMETHODIMP nsSupportsPRUint16Impl::GetType(uint16_t *aType)
240 NS_ASSERTION(aType, "Bad pointer");
241 *aType = TYPE_PRUINT16;
243 return NS_OK;
246 NS_IMETHODIMP nsSupportsPRUint16Impl::GetData(uint16_t *aData)
248 NS_ASSERTION(aData, "Bad pointer");
249 *aData = mData;
250 return NS_OK;
253 NS_IMETHODIMP nsSupportsPRUint16Impl::SetData(uint16_t aData)
255 mData = aData;
256 return NS_OK;
259 NS_IMETHODIMP nsSupportsPRUint16Impl::ToString(char **_retval)
261 NS_ASSERTION(_retval, "Bad pointer");
262 static const int size = 8;
263 char buf[size];
265 PR_snprintf(buf, size, "%u", (int) mData);
267 char* result = (char*) nsMemory::Clone(buf,
268 (strlen(buf)+1)*sizeof(char));
269 *_retval = result;
270 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
273 /***************************************************************************/
275 NS_IMPL_ISUPPORTS2(nsSupportsPRUint32Impl, nsISupportsPRUint32,
276 nsISupportsPrimitive)
278 nsSupportsPRUint32Impl::nsSupportsPRUint32Impl()
279 : mData(0)
283 NS_IMETHODIMP nsSupportsPRUint32Impl::GetType(uint16_t *aType)
285 NS_ASSERTION(aType, "Bad pointer");
286 *aType = TYPE_PRUINT32;
288 return NS_OK;
291 NS_IMETHODIMP nsSupportsPRUint32Impl::GetData(uint32_t *aData)
293 NS_ASSERTION(aData, "Bad pointer");
294 *aData = mData;
295 return NS_OK;
298 NS_IMETHODIMP nsSupportsPRUint32Impl::SetData(uint32_t aData)
300 mData = aData;
301 return NS_OK;
304 NS_IMETHODIMP nsSupportsPRUint32Impl::ToString(char **_retval)
306 NS_ASSERTION(_retval, "Bad pointer");
307 static const int size = 16;
308 char buf[size];
310 PR_snprintf(buf, size, "%lu", mData);
312 char* result = (char*) nsMemory::Clone(buf,
313 (strlen(buf)+1)*sizeof(char));
314 *_retval = result;
315 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
318 /***************************************************************************/
320 NS_IMPL_ISUPPORTS2(nsSupportsPRUint64Impl, nsISupportsPRUint64,
321 nsISupportsPrimitive)
323 nsSupportsPRUint64Impl::nsSupportsPRUint64Impl()
324 : mData(0)
328 NS_IMETHODIMP nsSupportsPRUint64Impl::GetType(uint16_t *aType)
330 NS_ASSERTION(aType, "Bad pointer");
331 *aType = TYPE_PRUINT64;
333 return NS_OK;
336 NS_IMETHODIMP nsSupportsPRUint64Impl::GetData(uint64_t *aData)
338 NS_ASSERTION(aData, "Bad pointer");
339 *aData = mData;
340 return NS_OK;
343 NS_IMETHODIMP nsSupportsPRUint64Impl::SetData(uint64_t aData)
345 mData = aData;
346 return NS_OK;
349 NS_IMETHODIMP nsSupportsPRUint64Impl::ToString(char **_retval)
351 NS_ASSERTION(_retval, "Bad pointer");
352 static const int size = 32;
353 char buf[size];
355 PR_snprintf(buf, size, "%llu", mData);
357 char* result = (char*) nsMemory::Clone(buf,
358 (strlen(buf)+1)*sizeof(char));
359 *_retval = result;
360 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
363 /***************************************************************************/
365 NS_IMPL_ISUPPORTS2(nsSupportsPRTimeImpl, nsISupportsPRTime,
366 nsISupportsPrimitive)
368 nsSupportsPRTimeImpl::nsSupportsPRTimeImpl()
369 : mData(0)
373 NS_IMETHODIMP nsSupportsPRTimeImpl::GetType(uint16_t *aType)
375 NS_ASSERTION(aType, "Bad pointer");
376 *aType = TYPE_PRTIME;
378 return NS_OK;
381 NS_IMETHODIMP nsSupportsPRTimeImpl::GetData(PRTime *aData)
383 NS_ASSERTION(aData, "Bad pointer");
384 *aData = mData;
385 return NS_OK;
388 NS_IMETHODIMP nsSupportsPRTimeImpl::SetData(PRTime aData)
390 mData = aData;
391 return NS_OK;
394 NS_IMETHODIMP nsSupportsPRTimeImpl::ToString(char **_retval)
396 NS_ASSERTION(_retval, "Bad pointer");
397 static const int size = 32;
398 char buf[size];
400 PR_snprintf(buf, size, "%llu", mData);
402 char* result = (char*) nsMemory::Clone(buf,
403 (strlen(buf)+1)*sizeof(char));
404 *_retval = result;
405 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
408 /***************************************************************************/
410 NS_IMPL_ISUPPORTS2(nsSupportsCharImpl, nsISupportsChar,
411 nsISupportsPrimitive)
413 nsSupportsCharImpl::nsSupportsCharImpl()
414 : mData(0)
418 NS_IMETHODIMP nsSupportsCharImpl::GetType(uint16_t *aType)
420 NS_ASSERTION(aType, "Bad pointer");
421 *aType = TYPE_CHAR;
423 return NS_OK;
426 NS_IMETHODIMP nsSupportsCharImpl::GetData(char *aData)
428 NS_ASSERTION(aData, "Bad pointer");
429 *aData = mData;
430 return NS_OK;
433 NS_IMETHODIMP nsSupportsCharImpl::SetData(char aData)
435 mData = aData;
436 return NS_OK;
439 NS_IMETHODIMP nsSupportsCharImpl::ToString(char **_retval)
441 char* result;
442 NS_ASSERTION(_retval, "Bad pointer");
444 if(nullptr != (result = (char*) nsMemory::Alloc(2*sizeof(char))))
446 result[0] = mData;
447 result[1] = '\0';
449 *_retval = result;
450 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
453 /***************************************************************************/
455 NS_IMPL_ISUPPORTS2(nsSupportsPRInt16Impl, nsISupportsPRInt16,
456 nsISupportsPrimitive)
458 nsSupportsPRInt16Impl::nsSupportsPRInt16Impl()
459 : mData(0)
463 NS_IMETHODIMP nsSupportsPRInt16Impl::GetType(uint16_t *aType)
465 NS_ASSERTION(aType, "Bad pointer");
466 *aType = TYPE_PRINT16;
468 return NS_OK;
471 NS_IMETHODIMP nsSupportsPRInt16Impl::GetData(int16_t *aData)
473 NS_ASSERTION(aData, "Bad pointer");
474 *aData = mData;
475 return NS_OK;
478 NS_IMETHODIMP nsSupportsPRInt16Impl::SetData(int16_t aData)
480 mData = aData;
481 return NS_OK;
484 NS_IMETHODIMP nsSupportsPRInt16Impl::ToString(char **_retval)
486 NS_ASSERTION(_retval, "Bad pointer");
487 static const int size = 8;
488 char buf[size];
490 PR_snprintf(buf, size, "%d", mData);
492 char* result = (char*) nsMemory::Clone(buf,
493 (strlen(buf)+1)*sizeof(char));
494 *_retval = result;
495 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
498 /***************************************************************************/
500 NS_IMPL_ISUPPORTS2(nsSupportsPRInt32Impl, nsISupportsPRInt32,
501 nsISupportsPrimitive)
503 nsSupportsPRInt32Impl::nsSupportsPRInt32Impl()
504 : mData(0)
508 NS_IMETHODIMP nsSupportsPRInt32Impl::GetType(uint16_t *aType)
510 NS_ASSERTION(aType, "Bad pointer");
511 *aType = TYPE_PRINT32;
513 return NS_OK;
516 NS_IMETHODIMP nsSupportsPRInt32Impl::GetData(int32_t *aData)
518 NS_ASSERTION(aData, "Bad pointer");
519 *aData = mData;
520 return NS_OK;
523 NS_IMETHODIMP nsSupportsPRInt32Impl::SetData(int32_t aData)
525 mData = aData;
526 return NS_OK;
529 NS_IMETHODIMP nsSupportsPRInt32Impl::ToString(char **_retval)
531 NS_ASSERTION(_retval, "Bad pointer");
532 static const int size = 16;
533 char buf[size];
535 PR_snprintf(buf, size, "%ld", mData);
537 char* result = (char*) nsMemory::Clone(buf,
538 (strlen(buf)+1)*sizeof(char));
539 *_retval = result;
540 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
543 /***************************************************************************/
545 NS_IMPL_ISUPPORTS2(nsSupportsPRInt64Impl, nsISupportsPRInt64,
546 nsISupportsPrimitive)
548 nsSupportsPRInt64Impl::nsSupportsPRInt64Impl()
549 : mData(0)
553 NS_IMETHODIMP nsSupportsPRInt64Impl::GetType(uint16_t *aType)
555 NS_ASSERTION(aType, "Bad pointer");
556 *aType = TYPE_PRINT64;
558 return NS_OK;
561 NS_IMETHODIMP nsSupportsPRInt64Impl::GetData(int64_t *aData)
563 NS_ASSERTION(aData, "Bad pointer");
564 *aData = mData;
565 return NS_OK;
568 NS_IMETHODIMP nsSupportsPRInt64Impl::SetData(int64_t aData)
570 mData = aData;
571 return NS_OK;
574 NS_IMETHODIMP nsSupportsPRInt64Impl::ToString(char **_retval)
576 NS_ASSERTION(_retval, "Bad pointer");
577 static const int size = 32;
578 char buf[size];
580 PR_snprintf(buf, size, "%lld", mData);
582 char* result = (char*) nsMemory::Clone(buf,
583 (strlen(buf)+1)*sizeof(char));
584 *_retval = result;
585 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
588 /***************************************************************************/
590 NS_IMPL_ISUPPORTS2(nsSupportsFloatImpl, nsISupportsFloat,
591 nsISupportsPrimitive)
593 nsSupportsFloatImpl::nsSupportsFloatImpl()
594 : mData(float(0.0))
598 NS_IMETHODIMP nsSupportsFloatImpl::GetType(uint16_t *aType)
600 NS_ASSERTION(aType, "Bad pointer");
601 *aType = TYPE_FLOAT;
603 return NS_OK;
606 NS_IMETHODIMP nsSupportsFloatImpl::GetData(float *aData)
608 NS_ASSERTION(aData, "Bad pointer");
609 *aData = mData;
610 return NS_OK;
613 NS_IMETHODIMP nsSupportsFloatImpl::SetData(float aData)
615 mData = aData;
616 return NS_OK;
619 NS_IMETHODIMP nsSupportsFloatImpl::ToString(char **_retval)
621 NS_ASSERTION(_retval, "Bad pointer");
622 static const int size = 32;
623 char buf[size];
625 PR_snprintf(buf, size, "%f", (double) mData);
627 char* result = (char*) nsMemory::Clone(buf,
628 (strlen(buf)+1)*sizeof(char));
629 *_retval = result;
630 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
633 /***************************************************************************/
635 NS_IMPL_ISUPPORTS2(nsSupportsDoubleImpl, nsISupportsDouble,
636 nsISupportsPrimitive)
638 nsSupportsDoubleImpl::nsSupportsDoubleImpl()
639 : mData(double(0.0))
643 NS_IMETHODIMP nsSupportsDoubleImpl::GetType(uint16_t *aType)
645 NS_ASSERTION(aType, "Bad pointer");
646 *aType = TYPE_DOUBLE;
648 return NS_OK;
651 NS_IMETHODIMP nsSupportsDoubleImpl::GetData(double *aData)
653 NS_ASSERTION(aData, "Bad pointer");
654 *aData = mData;
655 return NS_OK;
658 NS_IMETHODIMP nsSupportsDoubleImpl::SetData(double aData)
660 mData = aData;
661 return NS_OK;
664 NS_IMETHODIMP nsSupportsDoubleImpl::ToString(char **_retval)
666 NS_ASSERTION(_retval, "Bad pointer");
667 static const int size = 32;
668 char buf[size];
670 PR_snprintf(buf, size, "%f", mData);
672 char* result = (char*) nsMemory::Clone(buf,
673 (strlen(buf)+1)*sizeof(char));
674 *_retval = result;
675 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
678 /***************************************************************************/
681 NS_IMPL_ISUPPORTS2(nsSupportsVoidImpl, nsISupportsVoid,
682 nsISupportsPrimitive)
684 nsSupportsVoidImpl::nsSupportsVoidImpl()
685 : mData(nullptr)
689 NS_IMETHODIMP nsSupportsVoidImpl::GetType(uint16_t *aType)
691 NS_ASSERTION(aType, "Bad pointer");
692 *aType = TYPE_VOID;
694 return NS_OK;
697 NS_IMETHODIMP nsSupportsVoidImpl::GetData(void * *aData)
699 NS_ASSERTION(aData, "Bad pointer");
700 *aData = mData;
701 return NS_OK;
704 NS_IMETHODIMP nsSupportsVoidImpl::SetData(void * aData)
706 mData = aData;
707 return NS_OK;
710 NS_IMETHODIMP nsSupportsVoidImpl::ToString(char **_retval)
712 NS_ASSERTION(_retval, "Bad pointer");
714 static const char str[] = "[raw data]";
715 char* result = (char*) nsMemory::Clone(str, sizeof(str));
716 *_retval = result;
717 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
720 /***************************************************************************/
723 NS_IMPL_ISUPPORTS2(nsSupportsInterfacePointerImpl,
724 nsISupportsInterfacePointer,
725 nsISupportsPrimitive)
727 nsSupportsInterfacePointerImpl::nsSupportsInterfacePointerImpl()
728 : mIID(nullptr)
732 nsSupportsInterfacePointerImpl::~nsSupportsInterfacePointerImpl()
734 if (mIID) {
735 nsMemory::Free(mIID);
739 NS_IMETHODIMP nsSupportsInterfacePointerImpl::GetType(uint16_t *aType)
741 NS_ASSERTION(aType, "Bad pointer");
742 *aType = TYPE_INTERFACE_POINTER;
744 return NS_OK;
747 NS_IMETHODIMP nsSupportsInterfacePointerImpl::GetData(nsISupports **aData)
749 NS_ASSERTION(aData,"Bad pointer");
751 *aData = mData;
752 NS_IF_ADDREF(*aData);
754 return NS_OK;
757 NS_IMETHODIMP nsSupportsInterfacePointerImpl::SetData(nsISupports * aData)
759 mData = aData;
761 return NS_OK;
764 NS_IMETHODIMP nsSupportsInterfacePointerImpl::GetDataIID(nsID **aIID)
766 NS_ASSERTION(aIID,"Bad pointer");
768 if(mIID)
770 *aIID = (nsID*) nsMemory::Clone(mIID, sizeof(nsID));
771 return *aIID ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
773 *aIID = nullptr;
774 return NS_OK;
777 NS_IMETHODIMP nsSupportsInterfacePointerImpl::SetDataIID(const nsID *aIID)
779 if(mIID)
780 nsMemory::Free(mIID);
781 if(aIID)
782 mIID = (nsID*) nsMemory::Clone(aIID, sizeof(nsID));
783 else
784 mIID = nullptr;
786 return NS_OK;
789 NS_IMETHODIMP nsSupportsInterfacePointerImpl::ToString(char **_retval)
791 NS_ASSERTION(_retval, "Bad pointer");
793 static const char str[] = "[interface pointer]";
795 // jband sez: think about asking nsIInterfaceInfoManager whether
796 // the interface has a known human-readable name
797 char* result = (char*) nsMemory::Clone(str, sizeof(str));
798 *_retval = result;
799 return result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
802 /***************************************************************************/
804 NS_IMPL_ISUPPORTS2(nsSupportsDependentCString,nsISupportsCString,nsISupportsPrimitive)
806 nsSupportsDependentCString::nsSupportsDependentCString(const char* aStr)
807 : mData(aStr)
810 NS_IMETHODIMP
811 nsSupportsDependentCString::GetType(uint16_t *aType)
813 if (NS_WARN_IF(!aType))
814 return NS_ERROR_INVALID_ARG;
816 *aType = TYPE_CSTRING;
817 return NS_OK;
820 NS_IMETHODIMP
821 nsSupportsDependentCString::GetData(nsACString& aData)
823 aData = mData;
824 return NS_OK;
827 NS_IMETHODIMP
828 nsSupportsDependentCString::ToString(char **_retval)
830 if (NS_WARN_IF(!_retval))
831 return NS_ERROR_INVALID_ARG;
833 *_retval = ToNewCString(mData);
834 if (!*_retval)
835 return NS_ERROR_OUT_OF_MEMORY;
837 return NS_OK;
840 NS_IMETHODIMP
841 nsSupportsDependentCString::SetData(const nsACString& aData)
843 return NS_ERROR_NOT_IMPLEMENTED;