Commit Graph

159 Commits

Author SHA1 Message Date
waterson%netscape.com
990bef22e5 Fixed long-long codegen to use prlong macros (so it works on Mac). 1999-04-01 22:03:25 +00:00
jband%netscape.com
7f712c54a8 make -m stubs not crash on interfaces without parents 1999-03-31 07:56:36 +00:00
waterson%netscape.com
cff85cdb02 Fixes to the stub generator to uncripple stub-based XPConnect a little bit: use JSObjects to get args from JS stack, then pull the privs out; handle error codes and null returns a bit more cleanly. 1999-03-31 06:08:22 +00:00
jband%netscape.com
7845b97d17 fixing typedef bug that I introduced with previous checkin 1999-03-29 22:33:38 +00:00
jband%netscape.com
c5e8747649 many changes to xpidl:
- Removed '-n' from usage message.
- Added name_space (if declared) to comment in generated C++ header.
- Added [ptr], [ref], and [nsid] support for native declarations.
- Added support for [const] on 'in' params.
- Now add 'const' automatically for nsID in params.
- Added support for [shared] on 'out' params.
- Added -w warnings support for non-support of sequences.
- Removed support for enum and added -w wrning that they are ignored.
- Added support in header and typelib output for constants (short and long only).
1999-03-28 22:01:33 +00:00
jband%netscape.com
2f094e7206 add support for 'shared' flag in typelibs. This is available for use to indicate pointer type 'out' params which will not follow the xpcom rules of transfering ownership - i.e. they want to share a pointer rather than cloning the underlying data for the caller to delete when finished 1999-03-28 21:48:34 +00:00
danm%netscape.com
9d90b52b72 removing glowcode. a:jband 1999-03-26 02:37:22 +00:00
mccabe%netscape.com
4450173143 Move xptinfo, xptcall from export phase (erroneously copied from libxpt Makefile.in) to libs and back out previous temporary fix.
Finishing checkin.  Hopefully all is OK.
1999-03-25 10:35:19 +00:00
mccabe%netscape.com
4d4e61a4dd Move xptinfo, xptcall from export phase (erroneously copied from libxpt Makefile.in) to libs and back out previous tree patch. 1999-03-25 10:28:39 +00:00
mccabe%netscape.com
0d46aaa627 Adding libxpt and xpconnect to the build. 1999-03-25 07:50:11 +00:00
jband%netscape.com
843e4d0212 added support for namespace attribute of interface 1999-03-25 03:24:32 +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
jband%netscape.com
42c71b1afc fail gracefully on badly formed uuid 1999-03-19 04:54:47 +00:00
jband%netscape.com
c7d0c3e048 added octet for unsigned 8bit, made float and double work, added a Win32 batfile to build against the right MS runtime dll, added hacked temporary support for nsID expresed as nsIIDRef, added GOTO support for iid_is being native rather than an interface type; i.e. for QueryInterface style sig where a void* is used as the out type 1999-03-14 02:59:43 +00:00
jband%netscape.com
a6e22fd8aa more to fix assumption that interfaces don't have the pointer bit set 1999-03-13 09:09:26 +00:00
jband%netscape.com
2e3f289396 support float and double in headers and typelibs 1999-03-13 01:43:19 +00:00
jband%netscape.com
318cbab4df fix assumption that interfaces don't have the poointer bit set 1999-03-13 01:31:48 +00:00
jband%netscape.com
4788fda605 strings are TD_PSTRING | XPT_TDP_POINTER 1999-03-11 08:01:02 +00:00
jband%netscape.com
0ed6b5c0ec interfaces are pointers and getters return retvals 1999-03-11 07:12:18 +00:00
coop%netscape.com
c6c0714f4f NOT YET PART OF SEAMONKEY:
* added improved error message for IID collision.
1999-03-11 02:15:53 +00:00
coop%netscape.com
bec672cfc0 NOT YET PART OF SEAMONKEY:
* one character fix (D'oh!) to make InterfaceTypeDescriptor indices update properly.
1999-03-10 23:41:04 +00:00
shaver%netscape.com
4e97c87ca2 generate meaningful annotation 1999-03-10 21:09:01 +00:00
coop%netscape.com
8d12155d19 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.
1999-03-10 20:40:17 +00:00
coop%netscape.com
3c25f1eef4 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.
1999-03-10 19:44:36 +00:00
shaver%netscape.com
be86a9ee70 Handle nsID, nsIID and nsCID via a custom string-compare hack. (Ugly, but we
need 0.6.3 for a better fix, and this'll do for now.)
When sorting IDEs, sort entries with identical IIDs by namespace::name.
1999-03-09 19:59:42 +00:00
shaver%netscape.com
58164daf67 turn off more debugging noise and prepare for 0.6.2's forward handling 1999-03-09 08:23:00 +00:00
mccabe%netscape.com
9ad7c135d1 Chop xptinfo from the list of sub-Makes built by libxpt during coding
thrash.
1999-03-09 04:10:30 +00:00
coop%netscape.com
a356faf7da NOT YET PART OF SEAMONKEY:
* initial pass at handling the update of interface indices.
1999-03-09 02:51:22 +00:00
shaver%netscape.com
5346cd6379 Turn off debugging noise for myself.
Parse IIDs, and handle the unspecified case (= 0).
Sort IDE block like a good boy (all hail qsort).
Follow typedefs to make the right thing happen.
Hide [notxpcom] methods, and don't munge their signatures with _retval, etc.
1999-03-08 21:22:29 +00:00
coop%netscape.com
244b59ee4f 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
1999-03-08 21:13:58 +00:00
shaver%netscape.com
df77619c4a display method flags, handle bogus indices 1999-03-08 21:11:08 +00:00
shaver%netscape.com
2636f0fba1 Make params include the name of the interface referenced. 1999-03-08 20:33:35 +00:00
coop%netscape.com
23aac1de6d 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
1999-03-08 19:47:09 +00:00
shaver%netscape.com
d55deef772 fix remnant of 32-bit interface references 1999-03-08 03:56:14 +00:00
jband%netscape.com
5de5ba19b3 fix fopen mode for binary files - I'm starting to think that shaver, coop, and mccabe are doing this to me on purpose :) 1999-03-07 20:48:37 +00:00
shaver%netscape.com
07e853ae36 we do windows, but still wait on Mac 1999-03-07 02:37:17 +00:00
jband%netscape.com
a1ccd8bd8a getting shaver's changes compiling on Win32 - (and linking - dependency on nspr was added) 1999-03-06 21:39:45 +00:00
jband%netscape.com
21119d07b8 getting shaver's changes compiling on Win32 1999-03-06 21:35:01 +00:00
shaver%netscape.com
1a05939593 updated README and fixed 3484 (make in strings const) 1999-03-06 20:59:41 +00:00
shaver%netscape.com
c31d863018 Add XPT_InterfaceDescriptorAddConsts to API. 1999-03-06 19:40:34 +00:00
shaver%netscape.com
87bb504802 Compatibility with libIDL 0.6.x. (now required -- 0.5.x won't work any more)
Open absolutely-named files without include-path checking.
Always report errors (duh).
typelib generation: [iid_is()], consts, parse [uuid()], string type change
(will someone please explain our string types to me?), add float support,
handle [retval], IDL return as trailing argument (duh), attributes generate
accessor entries.
Use IDL_tree_error instead of burping at stderr.
1999-03-06 19:26:40 +00:00
scc%netscape.com
2ec0a397ea rename |IID()| --> |GetIID()| 1999-03-03 19:48:57 +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
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
brendan%netscape.com
a7bea6a1d8 Deal with wstring in .idl files correctly, or at least better. 1999-03-02 03:01:39 +00:00
brendan%netscape.com
b174ed2b63 Use new 'W' format with JS_ConvertArguments to get PRUnichar* out. 1999-03-02 02:51:33 +00:00
alecf%netscape.com
42a42d12dd put #ifdef's around the interface stub implementation output so that generated files can still
be part of the build system.
1999-02-27 03:34:39 +00:00
brendan%netscape.com
3c000de84d Fix indentation, fiddle to share common fputs string. 1999-02-26 02:48:01 +00:00
mccabe%netscape.com
6674e1b86b Initial checkin of typelib loading service. 1999-02-25 22:56:43 +00:00
alecf%netscape.com
b5f4372dd4 include jsapi.h whenever we're doing stub work 1999-02-25 18:47:58 +00:00