Граф коммитов

231 Коммитов

Автор SHA1 Сообщение Дата
scc%netscape.com f3c4fc5051 fixed ambiguous static cast in the NS_IMPL_QUERYINTERFACE2 case 1999-08-21 22:33:15 +00:00
jband%netscape.com 6c8672fc58 fix bustage due to ambiguity in use of static_cast 1999-08-21 22:03:39 +00:00
scc%netscape.com b4ce414c43 Bad merge left two copies of ...QUERYINTERFACE2. Sorry. 1999-08-21 20:39:59 +00:00
scc%netscape.com 2de2cc6d8a Added NS_IMPL_QUERY_INTERFACE[01]; fixed NS_IMPL_QUERY_INTERFACE2; added NS_IMPL_ISUPPORTS[01]; can't fix NS_IMPL_QUERY_INTERFACE without changing a ton of files, so I'm checking in this partial fix first. Then people can help me switch us away from NS_IMPL_ISUPPORTS and NS_IMPL_QUERY_INTERFACE. Both are now deprecated. 1999-08-21 20:22:35 +00:00
scc%netscape.com 9d8652d710 added license, fixed tabs 1999-08-21 20:07:27 +00:00
tbogard%aol.net 968e8cf4a5 XPCOM Cleanup: Added macros to make checking arguments and state upon entering interface boundaries easier. 1999-08-19 05:32:15 +00:00
scc%netscape.com 944678da9d renamed to QueryReferent, do_QueryReferent, etc. 1999-08-13 23:00:58 +00:00
danm%netscape.com 4b3daedbe5 fix WeakReference exporting for Windows. a:chofmann r:scc. 1999-08-11 23:48:08 +00:00
sspitzer%netscape.com cbcb2ce098 fix warnings 1999-08-05 19:47:10 +00:00
scc%netscape.com 1f0ab10430 experiment: I don't think it like the forward declaration 1999-08-03 10:44:12 +00:00
scc%netscape.com fffe08a5ec well, now it needs to include nsCOMPtr, since the header doesn't anymore 1999-08-03 08:34:17 +00:00
scc%netscape.com e4d1a4321f Moved the typedef to its own file: "nsWeakPtr.h". This avoids the circular includes problem and lets people #include just "nsWeakPtr.h" when they want an |nsWeakPtr|. 1999-08-03 08:15:31 +00:00
scc%netscape.com b5ee2a318a OK, now only nsCOMPtr.h includes nsIWeakReference, and not the other way around. I'll probably have to make a header file just to contain the one-line typedef I moved. 1999-08-03 08:10:08 +00:00
scc%netscape.com eaeff321cf Well, not everybody could do it just from the forward declared class. Yes, nsCOMPtr.h and nsIWeakReference.h include eachother, but it works anyway (they test for already being included). 1999-08-03 07:44:53 +00:00
scc%netscape.com dfa83459be Added |do_QueryReference| for initializing/assigning from |nsWeakPtr|s. Also some fixes. 1999-08-03 07:21:39 +00:00
scc%netscape.com 3b6747cc0a getting ready to build 1999-08-03 04:59:47 +00:00
scc%netscape.com 7099e1336a First Checked In. 1999-08-03 03:41:27 +00:00
jband%netscape.com 1d04b3c73c fix this macro that no one is using so that I can use it in my factory in xpconnect 1999-07-31 00:14:55 +00:00
jband%netscape.com 61da273cf3 differentiate between Win32 x86 and NT Alpha for a few low level debug activities. From bob meader <bob@guiduck.com> 1999-07-24 22:00:00 +00:00
scc%netscape.com 73a836eeaa Allow explicit disabling of |...TEST_DONTQUERY_CASES| and |...DEBUG_PTR_TYPES| on the command-line for problematic compilers like QNX et al. This allows me to fix the QNX build, and provide an answer to some people compiling with the Sun Workshop. 1999-07-22 21:09:49 +00:00
scc%netscape.com 4adb195c6c switching back to the stricter declaration of |nsDerivedSafe<T>::operator=()|. Since I removed |nsISupportsArray::operator=()|, all should be well. I left the old declaration in but commented out, just in case. I hope I don't have to conditionalize this wth an autoconf test. I've built this (with the help of several other people including mjudge, waqar, slamm, et al) on as many other platforms as I could. This declaration is intended to stop people from declaring an |operator=()| in their (XP)COM interface classes. 1999-07-22 20:03:42 +00:00
brendan%mozilla.org 22b5e360df - Fix possessive "its" misspelled as "it's".
- Use if statements rather than ?: with 0 "else part" after the : in macros
  whose bodies are statements anyway (and already protected by PR_BEGIN_MACRO
  and PR_END_MACRO).
- Such if statements test for non-null pointers, so the subsequent statements
  to null those pointers can move into the then parts -- there's no point in
  setting a null pointer to null again.
1999-07-17 03:32:39 +00:00
warren%netscape.com c5684bf4d7 Big changes for Necko load groups. Things are much happier now. Now images work (on pages, but not in chrome). 1999-07-16 11:14:36 +00:00
mccabe%netscape.com e2d13fb831 Remove vestiges of XPIDL_JS_STUBS (no longer used or implemented by xpidl-generated files.) 1999-07-16 01:20:03 +00:00
scc%netscape.com 9d49cb3127 new feature lets you `see past' |nsISupports| in |nsCOMPtr|s. Now in the debugger (in debug versions only) you will see the actual type of the object. This is enabled by defining the preprocessor symbol |NSCAP_FEATURE_DEBUG_PTR_TYPES|. It cannot be turned on in non-debug builds. It is currently on in debug builds by default. It may become a feature that has to be enabled with a build command line switch. NSCAP_FEATURE_ALLOW_RAW_POINTERS is now always the case and no longer optional; NSCAP_FEATURE_ALLOW_COMPARISONS is now always the case and no longer optional; cleaned up the previous definition and invocations of the |Assert_NoQueryNeeded| test. 1999-07-15 03:59:09 +00:00
scc%netscape.com a9e605070f switched over to _not_ using |__comobject|. Adjusted assembly to skip extra vtable header, and fixed inheritance in |nsISupports| 1999-07-15 03:02:01 +00:00
mscott%netscape.com 328301a43d Rewrite NS_IMPL_THREADSAFE_ADDREF and NS_IMPL_THREADSAFE_RELEASE in cross platform way instead of having separate
implementations for windows and everyone else. They are now written to use PR_AtomicIncrement and PR_AtomicDecrement.
this meant adding #include "pratom.h".

A side effect of this change is that no one needs to include "windows.h" in .cpp files which were implementing threadsafe
interfaces. You used to have to do this before with the old implementations.
1999-07-02 20:18:20 +00:00
jband%netscape.com cc711499f4 quick fix for bug 9250 - assert on startup 1999-06-30 07:13:26 +00:00
scc%netscape.com 1bf2a0c6f1 all the changes are in, time to remove the #undef line so the traits class can do the right thing on platforms that support template specialization 1999-06-30 01:40:21 +00:00
shaver%netscape.com f8f7778a8e partial backout of scc's nsCOMPtr, attempting to revive Win32 build 1999-06-29 22:33:18 +00:00
scc%netscape.com d10f87cd9d added logic to test whether QueryInterface was actually required when it is ommitted, |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()|, changed the scheme by which we compare with zero to a more robust mechanism, modified specialized |CallQueryInterface| to use the global version 1999-06-29 21:09:59 +00:00
scc%netscape.com 6df1f92d72 do_QueryInterface(NULL, &error) now returns the appropriate error in |error| 1999-06-29 21:09:56 +00:00
scc%netscape.com 54c96baa72 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()| 1999-06-29 21:01:31 +00:00
scc%netscape.com 7f5981ed65 add traits class to solve multiple |GetIID()| problems 1999-06-29 20:11:57 +00:00
mcafee%netscape.com 4aca8a8246 BeOS changes 1999-06-29 10:27:58 +00:00
alecf%netscape.com a5bae12a33 fix signed/unsigned issues 1999-06-27 06:18:41 +00:00
dveditz%netscape.com 43eb020a43 Adding NS_RELEASE_THIS() 1999-06-16 03:28:25 +00:00
waterson%netscape.com 9bd4de486d Add MOZ_TRACE_REFCNT to allow you to instrument individual implementations of AddRef() & Release(). 1999-06-15 03:25:27 +00:00
mcmullen%netscape.com 456af7c5d9 Compromise. On other platforms, NS_WARNING does not call break. So we'll do the same. So for NS_WARNING, we'll simply print to the console and continue, a la mode de Pierre, while for other forms of NS_BLOWCHUNKS, we'll break into the debugger, as of old. 1999-06-10 19:50:56 +00:00
ramiro%netscape.com 00a0b35eb5 This is all C code. 1999-06-09 10:08:12 +00:00
sfraser%netscape.com b18d9161b5 Back out pierre change, so that NS_ASSERTION calls DebugStr once again. Doing this on the basis of consensus at 7/6 macdev meeting. 1999-06-08 22:13:40 +00:00
pierre%netscape.com 2c1a37cbe5 (Mac only) PR_LOG() calls printf() with a "���" header instead of falling into MacsBug. 1999-06-04 23:04:28 +00:00
warren%netscape.com 8b32319be8 Fixed GenericFactory linkage problems. 1999-06-03 21:51:14 +00:00
scc%netscape.com 0c87834eef fixed for VMS 1999-06-03 20:36:53 +00:00
scc%netscape.com 16cc6edf13 replaced tabs with spaces as per our standards 1999-06-02 01:59:28 +00:00
scc%netscape.com 5c2933b1c2 added comparisons that will allow |nsnull != myPtr| et al 1999-06-02 01:29:55 +00:00
bruce%cybersight.com cb46bf8387 Remove static IID kISupportsIID from the default QueryInterfaces implementation macro. Replace with call to nsISupports::GetIID(). Tested by dp, myself and tague on the 3 main platforms (Win32, Linux and Mac respectively). 1999-05-29 16:25:18 +00:00
dp%netscape.com d014238fff Fixing nsrefcnt to be unsigned long to maintain binary compatibility. All Addref() and Release() prototypes modified appropriately 1999-05-28 04:53:17 +00:00
dp%netscape.com 2c37e9da83 Reversing changing type of nsrefcnt. Mailnews code has specific Release() implementation that mention a different type. We need to fix that first. 1999-05-28 02:07:49 +00:00
dp%netscape.com 55912dab75 Fixed Binary compability with COM's nsIUnknown w.r.t return value types of Addref and Release.
nsrefcnt is defined as unsigned long for windows machines with 4 bytes per long.
1999-05-28 01:22:35 +00:00
dp%netscape.com afdcdd4a15 Adding progid and classname 1999-05-27 22:47:27 +00:00
pinkerton%netscape.com 5c6a1ffba4 missing [] on delete of internal array in operator=. 1999-05-26 21:13:29 +00:00
dp%netscape.com 0443b20e33 Landing xpcom20/21 branch. 1999-05-26 01:38:36 +00:00
sfraser%netscape.com 070cd4879e Include <string.h>, not "string.h". Also added include guards, which should be a big win on commonly included files like this one. 1999-05-14 03:07:23 +00:00
scc%netscape.com 5f7f07adc9 Fixup CallQueryInterface 1999-05-12 04:50:08 +00:00
akkana%netscape.com 1269cb57ee New build option enable-crash-on-assert for those who really want the old behavior 1999-05-11 22:22:24 +00:00
scc%netscape.com 4fb41627b5 temporarily commented out CallQueryInterface for UNIX, added NS_EXPORT for Windows 1999-05-10 21:43:29 +00:00
scc%netscape.com 64fea0e7f5 conditionally factored destructor 1999-05-10 20:48:43 +00:00
mcafee%netscape.com fabaa074ad Renaming nsQuickSort to NS_QuickSort so it doesn't look like a class name. r=brendan@netscape.com 1999-05-10 06:47:04 +00:00
akkana%netscape.com fba42cbca2 Make NS_ASSERTION and DebugBreak not crash on Unix 1999-05-07 19:20:12 +00:00
jband%netscape.com 98c002f568 checking in generated versions of these xpcom headers. soon we will be generating these at compile time. Sources for these files are in xpcom/idl. They are regenerated from those files using xpidl -m header filename.idl 1999-05-07 01:45:20 +00:00
scc%netscape.com 4c26313504 sense of HAVE_CPP_BOOL was backwards, fixed it (thanks, Jim Dunn) 1999-05-05 23:36:38 +00:00
scc%netscape.com 6c7fa04eb5 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Wow! Re-enabled initialization/assignment from raw COM interface pointers, only this time it means the same as |dont_QueryInterface|. Which is what people want and expect. Re-enabled comparisons between |nsCOMPtr|s and raw COM interface pointers; and it means what people expect: are these two 4-byte values equal/not-equal. Added a function for comparing two pointers (either can be raw or nsCOMPtr) called |SameCOMIdentity|, which provides the other kind of comparison. No current functionality has changed. Everything you're doing now is still legal and valid. These changes only bring some additional options. -----BEGIN PGP SIGNATURE----- Version: PGP Personal Privacy 6.0.2 Comment: get my key at <http://www.meer.net/ScottCollins/#key> iQA/AwUBNzAeufGmojMuVn+fEQInWgCfUVK/7xfd/pdhAmyIe4HhynKsuucAn20t MRtmNY4e2MAdwClvhR65a5Yv =elb3 -----END PGP SIGNATURE----- 1999-05-05 10:37:05 +00:00
alecf%netscape.com 7f2b893ac4 fix virtual constructor problem 1999-05-04 20:50:24 +00:00
scc%netscape.com 314436f96d change |CallQueryInterface| to handle situations where |nsISupports| is ambiguous. 1999-05-04 12:40:52 +00:00
scc%netscape.com 9275282f6b somebody is including this file inside an |extern "C"| declaration. That's bad. I can't find the culprit, but I can mark the important function |extern "C++"| to allow windows to compile. 1999-05-04 10:23:56 +00:00
scc%netscape.com 6e4ff024b9 oops 1999-05-04 09:51:04 +00:00
scc%netscape.com 1d573cde16 Added |CallQueryInterface|, a type-safe interface to |QueryInterface| 1999-05-04 09:44:27 +00:00
scc%netscape.com f5a32343a4 added |null_nsCOMPtr()|, |CallQueryInterface()|, fixed comments; added |const| in several appropriate places 1999-05-04 09:37:35 +00:00
alecf%netscape.com 636135b5e6 don't break if we're included in a C file 1999-04-15 03:13:20 +00:00
beard%netscape.com 6db7f132d5 sorry, size_t != unsigned int, made declarations consistent to fix later link errors. 1999-04-14 04:19:42 +00:00
tague%netscape.com 147062e400 Rolled out change 1999-04-13 23:25:38 +00:00
tague%netscape.com 2c44e52c4c Fixed windows build booboo. Added extern C to the defintion of nsQuickSort 1999-04-13 23:03:40 +00:00
alecf%netscape.com 1d8ac0d5c2 export this symbol correctly 1999-04-13 22:16:52 +00:00
alecf%netscape.com f52c5ea8d3 make sure nsQuickSort is extern "C" 1999-04-13 20:36:57 +00:00
alecf%netscape.com 5919f4826a fix mac bustage 1999-04-13 20:34:38 +00:00
jdunn%netscape.com 4f46ff3cee fix compiler warning/errors with conversion from a void* to a char* 1999-04-13 20:27:17 +00:00
alecf%netscape.com ec4767bf21 add quicksort implementation to base
(Thanks to Regents of CA and the RDF team)
1999-04-13 19:03:45 +00:00
scc%netscape.com 8eb511fa4b inlining the work of |StartAssigment| reduces |nsCOMPtr| overhead on windows. 1999-03-23 20:35:49 +00:00
warren%netscape.com a7c5dd071b Added missing flush. 1999-03-19 05:42:20 +00:00
warren%netscape.com c50687b845 nsRepository -> nsIComponentManager changes. 1999-03-09 09:44:27 +00:00
alecf%netscape.com e48b3faaa6 patches from cmanske@netscape.com - use NS_IMETHODIMP* macros instead of declaring nsrefcnt/etc directly 1999-03-08 21:34:16 +00:00
beard%netscape.com 893e54fc3d Added NS_DEFINE_STATIC_CID_ACCESSOR. 1999-03-07 23:56:59 +00:00
alecf%netscape.com f9a4fa361b split up nsISupports macros into seperate files 1999-03-05 22:39:03 +00:00
scc%netscape.com 31ff626ae9 rename |IID()| --> |GetIID()| 1999-03-03 19:48:57 +00:00
beard%netscape.com b3b02ba0e9 moved NS_CALLBACK to nsCom.h. 1999-03-03 04:09:33 +00:00
alecf%netscape.com 03e6f60d34 start splitting nsISupports.h into multiple header files (blank right now until we get them into the Mac build) 1999-03-03 00:31:50 +00:00
scc%netscape.com 9d21ae3942 backed out depency on nscore.h 1999-03-02 23:52:38 +00:00
scc%netscape.com 8058bf1464 now rely on "nscore.h" for NS_REINTERPRET_CAST instead of defining my own. now relying on autoconf system for all unixes. Some tests may need to be fixed. 1999-03-02 23:08:54 +00:00
mcafee%netscape.com 49754e4257 Adding comparisons to autoconf results. 1999-03-01 10:13:18 +00:00
ramiro%netscape.com 0875a55f81 AIX portability fixes. (Waqar Malik <waqar@netscape.com>) 1999-03-01 06:29:14 +00:00
beard%netscape.com 9093cc3fb4 SetDestructor 1999-02-28 19:04:47 +00:00
scc%netscape.com 312b8d76d7 for VC++5.0, no member using declarations (to prevent internal compiler error); to make this compile fixed type of AddRef and Release in nsDerivedSafe 1999-02-26 23:43:40 +00:00
scc%netscape.com 0238953fe3 deprecated |dont_AddRef|, added a new form of |getter_AddRefs| to take its place. Removed all nothing of bool from the headers (should help gcc) 1999-02-26 19:50:46 +00:00
alecf%netscape.com e7831871be fix AIX bustage 1999-02-26 18:58:08 +00:00
alecf%netscape.com 15d43a4917 fix HPUX/AIX/OSF bustage - most unices need stdlib.h to get abort() 1999-02-26 17:41:47 +00:00
beard%netscape.com 7b125831fc Fixing callback typedef, using new NS_CALLBACK macro which will be moved to nsCom.h when it proves itself. 1999-02-26 04:30:17 +00:00
beard%netscape.com f4d7d0b552 now implements nsIGenericFactory. 1999-02-26 04:08:26 +00:00
beard%netscape.com 4dfa40b76e First Checked In. 1999-02-26 04:05:14 +00:00
mcafee%netscape.com 9e3d172499 Switching unix to use PR_Abort(). 1999-02-26 03:52:37 +00:00
alecf%netscape.com 5cb13032ed include stdlib for HPUX 1999-02-25 17:48:25 +00:00
alecf%netscape.com 643dbd9b6d fix HPUX bustage - HP's compiler can't do "using" or static casts 1999-02-25 17:47:54 +00:00
beard%netscape.com 8d694419b3 First Checked In. 1999-02-25 04:41:02 +00:00
mcafee%netscape.com 99b1533740 Adding support for Solaris native compiler. a=scc 1999-02-18 22:34:15 +00:00
scc%netscape.com 85abdef8c2 missing '&' found, returned to rightful home 1999-02-17 03:12:03 +00:00
scc%netscape.com d4ae494464 updated to new interface for nsCOMPtr 1999-02-17 01:58:25 +00:00
scc%netscape.com db79afbc84 First Checked In. 1999-02-17 01:57:07 +00:00
scc%netscape.com f020767dfc Added |nsresult nsCOMPtr::assignment_error() const;| which returns the error, if any, from the most recent operation (constructor or assignment operator) that implicitly calls |QueryInterface|. This did not increase the size of an |nsCOMPtr|. 1999-02-11 01:34:07 +00:00
kipp%netscape.com d1e3a78a54 Made abort abort on unix 1999-02-02 17:41:54 +00:00
peterl%netscape.com a35fe91e63 added nsStringArray 1999-01-23 06:58:34 +00:00
scc%netscape.com edaa2f7db9 Made the constructor explicit again (see comment) to stop people from breaking the Linux builds. 1999-01-22 01:17:48 +00:00
scc%netscape.com 0c7a4ca128 OK. We were wrong about the SOLARIS case. Sorry. 1999-01-18 20:32:41 +00:00
scc%netscape.com be87c1b10a Added patch for bsdi from netscape.public.mozilla.patches; removed test for !SOLARIS as agreed with macafee. 1999-01-18 18:32:33 +00:00
scc%netscape.com e52a11daa0 Now test pointer result _and_ error code on return from QueryInterface, as some implementations return garbage. 1999-01-16 02:37:22 +00:00
mjudge%netscape.com c2935a0853 scc and I decided that the explicit keyword was not necessary for the constructor.
It never hurts you to make an nsCOMPtr.  MJ
1999-01-15 18:57:31 +00:00
mcmullen%netscape.com 4648549f56 Added #ifdefs to recent temp hack, to make it easy to turn the temp hack off. 1999-01-14 19:36:22 +00:00
scc%netscape.com a89c841519 defined NSCAP_NEED_UNUSED_VIRTUAL_IMPLEMENTATIONS for GNU 2.7 under linux. Fixed URL leading to the user manual. Noted that ramiro is working on getting all these special #defines handled by the configuration system instead. 1999-01-05 21:07:57 +00:00
mcmullen%netscape.com 17510e5417 Made this stuff do something sensible for Macintosh. The part about logging the error is temporary. 1998-12-23 22:13:47 +00:00
scc%netscape.com d5aa76aba6 added |dont_QueryInterface| facility, re-added the NS_ADDREF macros, though conditionally 1998-12-21 23:26:39 +00:00
scc%netscape.com 38897ed3d0 NSCAP_FEATURE_DONT_ADDREF is no longer optional, and the symbol has gone away. This facility turns out to be needed. Also catch the case when operator= is called on a dereferenced smart pointer. Fixed some documentation. 1998-12-18 03:45:44 +00:00
scc%netscape.com e42b720fb2 enabled the dont_AddRef feature, for when functions return an already AddRefed result, e.g. |mSmartPtr = dont_AddRef(GetThing());| 1998-12-17 19:32:00 +00:00
scc%netscape.com cbfe9f5b15 First Checked In. 1998-12-17 19:12:45 +00:00
scullin%netscape.com 6c1d460ea1 Migrating public header files to public 1998-10-19 17:48:55 +00:00
jevering 3705e61240 Modified ReplaceElementAt to grow the array if an index out of the
allocated boundary was requested.
1998-07-02 00:28:56 +00:00
troy 5da3ea6720 Added an additional constructor 1998-06-11 22:48:25 +00:00
kipp 339f079993 Added SizeOf method 1998-06-05 21:38:36 +00:00
hardts 60cd050946 landing XPCOM_BRANCH 1998-05-22 21:56:30 +00:00
peterl 729e4048ee added enumerate methods 1998-05-20 20:31:58 +00:00
scullin 811153f87f G++ warning fix submitted by Brian Grunkemeyer. 1998-05-07 20:48:35 +00:00
kipp 4717009d75 moved to pub 1998-04-13 20:24:54 +00:00
ltabb 781c480871 Free the lizard 1998-03-28 02:44:41 +00:00