Commit Graph

1278 Commits

Author SHA1 Message Date
scc%netscape.com
20c45cddb6 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
0ea67f445d added license, fixed tabs 1999-08-21 20:07:27 +00:00
tbogard%aol.net
ada1396491 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
0921e3bfc2 renamed to QueryReferent, do_QueryReferent, etc. 1999-08-13 23:00:58 +00:00
danm%netscape.com
bd95ca26db fix WeakReference exporting for Windows. a:chofmann r:scc. 1999-08-11 23:48:08 +00:00
sspitzer%netscape.com
0fc6c99e2d fix warnings 1999-08-05 19:47:10 +00:00
scc%netscape.com
2e0d0f92ea experiment: I don't think it like the forward declaration 1999-08-03 10:44:12 +00:00
scc%netscape.com
f311d065ca well, now it needs to include nsCOMPtr, since the header doesn't anymore 1999-08-03 08:34:17 +00:00
scc%netscape.com
264a0e83ae 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
f8db1fc479 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
4756a19b59 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
ea78a0060a Added |do_QueryReference| for initializing/assigning from |nsWeakPtr|s. Also some fixes. 1999-08-03 07:21:39 +00:00
scc%netscape.com
e16adcb40a getting ready to build 1999-08-03 04:59:47 +00:00
scc%netscape.com
fbc8779752 First Checked In. 1999-08-03 03:41:27 +00:00
jband%netscape.com
ff192b13a2 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
b80f98a64a 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
2a0eda4e69 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
89652d3a1f 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
b5c49d66b9 - 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
84bd74a4fd 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
07f00c67ca 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
a9bb3d6a16 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
ab2352e498 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
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