Commit Graph

922 Commits

Author SHA1 Message Date
jband%netscape.com
9a923d2130 add implementation files for unsupported platforms to allow clean build on all platforms even though we'll have failure at runtime on unsupported platforms 1999-03-23 22:16:14 +00:00
jband%netscape.com
9adc279405 fix test Makefile.in 1999-03-23 07:19:15 +00:00
jband%netscape.com
de37f0faf5 fix test Makefile.in 1999-03-23 07:16:53 +00:00
jband%netscape.com
95bae7cba5 fix filename 1999-03-23 07:04:52 +00:00
jband%netscape.com
4b66e49f5a initial checking of xptcall code. This module allows arbitrary invocation of xpcom methods and also allows an object to impersonate an object of an arbitrary xpcom class. This code is used for XPConnect and will also be used for a scriptable interface to RDF. The build scheme for libxpt, xptinfo, and xpconnect may be a bit screwy on some platforms until this settles down. Luckily, none of these modules are part of the client build yet and very few people should even notice the change 1999-03-23 02:23:29 +00:00
leaf%mozilla.org
4ad9f70d5d Landing nspr library name change, and plevent function call change. 1999-03-17 21:32:03 +00:00
mccabe%netscape.com
44463b458c Another reworking of the loader -
- added a forward declaration of nsIInterfaceInfoManager to xptinfo.h

- reworked and cleaned up most aspects of the loader; typelib files now get associated typelib records, which have arrays of pointers to shared interface records; no hashtable lookup is necessary to resolve index pointers from params, etc to nsInterfaceInfo objects.

- moved to two hashtables in nsInterfaceInfoManager, mapping from name->interface record and iid->interface record.  Still unclear if I handle the different-iid, same-name case correctly.
1999-03-15 05:50:11 +00:00
jband%netscape.com
95c5de89a9 made in params const, added some comments 1999-03-13 01:34:37 +00:00
mccabe%netscape.com
1f415231ec Fixed a place where I was missing an NS_RELEASE, thanks jband. 1999-03-13 00:56:47 +00:00
mccabe%netscape.com
25ebe42e73 Not part of seamonkey.
Removed awkward nsXPTParamInfo::GetInterface and friend, and als removed supporting nsXPTParamInfo.cpp file.  Replace by nsIInterfaceInfo::GetInfoForParam and friend.

Made the constructor for nsInterfaceInfo private, with nsInterfaceInfoManager as a friend class.
1999-03-12 06:49:01 +00:00
jband%netscape.com
41b9e6001a get xptinfo building on Win32 again 1999-03-11 02:21:23 +00:00
mccabe%netscape.com
b625b6aa37 Added tests of getting info assoc'd with params to TestInterfaceInfo.cpp, which uncovered an off-by-one problem due to magic typelib offsets for nsXPTParamInfo. Which makes me wonder if we shouldn't have just said #define XPT_INDEX_NO_PARENT 0xFFFF. 1999-03-10 10:36:13 +00:00
mccabe%netscape.com
1a1a2d5d23 Not yet part of the Monkey.
- Added magic comments to make the LXR browsing experience more pleasant.

- introduced the nsInterfaceRecord class (formerly less formally interface_record).

- changed the XPTInterfaceDirectoryEntry pointer in InterfaceInfoes into nsInterfaceRecord pointers, removing the need for a hash just to go from entries to records to support nsXPTParamInfo::GetInterface.

- made the destructor for InterfaceInfo objects remove null the pointer in the corresponding reference.
1999-03-10 09:30:48 +00:00
mccabe%netscape.com
c95fc2f4b8 Not part of seamonkey.
Added a comment saying preconditions the tests actually needs to
succeed.  (also simplified these some.)
1999-03-10 08:22:17 +00:00
mccabe%netscape.com
4f6e0a7c6e Not part of seamonkey.
Fixed bustage due to improper use of DEBUG_somehacker.
1999-03-10 06:59:53 +00:00
jband%netscape.com
122488c723 making it compile on Win32 1999-03-10 06:36:03 +00:00
mccabe%netscape.com
5a43e6a2dd Not part of seamonkey.
API change - changed nsXPTParamInfo from taking an InterfaceDirectoryEntry* (which really isn't part of the API I want to expose) to taking an nsIInterfaceInfo*, which is.
1999-03-10 06:06:19 +00:00
mccabe%netscape.com
a7a7b4f959 Not yet part of Seamonkey.
Progress on the nsInterfaceInfoManager typelib loader for xpconnect.
Now has complete (I think) functionality, though the implementation is
still probably rusty.

I punted on defining a directory for .xpt files at this point; the
implementation looks at the value of the XPTDIR environment variable
for this value.

Note that the nsXPTParaminfo interface (public/xpt_cpp) has changed
(possibly temporarily) to take an 'entry' parameter.
1999-03-10 04:26:15 +00:00
shaver%netscape.com
bf2718b64b ignore generated files 1999-03-08 21:27:03 +00:00
jband%netscape.com
aae72939cf makefile fixups to get xptinfo working on Win32. Added xptinfo.h for public dll declarations 1999-03-02 07:59:53 +00:00
mccabe%netscape.com
8c24b0a7f5 Not yet part of Seamonkey.
Changed from using malloc to (much less, but still slightly) hacked
nsIAllocator service.
1999-03-02 05:38:27 +00:00
mccabe%netscape.com
40181d78ce Not yet part of the seamonkey build.
Moved nsInterfaceInfoManager files from the libxpt directory (where
they would have precipitated an unpleasant circular dependency between
xpidl and nsISupports.h) into a new subdirectory.

Added corresponding entries to allmakefiles.sh.

nsInterfaceInfoManager is intended to abstract the loading and
management of typelib information generated by xpidl, for use by
xpconnect.
1999-03-02 05:21:31 +00:00