| Author | Date | Description |
| jSegue |
| Robert Hastings | 2006-05-26T23:46:13.147361Z | Ignore generated files and directories. |
| Robert Hastings | 2006-06-01T05:31:59.820911Z | Minor updates. |
| Robert Hastings | 2006-06-22T23:06:22.628433Z | Added uptodate rules to speed up build when nothing to do. |
| Robert Hastings | 2006-06-23T09:20:00.553086Z | Ignore .generated file. |
| Robert Hastings | 2006-06-23T20:13:01.327783Z | Fixed JavaLauncher comment. |
| Robert Hastings | 2006-06-23T21:04:20.199460Z | Added svn keyword expansion. |
| Robert Hastings | 2006-06-23T22:39:11.962434Z | Fixed a bug that was causing a clean build to fail.
tlb-tests-uptodate thought that it was uptodate. |
| Robert Hastings | 2006-06-24T03:35:41.791544Z | Ignore Release dirs. |
| Adam Perry-Pelletier | 2006-08-29T00:39:44.583560Z | White space formatting fixes. No functional change. |
| Adam Perry-Pelletier | 2006-08-29T00:44:05.670173Z | Made h-gen generate proper C++ header files for derived classes that use Java 5 covariant return features. |
| Adam Perry-Pelletier | 2006-08-29T00:44:07.582147Z | Made h-gen generate proper C++ header files for derived classes that use Java 5 covariant return features. |
| Adam Perry-Pelletier | 2006-08-29T01:20:21.162790Z | Fixed broken logic to correctly include the most-derived class's impl of overridden covariant return method. |
| Robert Hastings | 2006-08-31T19:27:56.908745Z | Quick start page. |
| Robert Hastings | 2006-08-31T19:37:21.871176Z | Added sysprop to find dll. |
| Adam Perry-Pelletier | 2006-09-05T23:53:22.311524Z | Added some Visual Studio generated files to svn:ignore property of this directory. |
| Adam Perry-Pelletier | 2006-09-05T23:55:31.864056Z | Added some Visual Studio generated files to svn:ignore property of this directory. |
| Adam Perry-Pelletier | 2006-09-05T23:58:19.808761Z | Created an anthill-init target that sets use.anthill.version property to properly create/use the jsegue version file. |
| Robert Hastings | 2006-09-06T17:42:15.163627Z | Fix for using the buildVersion property that luntbuild
passes as the jSegue version.
|
| Robert Hastings | 2006-09-08T20:54:04.345877Z | Copy junit report to luntbuild report area. |
| Robert Hastings | 2006-09-09T02:19:40.834419Z | Fixed a sutble race condition in the build. Both tlb-bindings and
tlb-stdole were touching the same file. So sometimes ant
would think that tlb-bindings were upto date. |
| Adam Perry-Pelletier | 2006-09-21T22:45:24.868442Z | Made the creation of the version strings much simpler as we no longer care about
cvs and anthill. |
| Robert Hastings | 2006-09-22T22:08:18.122432Z | Added support for dumping bytes from a slice of an array
by adding new methods with
array, offset, count parameters.
|
| Adam Perry-Pelletier | 2006-09-25T20:26:00.604473Z | Checked in build version functionality to have version.properties file generated
by an and taskdef rarther than in ant targets. This is s significant simplification. |
| Adam Perry-Pelletier | 2006-09-28T00:54:08.801273Z | Release build number from luntbuild will now by of the form a.b.c.d.e where e is the
timestamp that gets ignored by most of the build. BuildVersionProperties needed to
be modified to not choke when presented a 5-part version number. |
| Robert Hastings | 2006-10-03T00:02:10.134038Z | Ignore generated files |
| Robert Hastings | 2006-10-03T00:02:35.846502Z | Ignore generated files |
| Robert Hastings | 2006-10-19T20:46:41.520958Z | All projects get the version task-def called for free, fixed mx build |
| Robert Hastings | 2006-10-30T22:56:33.759340Z | When compiling using the JDT compiler instead of the Sun
compiler, we must set the target if we set the source attribute.
|
| Robert Hastings | 2006-10-31T19:07:29.616651Z | Updated the javadoc in some classes in com.moesol.bindings. |
| Robert Hastings | 2006-10-31T19:08:28.118486Z | Split out the DAO and ADO bindings into different jar's.
No longer generate the javadoc for these classes.
|
| Adam Perry-Pelletier | 2006-10-31T20:09:19.339544Z | jSegue generated java code for typedef'd structs that wouldn't compile because it
generated an 'interface' that 'extends' a concrete class - which is a java compile
error. So in this scenario, jSegue now correctly generates a 'class' that 'extend' a concrete
class. |
| Adam Perry-Pelletier | 2006-10-31T20:10:32.249477Z | Got rid of references to anthill in the build script and also references to targets
that anthill targets depended on for setting up the version string generation. This
is now handled in a more simple manner by luntbuild. |
| Adam Perry-Pelletier | 2006-10-31T22:53:41.904347Z | Added the ability to create SVN change logs for the jSegue project. |
| Matt Sivertson | 2006-11-03T00:30:54.989659Z | MLS: NetBeansified JSegue |
| Robert Hastings | 2006-11-10T23:29:37.539684Z | Moved test from src to tests directory. |
| Robert Hastings | 2006-11-10T23:34:15.759245Z | Moved test from src to tests directory. |
| Robert Hastings | 2006-11-11T00:09:08.221361Z | Allow mvn deploy to work. |
| Robert Hastings | 2006-11-14T19:30:06.609245Z | Added some experimental code that will find a native library
wrapped in a .jar file or otherwise on the classpath as a
resource. When we find it we extract it to ${user.home}/.native
and then we use it. The main feature that is needed is to add
support for encoding the architecture into the name so that
a jar can contain many dll/so files one for each architecture
that is supported. |
| Robert Hastings | 2006-11-14T20:46:47.550888Z | Fixed java 1.4 compile problem. |
| Robert Hastings | 2006-11-14T21:14:01.072534Z | Fixed jSegue on 1.4 (really). |
| Robert Hastings | 2006-12-15T19:41:32.892416Z | Updated a comment. |
| Robert Hastings | 2006-12-15T19:42:09.550088Z | Use JUNIT_SRC instead of hardcoding to eclipse verion. |
| Robert Hastings | 2006-12-15T19:47:58.169215Z | Added new search algorithm for finding native libraries.
I think I need a strategy pattern now that we have so
many ways to find them. This class adds methods to
find native libraries by finding the location of the jar
file that contains the class and then looking for the
native library in the same directory as the jar.
Also, you can now include a native library as a resource
inside of a jar. If you do that this code will extract
the native library and then load it. The extract directory
can be set, but defaults to ${user.home}/.native.
|
| Robert Hastings | 2006-12-15T19:59:43.173934Z | Added copyright notice. |
| Robert Hastings | 2006-12-15T20:16:42.083635Z | Force eclipse to use java 1.4 settings for this project. |
| Robert Hastings | 2006-12-15T20:17:09.841676Z | Backport to java 1.4 constructs. |
| Robert Hastings | 2006-12-15T23:36:08.829529Z | Fixes for paths that have spaces. These were broken before when we tried to compute the directory name of the jar.
When we extract a dll as a resource we go ahead and create a unique filename for it. If loadLibrary is called too
often within the same VM this will create many files.
Wrap a BufferedOutputStream around the FileOutputStream for performance. It really did make a difference.
|
| Robert Hastings | 2006-12-15T23:36:40.309011Z | When we extract a dll as a resource we go ahead and create a unique filename for it. If loadLibrary is called too
often within the same VM this will create many files.
Wrap a BufferedOutputStream around the FileOutputStream for performance. It really did make a difference. |
| Robert Hastings | 2006-12-15T23:36:57.520219Z | Fixes for paths that have spaces. These were broken before when we tried to compute the directory name of the jar.
|
| Robert Hastings | 2006-12-15T23:49:42.558796Z | Fixed 1.5 uses in this 1.4 code. |
| Robert Hastings | 2006-12-19T23:59:45.676457Z | Refactored to use a strategy.
Added a search for native library with same name
as jar to support maven. So
if you have fobs4jmf-0.4.jar it will look for
fobs4jmf-0.4.dll |
| Robert Hastings | 2006-12-20T00:07:43.738152Z | Made loadLibrary method static |
| Robert Hastings | 2007-01-10T19:18:36.711102Z | Switched the JUNIT_SRC |
| Derek Desjardins | 2007-01-17T21:40:03.521544Z | Updated JSegue to build on x64 |
| Robert Hastings | 2007-01-17T22:20:01.244106Z | Ignore output folder |
| Robert Hastings | 2007-01-17T22:20:20.815302Z | echo os, compile-config, and solution |
| Robert Hastings | 2007-01-17T22:21:01.713393Z | Reassociated Release build with Release config.
Somehow Release was associated with Release_on_Win64 |
| Robert Hastings | 2007-01-17T22:21:16.275904Z | Removed |
| Robert Hastings | 2007-01-18T22:37:58.558806Z | Fixed the problem with version-compile when called from maven.
Now we add maven.compile.classpath. We added to the pom a provided dependency for ant
so that when version-compile compiles (which also compiles some ant tasks) it works. |
| Robert Hastings | 2007-01-18T22:41:23.298914Z | Fixed the problem with version-compile when called from maven.
Now we add maven.compile.classpath. We added to the pom a provided dependency for ant
so that when version-compile compiles (which also compiles some ant tasks) it works.
Fixed up the pom to also call ant's clean when mvn calls clean.
Also, found the dependencies necessary to get ant to compile java code. |
| Robert Hastings | 2007-01-18T23:55:39.008911Z | Fixed build error. Must define an empty maven.compile.classpath when ant only. |
| Adam Perry-Pelletier | 2007-02-14T04:07:19.646308Z | Adde code to track the interface, dispatch and coclass countr for java only. |
| Robert Hastings | 2007-03-02T05:34:33.332305Z | Added Comparable interface to native structures to support
putting GUID's into a TreeMap. |
| Robert Hastings | 2007-03-02T23:25:02.165739Z | All the native output (.obj, etc) was getting put into the jSegue jar file.
Removed. |
| Robert Hastings | 2007-03-02T23:25:15.264520Z | Ignore generated dirs. |
| Robert Hastings | 2007-03-02T23:26:19.938341Z | Switched from windows types to C++ types so that we almost
do not need Windows.h. There are still a couple of types
that are problematic:
HWND, HKEY, and calls to DebugBreak in the header file. |
| Robert Hastings | 2007-03-06T01:51:29.611913Z | Fixed FindAsResource strategy to leave the filename alone.
So geotrans2.dll used to get converted to geotrans2.dll.0.
Where zero was just used to keep the name unique (incase
two processes are using the same dll). However, we use
a trick where we load a dependent dll then the jni dll
so that windows can find the dll through our search
instead of just on the the PATH. That trick requires the
dll name remain the same. So now we extract to
.native/0/geotrans2.dll
|
| Robert Hastings | 2007-03-13T00:24:02.550044Z | short overview for bae presentation |
| Robert Hastings | 2007-03-19T21:34:53.725621Z | Fixed typo in comment. |
| Robert Hastings | 2007-03-19T21:43:07.784276Z | Added a new -mk_pgk_dirs option so that if dst dir
exists tlb2java will create the intermediate package dirs.
Track which input file we are processing so that other
modules can report that in the code they generate.
|
| Robert Hastings | 2007-03-19T21:46:22.119180Z | Show which input file was used to generate this java file.
Verfy useful when you have a lot of input files. |
| Robert Hastings | 2007-03-19T21:47:51.137098Z | Show which input file was used to generate this java file.
Verfy useful when you have a lot of input files.
Fixed bug, need to generate the fully qualified name
for the interface type used to add/remove listeners
in case the interface is declared in a different typelib
that is imported here. |
| Robert Hastings | 2007-03-19T21:48:47.362169Z | Show which input file was used to generate this java file.
Verfy useful when you have a lot of input files. |
| Robert Hastings | 2007-03-19T21:49:32.914986Z | Show which input file was used to generate this java file.
Verfy useful when you have a lot of input files.
Fixed a bug, when a structure has no members we would generate
java code that would not compile. |
| Robert Hastings | 2007-03-19T21:51:09.883490Z | Show which input file was used to generate this java file.
Verfy useful when you have a lot of input files.
Fixed a bug, when a structure has no members we would generate
java code that would not compile. |
| Robert Hastings | 2007-03-19T21:52:11.243639Z | If move or remove fail, throw an error that stops the build. |
| Robert Hastings | 2007-03-22T05:29:32.329387Z | Fixed reverse com docs. registerServer has moved. |
| Robert Hastings | 2007-03-22T05:31:04.908586Z | Created an archetype that can automatically create the necessary code and project
to create a dll for a COM binding. |
| Robert Hastings | 2007-03-22T05:55:09.573870Z | Unhandled java exceptions are now warnings in the nt event log. |
| Robert Hastings | 2007-03-22T05:59:10.474592Z | Try harder to remove old dll's |
| Robert Hastings | 2007-03-22T05:59:51.183674Z | Add progid to registr if static field exists. |
| Robert Hastings | 2007-03-22T06:01:12.019585Z | Encode URLs correctly. |
| Robert Hastings | 2007-03-22T06:28:01.263867Z | removed generated FontEvents.java |
| Robert Hastings | 2007-03-22T07:16:05.574106Z | Generate more of the stdole typelib. |
| Robert Hastings | 2007-03-22T07:26:23.510814Z | Revert change until, changes in tlb2java can be commited. |
| Robert Hastings | 2007-03-22T07:34:58.786776Z | Revert change until, changes in tlb2java can be commited. |
| Robert Hastings | 2007-03-22T07:38:35.487522Z | Added PROGID support to ComRegistryHelper.registerServer |
| Robert Hastings | 2007-03-22T07:57:14.643073Z | Fix for when progid field is missing (we should
still register). |
| Robert Hastings | 2007-03-22T21:24:28.447878Z | Create a branch for the jmps-e work. Plan to merge branch back to
head after we verify all differences in the new code generator. |
| Robert Hastings | 2007-03-23T04:26:10.417627Z | Mapped VT_UI8 to a java.math.BitInteger |
| Robert Hastings | 2007-03-23T04:49:03.374409Z | Setup for testing of ULONGLONG.
Still need support in tlb2java to make that work. |
| Robert Hastings | 2007-03-23T04:53:28.257869Z | Added -disp_for_disp flag so that we can tell tlb2java
to build IDispatch::Invoke for dispinterface interfaces. |
| Robert Hastings | 2007-03-23T04:54:13.677918Z | Fixed bug was missing | (or) in generated code. |
| Robert Hastings | 2007-03-23T04:56:25.065800Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code. |
| Robert Hastings | 2007-03-23T04:56:42.316579Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code. |
| Robert Hastings | 2007-03-23T04:58:48.884421Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code.
Upgraded the logic for how we compute whether we will
generate vtble or dispatch calls. Pushed the logic
through to the jni side so that we generate a compilable
stub if we end up not generating the vtble calls. |
| Robert Hastings | 2007-03-23T04:59:09.417999Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code. |
| Robert Hastings | 2007-03-23T04:59:45.970837Z | Start of support for VT_UI8.
It only works in struct's so far. |
| Robert Hastings | 2007-03-23T05:00:16.091314Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code.
Upgraded the logic for how we compute whether we will
generate vtble or dispatch calls. Pushed the logic
through to the jni side so that we generate a compilable
stub if we end up not generating the vtble calls. |
| Robert Hastings | 2007-03-23T05:00:36.113803Z | Start of support for VT_UI8.
It only works in struct's so far. |
| Robert Hastings | 2007-03-23T05:01:00.394327Z | Start of support for VT_UI8.
It only works in struct's so far. |
| Robert Hastings | 2007-03-23T05:01:28.180207Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code. |
| Robert Hastings | 2007-03-23T05:02:17.275614Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code. |
| Robert Hastings | 2007-03-23T05:02:39.195745Z | -disp_only had a bug. It was not generating the same
Disp table entries as the non -disp_only code path.
Also, the return type computation was different. Created
an adapter to adapt a coverter to a type desc printer
so we could use the same code path for return type
computation as the non -disp_only code.
Upgraded the logic for how we compute whether we will
generate vtble or dispatch calls. Pushed the logic
through to the jni side so that we generate a compilable
stub if we end up not generating the vtble calls. |
| Robert Hastings | 2007-03-23T05:02:59.540125Z | throw E_FAIL if move or remove fail. |
| Robert Hastings | 2007-03-23T05:03:42.352240Z | Generate compilable code for converting a safearray of records. |
| Robert Hastings | 2007-03-23T05:09:12.346494Z | Better handling of fields that are pointers. Generate calls to NativeStructure
that throw UnsupportedOperationException. These can be addressed outside of
tlb2java.
Added similar support for UnsignedLongLong, and Date. |
| Robert Hastings | 2007-03-23T05:11:58.864029Z | Support more types in native structures.
Some new types throw UnsupportedOperationException for now. |
| Robert Hastings | 2007-03-23T05:13:14.166425Z | Log which jre.home we end up using. |
| Robert Hastings | 2007-03-23T05:15:17.593728Z | If we are thunking for an interface marked [dual] and IDispatch::Invoke is called
then we just forward to ITypeInfo::Invoke in a manner very similar to ATL. |
| Robert Hastings | 2007-03-23T05:20:06.744607Z | To make sure that we can find com_moesol_bindings.dll when we are serving COM objects
we set the system property com_moesol_bindings.library.path when we start the JVM.
The value we set it to is the directory determined from the full path to the dll.
Refactored code to try to avoid what appears to be a compiler optimization problem.
When we build with /O2 then exceptions that are thrown cause an unhandled exception
error. But when we build with /Od the code works normally. Restructuring the code
into smaller functions did not seem to help. |
| Robert Hastings | 2007-03-23T05:20:47.262393Z | Refactored to expose GetModuleDirectory |
| Robert Hastings | 2007-03-23T05:21:42.837668Z | Added IEnumVARIANT to the list of interfaces we compile into jSegue. |
| Robert Hastings | 2007-03-23T05:25:00.767539Z | Cleaned up the project build file. It had custom settings for many of the .h and .cpp
files. Now, we just inherit most of the settings except for the necessary overrides
for StdAfx.cpp. |
| Robert Hastings | 2007-03-23T05:25:50.983371Z | Auto-generated now. |
| Robert Hastings | 2007-03-23T05:26:10.263906Z | ignores. |
| Robert Hastings | 2007-03-23T05:26:59.750922Z | Test for BigInteger/VT_UI8
Commented tests for Date, and others. |
| Robert Hastings | 2007-03-23T05:27:18.746851Z | More structure tests. |
| Robert Hastings | 2007-03-23T05:28:28.375104Z | moved non-ole automation types to different struct so that our unit tests will still run. |
| Robert Hastings | 2007-03-23T05:28:57.390539Z | ignores. |
| Robert Hastings | 2007-03-23T05:40:18.013263Z | Added IEnumVARIANT to the list of interfaces we compile into jSegue. |
| Derek Desjardins | 2007-03-26T23:07:24.610513Z | Initial checkin of nasty structure, without the nasty parts. |
| Derek Desjardins | 2007-03-27T17:21:21.362951Z | Added Arg passing for nasty struct. Also added and updated relevant Unit tests. |
| Derek Desjardins | 2007-03-27T18:02:14.037599Z | Fixed broken build. |
| Derek Desjardins | 2007-03-27T19:55:59.792790Z | Updated IDualTest with proper calls to Nasty Struct calls within Idual. |
| Derek Desjardins | 2007-03-27T21:08:30.327529Z | Added IDual embedded interface to NASTY_STRUCT . |
| Robert Hastings | 2007-03-27T23:29:40.322623Z | Ignore the now generated FontEvents interface. |
| Robert Hastings | 2007-03-28T05:48:17.229792Z | set the class and method so that the logs from the test
are more representative of real logs. |
| Robert Hastings | 2007-03-28T19:42:19.668846Z | Added new unit test to make sure subclassing works.
So
MyServer extends ComObject implements IFoo
MySubclass extends MyServer implements IBar
works, and QI does what is expected.
Also, check that register/unregister work for progid.
Fixed bug with unregister for progid. |
| Robert Hastings | 2007-03-29T19:52:18.911618Z | Fixed bug, the -disp_only bindings where not checking
for NULL pointer. |
| Robert Hastings | 2007-03-29T19:53:31.733984Z | Better error handling for the JNI invocation side.
If the jvm calls abort we log it.
If the jvm calls vprintf we log the message to the
NT event log. |
| Robert Hastings | 2007-03-30T03:07:43.153016Z | - Fixed not implemented exception when converting a VARIANT containing a SAFEARRAY
containing an IDispatch pointer to Java |
| Robert Hastings | 2007-03-30T17:36:56.001908Z | The goal of this change is to associate
an OleThread with interfaces even if
ApartmentThread checking is disabled.
We do not currently enable ApartmentThread
checking for IUnknown and IDispatch by
default, but for finalize we need
to know the release thread.
Also, consolidated the call to
assert storeAllocationLocation() since
both apt checked and non-checked were
calling it.
For reverse COM, we now attach an OleThread
to the apartment thread DllGetClassObject
is called on. So, we are leveraging the hosting
apps message pump! By the rules of COM
the apartment thread must pump windows
messages, if it does not then the finalize
thread will hang...
The goal of this change is to associate
an OleThread with interfaces even if
ApartmentThread checking is disabled.
We do not currently enable ApartmentThread
checking for IUnknown and IDispatch by
default, but for finalize we need
to know the release thread.
Also, consolidated the call to
assert storeAllocationLocation() since
both apt checked and non-checked were
calling it.
For reverse COM, we now attach an OleThread
to the apartment thread DllGetClassObject
is called on. So, we are leveraging the hosting
apps message pump! By the rules of COM
the apartment thread must pump windows
messages, if it does not then the finalize
thread will hang... |
| Robert Hastings | 2007-03-30T17:37:05.518257Z | Fixed how reverse com handles [in] interface
pointers, so that the programmer gets the
least amount of surprise.
Before the code would wrap a java holder around
the interface that would AddRef. After the
reverse call the code would java Release
the interface so that we would be sure to
call Release from the same thread (since
the GC happens on the finalize thread).
Now the code allows the java holder
to maintain the reference (from the
programmer's stand point the old
code zero'ed out the interface
out from underneath of them). |
| Robert Hastings | 2007-03-30T18:03:21.361096Z | For development purposes we list the path
to the Debug version of com_moesol_bindings.dll so that
eclipse will find that version by default during java
launches. |
| Robert Hastings | 2007-03-31T09:22:56.656809Z | Reverse COM can no longer use alloc_object since objects
created this way do not get finalize called by the GC.
So we have to call new_object, but for a coclass that
would create a new instance via CoCreateInstance.
This change creates a new inner class (Jni) that can
be new'ed but not call CoCreateInstance. |
| Robert Hastings | 2007-03-31T09:24:53.820544Z | Made tlb-tests-disp-only out of date if tlb2java
.h or .cpp files have changed. |
| Robert Hastings | 2007-03-31T09:25:27.806486Z | Use a boolean to track frozen state, otherwise.
We keep creating an unmodifiable collection. |
| Robert Hastings | 2007-03-31T09:26:13.786866Z | Reverse COM can no longer use alloc_object since objects
created this way do not get finalize called by the GC.
So we have to call new_object. |
| Robert Hastings | 2007-03-31T09:26:38.127683Z | Contributed fix for bug id 1571804. |
| Robert Hastings | 2007-03-31T09:28:35.808739Z | Delay creating result until getResult called.
Saves some JNI calls when InterfaceBuilder is just
used to extract GUID info. |
| Robert Hastings | 2007-03-31T09:29:07.086790Z | Added a global_weak_ref class.
Not needed yet. |
| Robert Hastings | 2007-03-31T09:30:21.722515Z | Switched over to GC based releases for Reverse COM.
Documented the alternative, left commented code if
we need to switch back. |
| Robert Hastings | 2007-03-31T09:31:17.247956Z | Reverse COM can no longer use alloc_object since objects
created this way do not get finalize called by the GC.
So we have to call new_object, but for a coclass that
would create a new instance via CoCreateInstance.
This change calls the new inner class (Jni). |
| Robert Hastings | 2007-03-31T09:33:23.678690Z | Added a trivial InterfaceTracker, which is not ready for
production code, but it was helpful in figuring out why
that alloc_object was the leak culprit. |
| Robert Hastings | 2007-03-31T09:34:23.634291Z | Added some FINE level logsing and fixed the depreication
warning. |
| Robert Hastings | 2007-03-31T09:35:10.997580Z | Switched over to GC based releases for ReverseCOM.
Switched the unit test to using ole thread. |
| Robert Hastings | 2007-03-31T09:48:53.066607Z | Removed extra argument from ctor call. |
| Robert Hastings | 2007-03-31T09:49:09.062894Z | Replaced alloc_object with new_object. |
| Robert Hastings | 2007-03-31T10:01:55.915815Z | Fixed unit test now that toString includes super.hashCode(). |
| Robert Hastings | 2007-03-31T10:08:43.781745Z | Fixed unit test now that toString includes super.hashCode(). |
| Robert Hastings | 2007-03-31T10:48:42.806654Z | No longer use alloc_object without subsequent contructor call.
We now use new_object. Coclass creation uses inner Jni
class to avoid CoCreateInstance call. |
| Robert Hastings | 2007-04-04T21:52:19.335661Z | Small test for Safe arrays. |
| Robert Hastings | 2007-04-04T21:54:52.395158Z | Work around an issue where the safe array returns
a different VARTYPE than we created it with. |
| Robert Hastings | 2007-04-04T21:56:35.173419Z | Remove compiler output |
| Robert Hastings | 2007-04-06T01:04:19.281159Z | Added test project. |
| Robert Hastings | 2007-04-06T01:04:47.188410Z | Added ignore of Debug |
| Robert Hastings | 2007-04-06T01:08:01.617713Z | Fixed call type for JNI callback functions. |
| Derek Desjardins | 2007-04-06T18:30:15.370723Z | Updated tlb2java to support native structures. |
| Derek Desjardins | 2007-04-06T20:17:07.676640Z | Added Support for put and get of a nasty structure. |
| Derek Desjardins | 2007-04-06T20:47:44.962499Z | addded test for embedded interface |
| Robert Hastings | 2007-04-06T22:42:51.335234Z | Add super class to structs java.lang.Object. |
| Derek Desjardins | 2007-04-07T00:25:22.541419Z | Added ability to send complex structures ( nasty structures ) in arrays to / from java. |
| Robert Hastings | 2007-04-09T03:29:34.180185Z | Removed dead code. |
| Robert Hastings | 2007-04-09T03:30:53.503960Z | Changed archetype to include full path to tlb.
Fixed Release includes. |
| Robert Hastings | 2007-04-09T03:32:12.165208Z | Fixed IDispatch bridge for tlb2java to h-gen. |
| Robert Hastings | 2007-04-09T03:32:43.542297Z | Start of STGMEDIUM support. |
| Robert Hastings | 2007-04-09T03:42:32.457025Z | Fixed SA bug where c_str() may have been released but
still used. Use member m_leaf_type instead of relying
on c_str() liftime. |
| Robert Hastings | 2007-04-09T03:43:02.632457Z | Restored assert.
|
| Robert Hastings | 2007-04-09T03:43:18.329236Z | Removed dead comment. |
| Robert Hastings | 2007-04-09T03:43:51.434006Z | Fixed [in out] handling problem revealed by JMPS> |
| Robert Hastings | 2007-04-09T03:44:57.703951Z | Added test for a VARIANT that is a SAFEARRAY with IDispatch
elements. |
| Robert Hastings | 2007-04-09T03:45:32.199163Z | Removed unnneded version ant call. This was moved to the
shared library. |
| Robert Hastings | 2007-04-09T04:10:53.456122Z | Ignore generated header. |
| Robert Hastings | 2007-04-09T16:45:05.644561Z | If possible log which method caused an uncaught reverse
COM exception.
Validate that the offset is within our method table during
reverse COM call. |
| Derek Desjardins | 2007-04-09T18:00:29.979106Z | printer now honors the skip types passed into command line. |
| Derek Desjardins | 2007-04-09T20:10:40.586410Z | Added Propget test for nasty arrays. |
| Robert Hastings | 2007-04-09T22:44:51.010680Z | Fixed bug. Using different C-runtime heaps, debug build
was failing an assert in testVariantByRefBool. |
| Robert Hastings | 2007-04-09T22:46:07.266335Z | Removed dead code. |
| Robert Hastings | 2007-04-09T22:48:02.438159Z | Added testBoolVariant.
Added TODOtestByRefVariant.
|
| Derek Desjardins | 2007-04-10T03:46:35.677877Z | Updated Nasty Struct tests to test for memory leaks. |
| Derek Desjardins | 2007-04-10T19:35:07.350892Z | Added support for Java 2 native/COM array passing of nasty structures. |
| Derek Desjardins | 2007-04-11T08:36:16.410974Z | updated cehcking of safeArrayBounds, with separate calls for REcord "Object" type arrays, and primitives. |
| Robert Hastings | 2007-04-12T00:11:19.020933Z | Fixed javadoc. |
| Derek Desjardins | 2007-04-16T20:57:01.825473Z | Updated COMInterfaceThunk test, now BYREF flagged items can be passed in ( [in] ) that is. |
| Derek Desjardins | 2007-04-16T23:36:40.307651Z | Fixed reference return value in VT_BOOL specification. |
| Derek Desjardins | 2007-04-20T15:11:16.277395Z | Fixed VariantAsOut method in iDual
Added VariantInOut method and corresponding tests. |
| Derek Desjardins | 2007-04-20T21:42:04.576703Z | Updated Variant By_REF functionality to go in and OUT ! |
| Robert Hastings | 2007-04-20T22:18:13.719631Z | Removed author, added description. |
| Robert Hastings | 2007-04-20T22:30:26.166498Z | Fixed warning. |
| Robert Hastings | 2007-04-21T02:51:49.439407Z | There is a problem with native aggregation. The java
com object server cannot get the outer IUnknown. Added
a slide with a proposed change. |
| Robert Hastings | 2007-04-21T02:54:12.103700Z | Added a hidden command line option.
-debug_break that will call debug break
when the java generator generates a full name match.
This could be expanded to add break points in the various
phases, java, jni, hjni, etc. |
| Robert Hastings | 2007-04-21T02:55:36.823976Z | Replaces calling DebugBreak with throwing a JNIException.
This gives the code more control over how to handle the
error condition when we call get_env, but there is
no JavaVM running or we cannot get the JNIEnv pointer
from the vm. |
| Robert Hastings | 2007-04-21T03:02:00.239442Z | Fixed bug in getStructureBytes. If the ByteBuffer backing
the NativeStructure was a direct buffer the method would fail.
Now it copies the direct bytes into an array. If the
structure is more than 1000 bytes it logs a INFO level message. |
| Robert Hastings | 2007-04-21T03:21:46.875660Z | Created a Com Debug Frame that provides a window to show
you ComObject servers and how many references there are to
them.
Additionally, the window can you all IUnknown.Jni proxies
that have not yet been GC'ed. If you run with asserts
turned on you can also see a stack location of the allocation.
Finally, you can force a pre-mature Release call.
|
| Robert Hastings | 2007-04-21T03:24:41.720420Z | Updated the javadoc. |
| Robert Hastings | 2007-04-21T03:30:00.742529Z | First cut of ATL Control to host Java ComControl. By using aggregation we expect to be able to use
Java to extend the interfaces the control implements and to control the IDispatch interface for control
clients. We plan to be able to migrate functionality from ATL to Java incrementally as well. |
| Robert Hastings | 2007-04-21T03:31:29.457269Z | A sample java ComControl. |
| Robert Hastings | 2007-04-21T03:31:49.316800Z | Fixed bug in getStructureBytes. If the ByteBuffer backing
the NativeStructure was a direct buffer the method would fail.
Now it copies the direct bytes into an array. If the
structure is more than 1000 bytes it logs a INFO level message. |
| Robert Hastings | 2007-04-21T03:33:48.989355Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
|
| Robert Hastings | 2007-04-21T03:35:23.085126Z | Split the test classes into a folder called test-classes,
in a mannor similar to maven. We no longer need to filter
*Test* when we build the jar (which was causing a problem).
|
| Robert Hastings | 2007-04-21T03:36:56.724638Z | Fixed warnings. |
| Robert Hastings | 2007-04-21T03:37:23.353984Z | Added IEnumFORMATETC. |
| Robert Hastings | 2007-04-21T03:42:25.609520Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
Refactored to share create code for
CreateInstance (java entry) and
thunkedCreateInstance (called from native).
Added check for aggregation QIing for IUnknown. |
| Robert Hastings | 2007-04-21T03:42:49.460350Z | A sample java ComControl. |
| Robert Hastings | 2007-04-21T03:43:13.262140Z | Created a Com Debug Frame that provides a window to show
you ComObject servers and how many references there are to
them.
Additionally, the window can you all IUnknown.Jni proxies
that have not yet been GC'ed. If you run with asserts
turned on you can also see a stack location of the allocation.
Finally, you can force a pre-mature Release call. |
| Robert Hastings | 2007-04-21T03:44:53.353857Z | Created a Com Debug Frame that provides a window to show
you ComObject servers and how many references there are to
them.
Additionally, the window can you all IUnknown.Jni proxies
that have not yet been GC'ed. If you run with asserts
turned on you can also see a stack location of the allocation.
Finally, you can force a pre-mature Release call.
Also, added some code that will be needed to support
being the inner object for a native outer object using
COM Aggregation. |
| Robert Hastings | 2007-04-21T03:46:13.040265Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
Refactored to share create code for
CreateInstance (java entry) and
thunkedCreateInstance (called from native).
Added protection for FinalConstruct so that FinalRelease
will not get called if the inner object we aggregate
calls AddRef then Release. |
| Robert Hastings | 2007-04-21T03:47:13.982005Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
Refactored to share create code for
CreateInstance (java entry) and
thunkedCreateInstance (called from native).
Added protection for FinalConstruct so that FinalRelease
will not get called if the inner object we aggregate
calls AddRef then Release.
Added support for blind delegation of QI to support
a native inner object that has interfaces we do not
have java bindings for. |
| Robert Hastings | 2007-04-21T03:47:45.065729Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
Refactored to share create code for
CreateInstance (java entry) and
thunkedCreateInstance (called from native).
Added protection for FinalConstruct so that FinalRelease
will not get called if the inner object we aggregate
calls AddRef then Release.
Added support for blind delegation of QI to support
a native inner object that has interfaces we do not
have java bindings for. |
| Robert Hastings | 2007-04-21T03:49:42.418494Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
Refactored to share create code for
CreateInstance (java entry) and
thunkedCreateInstance (called from native).
Added protection for FinalConstruct so that FinalRelease
will not get called if the inner object we aggregate
calls AddRef then Release.
Added support for blind delegation of QI to support
a native inner object that has interfaces we do not
have java bindings for. |
| Robert Hastings | 2007-04-21T03:49:52.687870Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
Refactored to share create code for
CreateInstance (java entry) and
thunkedCreateInstance (called from native).
Added protection for FinalConstruct so that FinalRelease
will not get called if the inner object we aggregate
calls AddRef then Release.
Added support for blind delegation of QI to support
a native inner object that has interfaces we do not
have java bindings for. |
| Robert Hastings | 2007-04-21T03:50:07.159644Z | Created a Com Debug Frame that provides a window to show
you ComObject servers and how many references there are to
them.
Additionally, the window can you all IUnknown.Jni proxies
that have not yet been GC'ed. If you run with asserts
turned on you can also see a stack location of the allocation.
Finally, you can force a pre-mature Release call. |
| Robert Hastings | 2007-04-21T03:52:33.865766Z | We now add interfaces from out super classes to the
list of interfaces that QI supports. You can always
get the comMap and remove it if you do not want
your subclass to support that interface. |
| Robert Hastings | 2007-04-21T03:56:02.054091Z | Allow java object to be outer unknown for COM Aggregation.
Made the gc method try harder to reclaim interfaces.
This was needed to make all of the unit tests pass.
Old time was 5 seconds, new time is 30 seconds.
Added lookup of user friendly names for IIDs. See lookupIID
method.
Turn on proxy tracking if sys property set in OleInitialize.
See ComDebugFrame javadoc.
Added qiHelper to throw COMException if QI fails.
|
| Robert Hastings | 2007-04-21T03:58:27.885195Z | If native object asks for COM Aggregation we return
CLASS_E_NOAGGREGATION, since it does not work yet. |
| Robert Hastings | 2007-04-21T04:05:20.457022Z | Reworked ComIUnknown interface so that we use
InterfaceBuilder to pass QI information.
Also, we just return the HRESULT of the QI leaving
it to other layers to throw a COMException if necessary.
Refactored to share create code for
CreateInstance (java entry) and
thunkedCreateInstance (called from native).
|
| Robert Hastings | 2007-04-21T04:08:22.524485Z | Created a Com Debug Frame that provides a window to show
you ComObject servers and how many references there are to
them.
Additionally, the window can you all IUnknown.Jni proxies
that have not yet been GC'ed. If you run with asserts
turned on you can also see a stack location of the allocation.
Finally, you can force a pre-mature Release call. |
| Robert Hastings | 2007-04-21T04:09:58.577586Z | Created a Com Debug Frame that provides a window to show
you ComObject servers and how many references there are to
them.
Additionally, the window can you all IUnknown.Jni proxies
that have not yet been GC'ed. If you run with asserts
turned on you can also see a stack location of the allocation.
Finally, you can force a pre-mature Release call. |
| Robert Hastings | 2007-04-21T04:14:50.217730Z | Added ATL control. |
| Robert Hastings | 2007-04-21T04:15:35.262228Z | Ignore generated files. |
| Robert Hastings | 2007-04-21T04:28:04.291878Z | Fixed build problem, need com_moesol_bindings.dll for
regsvr32. |
| Robert Hastings | 2007-04-21T04:28:18.321519Z | Generated. |
| Robert Hastings | 2007-04-21T04:28:40.079940Z | Generated. |
| Robert Hastings | 2007-04-21T04:36:24.345664Z | ignore generated |
| Derek Desjardins | 2007-04-23T19:25:38.905940Z | Fixed some array conversions to create the proper type, not just Object[] |
| Robert Hastings | 2007-04-24T02:29:06.796729Z | Added more detailed diagrams of how COM Aggregation works
with Reverse COM. |
| Robert Hastings | 2007-04-24T02:33:34.584700Z | Added a way to override [retval] processing.
When IgnoreRetval is set to true (via setIgnoreRetval)
the outReturnType engine does not try to make the
return value of the method or function the [retval].
Instead, it uses the original signature.
Moved computation of a -retype_param JNI signature
to ParamConvertCfg so that java [] types would output
the correct signature.
|
| Robert Hastings | 2007-04-24T02:35:24.665504Z | Fixed bug in module code generation. [retval] in decl
was getting carried down to the C/C++ call which
requires the original param list.
Fixed _com_issue with _com_issue_error. |
| Robert Hastings | 2007-04-24T02:41:20.333862Z | Added -retype_param3 with allows the java type, jni type, and
the jni converter type to be specified. This was needed
to support java types that are arrays. For IOleWindow
we needed HWND[].
Refactored the computing of the JNI signature to
ParamConvertCfg and added support for computing the correct
signature of java array types. Primitive types are were
not handled and are still not handled.
|
| Robert Hastings | 2007-04-24T02:45:07.081239Z | Added -retype_param3 with allows the java type, jni type, and
the jni converter type to be specified. This was needed
to support java types that are arrays. For IOleWindow
we needed HWND[].
Refactored the computing of the JNI signature to
ParamConvertCfg and added support for computing the correct
signature of java array types. Primitive types are were
not handled and are still not handled. |
| Robert Hastings | 2007-04-24T02:45:33.684965Z | Added -retype_param3 with allows the java type, jni type, and
the jni converter type to be specified. This was needed
to support java types that are arrays. For IOleWindow
we needed HWND[].
Refactored the computing of the JNI signature to
ParamConvertCfg and added support for computing the correct
signature of java array types. Primitive types are were
not handled and are still not handled. |
| Robert Hastings | 2007-04-24T07:10:29.051909Z | Fixed bug, if tlb2java failed to rename or remove a file
it was not exiting with non-zero return. |
| Robert Hastings | 2007-04-24T07:11:48.677034Z | Fixed module function signatures. |
| Robert Hastings | 2007-04-24T07:13:17.587695Z | Fixed bug, if tlb2java failed to rename or remove a file
it was not exiting with non-zero return.
Setup for -show_restricted_methods flag. |
| Robert Hastings | 2007-04-24T07:14:07.335814Z | Setup for a -show_restricted_method flag. |
| Robert Hastings | 2007-04-24T17:56:00.246453Z | Added support for handling unhandled exceptions on the AWT event dispatch thread. |
| Robert Hastings | 2007-04-24T17:56:16.405842Z | Fixed bug, not all ComIUnknown interfaces are ComIUnknownImpl some are ComIUnknownOuter |
| Robert Hastings | 2007-04-24T17:56:26.740218Z | Fixed bug with object wiring during CreateInstance for COM Aggregation |
| Robert Hastings | 2007-04-24T17:56:36.600504Z | Fixed warnings |
| Robert Hastings | 2007-04-24T17:56:54.689188Z | Cleanup temporary IUnknown.Jni proxies
we use during FinalConstruct so that
we don't need GC to invoke FinalRelease.
Also, record the apartment for later
dispatching. |
| Robert Hastings | 2007-04-24T17:57:08.493262Z | Hold outer IUnknown without AddRef or Release.
The Test Container, does not allow
AddRef, Release, or QueryInterface during
IClassFactory::CreateInstance. Calling any
of the method either crases the test container
or causes the test container to be unstable.
This means we need to pass the ComIUnknownOuter as an IUnknown
to avoid having to create an IUnknown.Jni proxy. A few parts
of the code were changed to know that ComIUnknownOuter is an
IUnknown that exposes its interface pointer.
In particular jni_CoCreateInstance was modified
to take a long for the outer pUnk instead
of a IUnknown.Jni.
|
| Robert Hastings | 2007-04-24T17:57:19.938155Z | Made proxy tracker free threaded. |
| Robert Hastings | 2007-04-24T17:57:30.279214Z | Track ComObject servers. |
| Robert Hastings | 2007-04-24T17:58:04.725690Z | Added fwd COM support for IOleWindow.
Reworked build.xml and pom.xml so that some
of the tlb phases generate their source code
to build/generated-sources.
|
| Robert Hastings | 2007-04-24T17:58:25.145704Z | SampleControl now creates its own window
by leveraging IOleWindow. |
| Robert Hastings | 2007-04-24T18:03:19.222486Z | Removed dead field. |
| Robert Hastings | 2007-04-25T21:46:51.082324Z | Fixed bug in toString. If VT_BYREF, VT_VECTOR, or
VT_ARRAY flags were set then the type name was not printed.
Needed to mask the flags off to get the base type. |
| Robert Hastings | 2007-04-25T22:27:57.494741Z | Fixed design flaw. VT_BYREF for reverse COM
means that we need to write our results
to where the VARIANT reference points instead
of creating a new memory area and then
pointing the VARIANT to that location.
jni_VARIANT was mis-used. When jni_VARIANT
goes out of scope the reference holder
goes out of scope as well. When detach
is used the new copy points at freed memory.
Fixed bug in jni_VARIANT ref_stack handling.
When jni_VARIANT is destroyed the reference stack
gets freed, but any VARIANT on the referece stack
remains. No VariantClear is called for it.
As a result of these changes jni_VARIANT was
made simpler as some of its functionality was
refactored out into helper functions that are reused
by jni_convert_value, etc.
To address these issues, a new interface was creted,
jni_ByRefHandler. There are four implemenations of this
interface
1) For IDispatch::Invoke, there is a jni_StackByRefHandler
that will push a new element on the ref_stack like before
2) For jni_VARIANT as a parameter for forward COM
there is jni_FieldByRefHandler. This strategy sets
m_referenceHandler to new jni_VARIANT. The destructor
for jni_VARIANT deletes m_referenceHandler freeing
any held BSTRs, etc.
3) For reverse COM there is jni_ReverseComByRefHandler.
If makes sure the receiving VARIANT is setup to recieve the
returned type as a reference then leaves the destination
alone so that the result will go where the VARIANT points.
To support this a new vartype_trait was added, reference,
which is similar to the access method/trait.
The reference method returns a pointer to the type so that
it can write through the pointer to update the reference value.
4) For native structures there is jni_UnsupportedByRefHandler.
Since we currently do not support a VARIANT that is a reference
as a field in a structure.
|
| Robert Hastings | 2007-04-25T23:11:54.272439Z | Ignore .aps file. |
| Derek Desjardins | 2007-05-18T15:56:40.802394Z | FIXED:
VARIANT BY_REF Structures and primatives passing. Several bugs
FIXED: Arrays of structures had a bug relaed to caching of the Record information from a safearray when being used to create the return. |
| Robert Hastings | 2007-06-08T01:52:51.403699Z | Handle buildVersion that contains SNAPSHOT by using date. |
| Robert Hastings | 2007-06-08T01:54:12.811406Z | Update version for branch to 2.1.0-SNAPSHOT
Fixed deploy URL. |
| Robert Hastings | 2007-06-08T18:55:11.250588Z | Fixed bug, was CJB specific. |
| Robert Hastings | 2007-06-08T18:55:25.131793Z | Added user map for Derek. |
| Robert Hastings | 2007-06-08T19:05:17.691436Z | Added derek and matt. |
| Robert Hastings | 2007-06-08T19:06:22.089222Z | Added google analytics, ensure keyword expansion. |
| Robert Hastings | 2007-06-08T19:06:43.153952Z | Added google analytics, ensure keyword expansion. |
| Robert Hastings | 2007-06-08T19:12:13.424851Z | svn log broken for branch, but you can use svn cmd line to build .xml then run transform.
Added analytics.
mvn builds now also make the dist. |
| Robert Hastings | 2007-06-08T19:12:39.632645Z | svn log broken for branch, but you can use svn cmd line to build .xml then run transform.
Added analytics.
mvn builds now also make the dist. |