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