Commit Graph

255 Commits

Author SHA1 Message Date
mscott%netscape.com
607ea9e584 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
0938e9a7df quick fix for bug 9250 - assert on startup 1999-06-30 07:13:26 +00:00
scc%netscape.com
0dfaa19773 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
3059d46d41 partial backout of scc's nsCOMPtr, attempting to revive Win32 build 1999-06-29 22:33:18 +00:00
scc%netscape.com
106c685c8e 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
806ab190c0 do_QueryInterface(NULL, &error) now returns the appropriate error in |error| 1999-06-29 21:09:56 +00:00
scc%netscape.com
f79508bc68 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()| 1999-06-29 21:01:31 +00:00
scc%netscape.com
ed5943e923 add traits class to solve multiple |GetIID()| problems 1999-06-29 20:11:57 +00:00
mcafee%netscape.com
7f42e390e5 BeOS changes 1999-06-29 10:27:58 +00:00
alecf%netscape.com
9f7fabff19 fix signed/unsigned issues 1999-06-27 06:18:41 +00:00
dveditz%netscape.com
9fb13399c8 Adding NS_RELEASE_THIS() 1999-06-16 03:28:25 +00:00
waterson%netscape.com
4ef0ae057a 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
17eb7aae98 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
8b1c0c50d5 This is all C code. 1999-06-09 10:08:12 +00:00
sfraser%netscape.com
bbefbc1756 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
290128f36a (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
9e109c9eb6 Fixed GenericFactory linkage problems. 1999-06-03 21:51:14 +00:00
scc%netscape.com
138e0c0a59 fixed for VMS 1999-06-03 20:36:53 +00:00
scc%netscape.com
f951053c41 replaced tabs with spaces as per our standards 1999-06-02 01:59:28 +00:00
scc%netscape.com
5de8115999 added comparisons that will allow |nsnull != myPtr| et al 1999-06-02 01:29:55 +00:00
bruce%cybersight.com
2c4766ddbd 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
b21d1e72dc 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
381323acf0 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
246c3f4fe4 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
87abaa38bd Adding progid and classname 1999-05-27 22:47:27 +00:00
pinkerton%netscape.com
e4462b13c1 missing [] on delete of internal array in operator=. 1999-05-26 21:13:29 +00:00
dp%netscape.com
94344009c8 Landing xpcom20/21 branch. 1999-05-26 01:38:36 +00:00
sfraser%netscape.com
a8e949c977 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
04d849f0ec Fixup CallQueryInterface 1999-05-12 04:50:08 +00:00
akkana%netscape.com
a9fb77217e 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
e5b9f0e804 temporarily commented out CallQueryInterface for UNIX, added NS_EXPORT for Windows 1999-05-10 21:43:29 +00:00
scc%netscape.com
d673031bca conditionally factored destructor 1999-05-10 20:48:43 +00:00
mcafee%netscape.com
492b4cef0f 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
e53c5f1bd3 Make NS_ASSERTION and DebugBreak not crash on Unix 1999-05-07 19:20:12 +00:00
jband%netscape.com
ff6dae2ffa 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
51bf7982c7 sense of HAVE_CPP_BOOL was backwards, fixed it (thanks, Jim Dunn) 1999-05-05 23:36:38 +00:00
scc%netscape.com
92430ecb22 -----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
d8e19cb305 fix virtual constructor problem 1999-05-04 20:50:24 +00:00
scc%netscape.com
470c0f17ac change |CallQueryInterface| to handle situations where |nsISupports| is ambiguous. 1999-05-04 12:40:52 +00:00
scc%netscape.com
d9a7d33e9a 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
09dac5f140 oops 1999-05-04 09:51:04 +00:00
scc%netscape.com
6bab6751e6 Added |CallQueryInterface|, a type-safe interface to |QueryInterface| 1999-05-04 09:44:27 +00:00
scc%netscape.com
d686c1191e added |null_nsCOMPtr()|, |CallQueryInterface()|, fixed comments; added |const| in several appropriate places 1999-05-04 09:37:35 +00:00
alecf%netscape.com
983d151830 don't break if we're included in a C file 1999-04-15 03:13:20 +00:00
beard%netscape.com
e91206a937 sorry, size_t != unsigned int, made declarations consistent to fix later link errors. 1999-04-14 04:19:42 +00:00
tague%netscape.com
b7780e7118 Rolled out change 1999-04-13 23:25:38 +00:00
tague%netscape.com
7723a871e2 Fixed windows build booboo. Added extern C to the defintion of nsQuickSort 1999-04-13 23:03:40 +00:00
alecf%netscape.com
d204424b35 export this symbol correctly 1999-04-13 22:16:52 +00:00
alecf%netscape.com
3f2caacd18 make sure nsQuickSort is extern "C" 1999-04-13 20:36:57 +00:00
alecf%netscape.com
c9d3ccdde2 fix mac bustage 1999-04-13 20:34:38 +00:00
jdunn%netscape.com
57e6713c2c fix compiler warning/errors with conversion from a void* to a char* 1999-04-13 20:27:17 +00:00
alecf%netscape.com
d5be09930b 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
a3aecb2482 inlining the work of |StartAssigment| reduces |nsCOMPtr| overhead on windows. 1999-03-23 20:35:49 +00:00
warren%netscape.com
e2ae834619 Added missing flush. 1999-03-19 05:42:20 +00:00
warren%netscape.com
4b2d56fbaa nsRepository -> nsIComponentManager changes. 1999-03-09 09:44:27 +00:00
alecf%netscape.com
a1357cc961 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
d5f75e7080 Added NS_DEFINE_STATIC_CID_ACCESSOR. 1999-03-07 23:56:59 +00:00
alecf%netscape.com
8eb785a0db split up nsISupports macros into seperate files 1999-03-05 22:39:03 +00:00
scc%netscape.com
2ec0a397ea rename |IID()| --> |GetIID()| 1999-03-03 19:48:57 +00:00
beard%netscape.com
19dc7e5b59 moved NS_CALLBACK to nsCom.h. 1999-03-03 04:09:33 +00:00
alecf%netscape.com
19c3844fa8 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
1cd756d76b backed out depency on nscore.h 1999-03-02 23:52:38 +00:00
scc%netscape.com
eee168d553 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
f3ffb9a767 Adding comparisons to autoconf results. 1999-03-01 10:13:18 +00:00
ramiro%netscape.com
1bf8790f66 AIX portability fixes. (Waqar Malik <waqar@netscape.com>) 1999-03-01 06:29:14 +00:00
beard%netscape.com
f8887c33ae SetDestructor 1999-02-28 19:04:47 +00:00
scc%netscape.com
67bb023757 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
fb59a99841 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
6b6c41ebc8 fix AIX bustage 1999-02-26 18:58:08 +00:00
alecf%netscape.com
52ff34ffd9 fix HPUX/AIX/OSF bustage - most unices need stdlib.h to get abort() 1999-02-26 17:41:47 +00:00
beard%netscape.com
98702cb2df 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
7177b7546d now implements nsIGenericFactory. 1999-02-26 04:08:26 +00:00
beard%netscape.com
2f1f98057b First Checked In. 1999-02-26 04:05:14 +00:00
mcafee%netscape.com
721a91f348 Switching unix to use PR_Abort(). 1999-02-26 03:52:37 +00:00
alecf%netscape.com
37478ef172 include stdlib for HPUX 1999-02-25 17:48:25 +00:00
alecf%netscape.com
e5d1ad1d90 fix HPUX bustage - HP's compiler can't do "using" or static casts 1999-02-25 17:47:54 +00:00
beard%netscape.com
289f70aaba First Checked In. 1999-02-25 04:41:02 +00:00
mcafee%netscape.com
9feda1b10b Adding support for Solaris native compiler. a=scc 1999-02-18 22:34:15 +00:00
scc%netscape.com
56b132f647 missing '&' found, returned to rightful home 1999-02-17 03:12:03 +00:00
scc%netscape.com
42e1c10096 updated to new interface for nsCOMPtr 1999-02-17 01:58:25 +00:00
scc%netscape.com
149e9ed6e5 First Checked In. 1999-02-17 01:57:07 +00:00
scc%netscape.com
6a09eaa097 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
adee46fdf3 Made abort abort on unix 1999-02-02 17:41:54 +00:00
peterl%netscape.com
1533456233 added nsStringArray 1999-01-23 06:58:34 +00:00
scc%netscape.com
da320e986b 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
31c2a74283 OK. We were wrong about the SOLARIS case. Sorry. 1999-01-18 20:32:41 +00:00
scc%netscape.com
5e7e5625d2 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
36a41c6750 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
d3c02c8cdd 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
fe44be0b3a 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
03af84c93b 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
41dfff2b28 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
761f39f1d3 added |dont_QueryInterface| facility, re-added the NS_ADDREF macros, though conditionally 1998-12-21 23:26:39 +00:00
scc%netscape.com
34bcd6ef0b 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
8b0ea58b42 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
52ad8f5326 First Checked In. 1998-12-17 19:12:45 +00:00
scullin%netscape.com
25177cc6f6 Migrating public header files to public 1998-10-19 17:48:55 +00:00
jevering
ca519eff60 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
840313626c Added an additional constructor 1998-06-11 22:48:25 +00:00
kipp
a3cbd81c80 Added SizeOf method 1998-06-05 21:38:36 +00:00
hardts
6bcb19ce6f landing XPCOM_BRANCH 1998-05-22 21:56:30 +00:00
peterl
79851b1d53 added enumerate methods 1998-05-20 20:31:58 +00:00
scullin
2e23fa1ab5 G++ warning fix submitted by Brian Grunkemeyer. 1998-05-07 20:48:35 +00:00
kipp
098bef52b4 moved to pub 1998-04-13 20:24:54 +00:00
ltabb
3b56a9af51 Free the lizard 1998-03-28 02:44:41 +00:00