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