86 Commits

Author SHA1 Message Date
jband%netscape.com
9ed30011df made in params const, added some comments
git-svn-id: svn://10.0.0.236/trunk@24029 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:34:37 +00:00
jband%netscape.com
d96fb8c360 fix assumption that interfaces don't have the poointer bit set
git-svn-id: svn://10.0.0.236/trunk@24028 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 01:31:48 +00:00
mccabe%netscape.com
b8deb21290 Fixed a place where I was missing an NS_RELEASE, thanks jband.
git-svn-id: svn://10.0.0.236/trunk@24019 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-13 00:56:47 +00:00
mccabe%netscape.com
d7ffc955ca 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.


git-svn-id: svn://10.0.0.236/trunk@23899 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-12 06:49:01 +00:00
jband%netscape.com
2e6dec8b20 get xptinfo building on Win32 again
git-svn-id: svn://10.0.0.236/trunk@23651 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:21:23 +00:00
coop%netscape.com
989ad5fb47 NOT YET PART OF SEAMONKEY:
* added improved error message for IID collision.


git-svn-id: svn://10.0.0.236/trunk@23650 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-11 02:15:53 +00:00
coop%netscape.com
80dfa8d3e2 NOT YET PART OF SEAMONKEY:
* one character fix (D'oh!) to make InterfaceTypeDescriptor indices update properly.


git-svn-id: svn://10.0.0.236/trunk@23605 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 23:41:04 +00:00
coop%netscape.com
4e2ef3ec92 NOT YET PART OF SEAMONKEY:
* first annotation indicates that resulting typelib was created by the linker.
* annotations from files being linked in are now preserved.


git-svn-id: svn://10.0.0.236/trunk@23561 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 20:40:17 +00:00
coop%netscape.com
6db7aab3c3 NOT YET PART OF SEAMONKEY:
* xpt_dump now checks num_methods and num_constants before trying to walk the arrays.
* xpt_link now actually links. It even updates interfaces indices. Tested using all the idl files in mozilla/xpcom/idl.


git-svn-id: svn://10.0.0.236/trunk@23535 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 19:44:36 +00:00
mccabe%netscape.com
ea7137976d 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.
git-svn-id: svn://10.0.0.236/trunk@23525 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 10:36:13 +00:00
mccabe%netscape.com
1c4dd83cdc 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.


git-svn-id: svn://10.0.0.236/trunk@23521 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 09:30:48 +00:00
mccabe%netscape.com
9e433b6fbe Not part of seamonkey.
Added a comment saying preconditions the tests actually needs to
succeed.  (also simplified these some.)


git-svn-id: svn://10.0.0.236/trunk@23515 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 08:22:17 +00:00
mccabe%netscape.com
c4fef7da6b Not part of seamonkey.
Fixed bustage due to improper use of DEBUG_somehacker.


git-svn-id: svn://10.0.0.236/trunk@23508 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:59:53 +00:00
jband%netscape.com
c118498478 making it compile on Win32
git-svn-id: svn://10.0.0.236/trunk@23506 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:36:03 +00:00
mccabe%netscape.com
0b0b45888d 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.


git-svn-id: svn://10.0.0.236/trunk@23499 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 06:06:19 +00:00
mccabe%netscape.com
2c5a38de3e 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.


git-svn-id: svn://10.0.0.236/trunk@23485 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-10 04:26:15 +00:00
mccabe%netscape.com
783ac85782 Chop xptinfo from the list of sub-Makes built by libxpt during coding
thrash.


git-svn-id: svn://10.0.0.236/trunk@23274 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 04:10:30 +00:00
coop%netscape.com
093d2cdff1 NOT YET PART OF SEAMONKEY:
* initial pass at handling the update of interface indices.


git-svn-id: svn://10.0.0.236/trunk@23266 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-09 02:51:22 +00:00
coop%netscape.com
3371ff5105 NOT YET PART OF SEAMONKEY:
* linker now sorts based on IIDs
* xpt_dump no longer complains about md->result if it is of the correct retval type


git-svn-id: svn://10.0.0.236/trunk@23202 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:13:58 +00:00
shaver%netscape.com
26b1439250 display method flags, handle bogus indices
git-svn-id: svn://10.0.0.236/trunk@23201 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 21:11:08 +00:00
shaver%netscape.com
b03b382f3e Make params include the name of the interface referenced.
git-svn-id: svn://10.0.0.236/trunk@23194 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 20:33:35 +00:00
coop%netscape.com
60b95e8294 NOT YET PART OF SEAMONKEY:
* changing references to interfaces (within structs) to be indices rather than pointers
* updated xpt_dump and xpt_link code to reflect above change


git-svn-id: svn://10.0.0.236/trunk@23187 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 19:47:09 +00:00
shaver%netscape.com
8fe29cabbc fix remnant of 32-bit interface references
git-svn-id: svn://10.0.0.236/trunk@23154 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-08 03:56:14 +00:00
shaver%netscape.com
d67b62db13 Add XPT_InterfaceDescriptorAddConsts to API.
git-svn-id: svn://10.0.0.236/trunk@23069 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-06 19:40:34 +00:00
jband%netscape.com
9da670ea9b makefile fixups to get xptinfo working on Win32. Added xptinfo.h for public dll declarations
git-svn-id: svn://10.0.0.236/trunk@22545 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 07:59:53 +00:00
mccabe%netscape.com
ddf198d345 Not yet part of Seamonkey.
Changed from using malloc to (much less, but still slightly) hacked
nsIAllocator service.


git-svn-id: svn://10.0.0.236/trunk@22538 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 05:38:27 +00:00
mccabe%netscape.com
0217662ca2 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.


git-svn-id: svn://10.0.0.236/trunk@22533 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 05:21:31 +00:00
mccabe%netscape.com
5a91ac81df Initial checkin of typelib loading service.
git-svn-id: svn://10.0.0.236/trunk@21981 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-25 22:56:43 +00:00
coop%netscape.com
e17dee7c12 NOT YET PART OF SEAMONKEY:
* first pass at typelib linker
* parent_interface modification is untested
* interface offset management is unimplemented
* what to do about annotations?


git-svn-id: svn://10.0.0.236/trunk@21921 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-25 17:45:11 +00:00
coop%netscape.com
239234185f NOT YET PART OF SEAMONKEY:
* fixed casting problem in calls to Do8


git-svn-id: svn://10.0.0.236/trunk@21602 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-23 16:17:37 +00:00
alecf%netscape.com
b0cb95cfba make these libraries build during the export phase
git-svn-id: svn://10.0.0.236/trunk@21212 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-18 22:36:27 +00:00
coop%netscape.com
52d9b10a97 NOT YET PART OF SEAMONKEY:
* now close input file in all cases
* warn user about params with no in/out flag information
* more internal error checking


git-svn-id: svn://10.0.0.236/trunk@21207 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-18 22:29:59 +00:00
shaver%netscape.com
e12b558d1f fix InterfaceDescriptorAddMethods to not randomly overwrite memory, and fix
DoMethodDescriptor to not randomly overwrite md->result


git-svn-id: svn://10.0.0.236/trunk@21155 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-18 17:36:46 +00:00
shaver%netscape.com
7f3aa35988 binary files are required (thanks, jband). also fix typo
git-svn-id: svn://10.0.0.236/trunk@21093 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-18 02:53:08 +00:00
shaver%netscape.com
9aaaefcbe2 Report read failure and short reads (should handle short reads better! RSN!).
File length is a size_t now, not an int.


git-svn-id: svn://10.0.0.236/trunk@21066 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-18 00:42:01 +00:00
coop%netscape.com
6b258d8513 NOT YET PART OF SEAMONKEY:
* replaces reference to unistd.h by stdlib.h


git-svn-id: svn://10.0.0.236/trunk@20980 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 17:36:01 +00:00
jband%netscape.com
de84b5da7e get this code compiling in win32
git-svn-id: svn://10.0.0.236/trunk@20902 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 07:05:36 +00:00
coop%netscape.com
2e906139b0 NOT YET PART OF SEAMONKEY:
* eliminated compiler warnings on Linux
* added extra error checking for file manipulation in SimpleTypeLib and xpt_dump
* removed erroneous comment from xpt_struct.h


git-svn-id: svn://10.0.0.236/trunk@20801 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-16 18:41:30 +00:00
coop%netscape.com
789a083e10 NOT YET PART OF SEAMONKEY:
* changed type descriptor tag defines into one big enum
* made corresponding changes to xpt_dump


git-svn-id: svn://10.0.0.236/trunk@20264 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-10 17:44:05 +00:00
coop%netscape.com
4c886d1021 NOT YET PART OF SEAMONKEY:
* added function XPT_GetInterfaceIndexByName
* replaced remaining occurences of 'namespace' with 'name_space' to keep C++ happy
* added xpt_dump display for param types (in/out/retval)
* changed xpt_dump handling for wchar_t strings
* use shaver's print_IID function when displaying type descriptors
* removed DoAnnotations (not used)


git-svn-id: svn://10.0.0.236/trunk@20058 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-09 00:14:38 +00:00
jband%netscape.com
ebc5ecdc49 NOT PART OF SEAMONKEY - a bunch of fixes to get it building on win32
git-svn-id: svn://10.0.0.236/trunk@20036 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-08 21:47:35 +00:00
shaver%netscape.com
165ac99ba0 move includes outside #ifdef for precompiled-header love, also PR_EXTERN_C
git-svn-id: svn://10.0.0.236/trunk@20017 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-08 19:48:48 +00:00
shaver%netscape.com
874949f141 Windows make goop
git-svn-id: svn://10.0.0.236/trunk@20009 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-08 18:34:54 +00:00
shaver%netscape.com
22f1e69f02 Added XPT_InterfaceDescriptorAddMethods to grow the method table.
Removed unused XPT_ALLOC macro.
Move XPT_SetDataOffset calls into XPT_DoHeader so that the API consumer doesn't
need to know about header sizing and IDE layout guck.
Handle NULL namespaces and interface_directory bits snd idents better.
Made xpt_dump show the the IID for interfaces.


git-svn-id: svn://10.0.0.236/trunk@19992 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-08 16:30:22 +00:00
coop%netscape.com
f612d438db NOT YET PART OF SEAMONKEY:
* added support for non-verbose mode as default for typelib dumper.


git-svn-id: svn://10.0.0.236/trunk@19647 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-04 03:16:07 +00:00
coop%netscape.com
4787cd5e13 NOT YET PART OF SEAMONKEY:
* add command-line flag for verbose mode, which will soon not be the default
* now outputs to stdout
* added output for int64, uint64, and wchar


git-svn-id: svn://10.0.0.236/trunk@19615 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-04 00:31:59 +00:00
shaver%netscape.com
24c5daca8b (NOT YET PART OF SEAMONKEY)
Update to use 16-bit IDE indices (one-based) instead of header-pool offsets.
Removed debugging cruft.
Added prototypes to get rid of warnings.
Fix many dumb mistakes WRT allocation and index checking.


git-svn-id: svn://10.0.0.236/trunk@19582 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-03 21:37:25 +00:00
coop%netscape.com
974dbf9b53 NOT YET PART OF SEAMONKEY:
* fixed header pointer assignment problem
* removed useless defines
* added correct level of indirection for sub-structs of header


git-svn-id: svn://10.0.0.236/trunk@19259 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-02 01:26:36 +00:00
coop%netscape.com
6e4af8f9ef NOT YET PART OF SEAMONKEY:
* added directory libxpt/tools which currently only contains the typelib dumper
* removed dump code from tests dir
* added/modified appropriate Makefiles and configure scripts


git-svn-id: svn://10.0.0.236/trunk@19068 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-30 01:10:01 +00:00
coop%netscape.com
c59da5af63 NOT YET PART OF SEAMONKEY:
* committing fixes for shaver
* header pointer is now set XPT_DoHeader
* fixed assertion error in CHECK_COUNT macro


git-svn-id: svn://10.0.0.236/trunk@19065 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-30 01:03:54 +00:00