jSegue 1.1.1.1

AuthorDateDescription
jSegue
Robert Hastings2006-05-26T23:46:13.147361ZIgnore generated files and directories.
Robert Hastings2006-06-01T05:31:59.820911ZMinor updates.
Robert Hastings2006-06-22T23:06:22.628433ZAdded uptodate rules to speed up build when nothing to do.
Robert Hastings2006-06-23T09:20:00.553086ZIgnore .generated file.
Robert Hastings2006-06-23T20:13:01.327783ZFixed JavaLauncher comment.
Robert Hastings2006-06-23T21:04:20.199460ZAdded svn keyword expansion.
Robert Hastings2006-06-23T22:39:11.962434ZFixed a bug that was causing a clean build to fail. tlb-tests-uptodate thought that it was uptodate.
Robert Hastings2006-06-24T03:35:41.791544ZIgnore Release dirs.
Adam Perry-Pelletier2006-08-29T00:39:44.583560ZWhite space formatting fixes. No functional change.
Adam Perry-Pelletier2006-08-29T00:44:05.670173ZMade h-gen generate proper C++ header files for derived classes that use Java 5 covariant return features.
Adam Perry-Pelletier2006-08-29T00:44:07.582147ZMade h-gen generate proper C++ header files for derived classes that use Java 5 covariant return features.
Adam Perry-Pelletier2006-08-29T01:20:21.162790ZFixed broken logic to correctly include the most-derived class's impl of overridden covariant return method.
Robert Hastings2006-08-31T19:27:56.908745ZQuick start page.
Robert Hastings2006-08-31T19:37:21.871176ZAdded sysprop to find dll.
Adam Perry-Pelletier2006-09-05T23:53:22.311524ZAdded some Visual Studio generated files to svn:ignore property of this directory.
Adam Perry-Pelletier2006-09-05T23:55:31.864056ZAdded some Visual Studio generated files to svn:ignore property of this directory.
Adam Perry-Pelletier2006-09-05T23:58:19.808761ZCreated an anthill-init target that sets use.anthill.version property to properly create/use the jsegue version file.
Robert Hastings2006-09-06T17:42:15.163627ZFix for using the buildVersion property that luntbuild passes as the jSegue version.
Robert Hastings2006-09-08T20:54:04.345877ZCopy junit report to luntbuild report area.
Robert Hastings2006-09-09T02:19:40.834419ZFixed 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-Pelletier2006-09-21T22:45:24.868442ZMade the creation of the version strings much simpler as we no longer care about cvs and anthill.
Robert Hastings2006-09-22T22:08:18.122432ZAdded support for dumping bytes from a slice of an array by adding new methods with array, offset, count parameters.
Adam Perry-Pelletier2006-09-25T20:26:00.604473ZChecked 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-Pelletier2006-09-28T00:54:08.801273ZRelease 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 Hastings2006-10-03T00:02:10.134038ZIgnore generated files
Robert Hastings2006-10-03T00:02:35.846502ZIgnore generated files
Robert Hastings2006-10-19T20:46:41.520958ZAll projects get the version task-def called for free, fixed mx build
Robert Hastings2006-10-30T22:56:33.759340ZWhen compiling using the JDT compiler instead of the Sun compiler, we must set the target if we set the source attribute.
Robert Hastings2006-10-31T19:07:29.616651ZUpdated the javadoc in some classes in com.moesol.bindings.
Robert Hastings2006-10-31T19:08:28.118486ZSplit out the DAO and ADO bindings into different jar's. No longer generate the javadoc for these classes.
Adam Perry-Pelletier2006-10-31T20:09:19.339544ZjSegue 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-Pelletier2006-10-31T20:10:32.249477ZGot 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-Pelletier2006-10-31T22:53:41.904347ZAdded the ability to create SVN change logs for the jSegue project.
Matt Sivertson2006-11-03T00:30:54.989659ZMLS: NetBeansified JSegue
Robert Hastings2006-11-10T23:29:37.539684ZMoved test from src to tests directory.
Robert Hastings2006-11-10T23:34:15.759245ZMoved test from src to tests directory.
Robert Hastings2006-11-11T00:09:08.221361ZAllow mvn deploy to work.
Robert Hastings2006-11-14T19:30:06.609245ZAdded 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 Hastings2006-11-14T20:46:47.550888ZFixed java 1.4 compile problem.
Robert Hastings2006-11-14T21:14:01.072534ZFixed jSegue on 1.4 (really).
Robert Hastings2006-12-15T19:41:32.892416ZUpdated a comment.
Robert Hastings2006-12-15T19:42:09.550088ZUse JUNIT_SRC instead of hardcoding to eclipse verion.
Robert Hastings2006-12-15T19:47:58.169215ZAdded 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 Hastings2006-12-15T19:59:43.173934ZAdded copyright notice.
Robert Hastings2006-12-15T20:16:42.083635ZForce eclipse to use java 1.4 settings for this project.
Robert Hastings2006-12-15T20:17:09.841676ZBackport to java 1.4 constructs.
Robert Hastings2006-12-15T23:36:08.829529ZFixes 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 Hastings2006-12-15T23:36:40.309011ZWhen 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 Hastings2006-12-15T23:36:57.520219ZFixes for paths that have spaces. These were broken before when we tried to compute the directory name of the jar.
Robert Hastings2006-12-15T23:49:42.558796ZFixed 1.5 uses in this 1.4 code.
Robert Hastings2006-12-19T23:59:45.676457ZRefactored 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 Hastings2006-12-20T00:07:43.738152ZMade loadLibrary method static
Robert Hastings2007-01-10T19:18:36.711102ZSwitched the JUNIT_SRC
Derek Desjardins2007-01-17T21:40:03.521544ZUpdated JSegue to build on x64
Robert Hastings2007-01-17T22:20:01.244106ZIgnore output folder
Robert Hastings2007-01-17T22:20:20.815302Zecho os, compile-config, and solution
Robert Hastings2007-01-17T22:21:01.713393ZReassociated Release build with Release config. Somehow Release was associated with Release_on_Win64
Robert Hastings2007-01-17T22:21:16.275904ZRemoved
Robert Hastings2007-01-18T22:37:58.558806ZFixed 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 Hastings2007-01-18T22:41:23.298914ZFixed 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 Hastings2007-01-18T23:55:39.008911ZFixed build error. Must define an empty maven.compile.classpath when ant only.
Adam Perry-Pelletier2007-02-14T04:07:19.646308ZAdde code to track the interface, dispatch and coclass countr for java only.
Robert Hastings2007-03-02T05:34:33.332305ZAdded Comparable interface to native structures to support putting GUID's into a TreeMap.
Robert Hastings2007-03-02T23:25:02.165739ZAll the native output (.obj, etc) was getting put into the jSegue jar file. Removed.
Robert Hastings2007-03-02T23:25:15.264520ZIgnore generated dirs.
Robert Hastings2007-03-02T23:26:19.938341ZSwitched 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 Hastings2007-03-06T01:51:29.611913ZFixed 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 Hastings2007-03-13T00:24:02.550044Zshort overview for bae presentation
Robert Hastings2007-03-19T21:34:53.725621ZFixed typo in comment.
Robert Hastings2007-03-19T21:43:07.784276ZAdded 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 Hastings2007-03-19T21:46:22.119180ZShow which input file was used to generate this java file. Verfy useful when you have a lot of input files.
Robert Hastings2007-03-19T21:47:51.137098ZShow 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 Hastings2007-03-19T21:48:47.362169ZShow which input file was used to generate this java file. Verfy useful when you have a lot of input files.
Robert Hastings2007-03-19T21:49:32.914986ZShow 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 Hastings2007-03-19T21:51:09.883490ZShow 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 Hastings2007-03-19T21:52:11.243639ZIf move or remove fail, throw an error that stops the build.
Robert Hastings2007-03-22T05:29:32.329387ZFixed reverse com docs. registerServer has moved.
Robert Hastings2007-03-22T05:31:04.908586ZCreated an archetype that can automatically create the necessary code and project to create a dll for a COM binding.
Robert Hastings2007-03-22T05:55:09.573870ZUnhandled java exceptions are now warnings in the nt event log.
Robert Hastings2007-03-22T05:59:10.474592ZTry harder to remove old dll's
Robert Hastings2007-03-22T05:59:51.183674ZAdd progid to registr if static field exists.
Robert Hastings2007-03-22T06:01:12.019585ZEncode URLs correctly.
Robert Hastings2007-03-22T06:28:01.263867Zremoved generated FontEvents.java
Robert Hastings2007-03-22T07:16:05.574106ZGenerate more of the stdole typelib.
Robert Hastings2007-03-22T07:26:23.510814ZRevert change until, changes in tlb2java can be commited.
Robert Hastings2007-03-22T07:34:58.786776ZRevert change until, changes in tlb2java can be commited.
Robert Hastings2007-03-22T07:38:35.487522ZAdded PROGID support to ComRegistryHelper.registerServer
Robert Hastings2007-03-22T07:57:14.643073ZFix for when progid field is missing (we should still register).
Robert Hastings2007-03-22T21:24:28.447878ZCreate 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 Hastings2007-03-23T04:26:10.417627ZMapped VT_UI8 to a java.math.BitInteger
Robert Hastings2007-03-23T04:49:03.374409ZSetup for testing of ULONGLONG. Still need support in tlb2java to make that work.
Robert Hastings2007-03-23T04:53:28.257869ZAdded -disp_for_disp flag so that we can tell tlb2java to build IDispatch::Invoke for dispinterface interfaces.
Robert Hastings2007-03-23T04:54:13.677918ZFixed bug was missing | (or) in generated code.
Robert Hastings2007-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 Hastings2007-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 Hastings2007-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 Hastings2007-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 Hastings2007-03-23T04:59:45.970837ZStart of support for VT_UI8. It only works in struct's so far.
Robert Hastings2007-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 Hastings2007-03-23T05:00:36.113803ZStart of support for VT_UI8. It only works in struct's so far.
Robert Hastings2007-03-23T05:01:00.394327ZStart of support for VT_UI8. It only works in struct's so far.
Robert Hastings2007-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 Hastings2007-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 Hastings2007-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 Hastings2007-03-23T05:02:59.540125Zthrow E_FAIL if move or remove fail.
Robert Hastings2007-03-23T05:03:42.352240ZGenerate compilable code for converting a safearray of records.
Robert Hastings2007-03-23T05:09:12.346494ZBetter 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 Hastings2007-03-23T05:11:58.864029ZSupport more types in native structures. Some new types throw UnsupportedOperationException for now.
Robert Hastings2007-03-23T05:13:14.166425ZLog which jre.home we end up using.
Robert Hastings2007-03-23T05:15:17.593728ZIf 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 Hastings2007-03-23T05:20:06.744607ZTo 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 Hastings2007-03-23T05:20:47.262393ZRefactored to expose GetModuleDirectory
Robert Hastings2007-03-23T05:21:42.837668ZAdded IEnumVARIANT to the list of interfaces we compile into jSegue.
Robert Hastings2007-03-23T05:25:00.767539ZCleaned 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 Hastings2007-03-23T05:25:50.983371ZAuto-generated now.
Robert Hastings2007-03-23T05:26:10.263906Zignores.
Robert Hastings2007-03-23T05:26:59.750922ZTest for BigInteger/VT_UI8 Commented tests for Date, and others.
Robert Hastings2007-03-23T05:27:18.746851ZMore structure tests.
Robert Hastings2007-03-23T05:28:28.375104Zmoved non-ole automation types to different struct so that our unit tests will still run.
Robert Hastings2007-03-23T05:28:57.390539Zignores.
Robert Hastings2007-03-23T05:40:18.013263ZAdded IEnumVARIANT to the list of interfaces we compile into jSegue.
Derek Desjardins2007-03-26T23:07:24.610513ZInitial checkin of nasty structure, without the nasty parts.
Derek Desjardins2007-03-27T17:21:21.362951ZAdded Arg passing for nasty struct. Also added and updated relevant Unit tests.
Derek Desjardins2007-03-27T18:02:14.037599ZFixed broken build.
Derek Desjardins2007-03-27T19:55:59.792790ZUpdated IDualTest with proper calls to Nasty Struct calls within Idual.
Derek Desjardins2007-03-27T21:08:30.327529ZAdded IDual embedded interface to NASTY_STRUCT .
Robert Hastings2007-03-27T23:29:40.322623ZIgnore the now generated FontEvents interface.
Robert Hastings2007-03-28T05:48:17.229792Zset the class and method so that the logs from the test are more representative of real logs.
Robert Hastings2007-03-28T19:42:19.668846ZAdded 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 Hastings2007-03-29T19:52:18.911618ZFixed bug, the -disp_only bindings where not checking for NULL pointer.
Robert Hastings2007-03-29T19:53:31.733984ZBetter 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 Hastings2007-03-30T03:07:43.153016Z- Fixed not implemented exception when converting a VARIANT containing a SAFEARRAY containing an IDispatch pointer to Java
Robert Hastings2007-03-30T17:36:56.001908ZThe 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 Hastings2007-03-30T17:37:05.518257ZFixed 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 Hastings2007-03-30T18:03:21.361096ZFor 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 Hastings2007-03-31T09:22:56.656809ZReverse 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 Hastings2007-03-31T09:24:53.820544ZMade tlb-tests-disp-only out of date if tlb2java .h or .cpp files have changed.
Robert Hastings2007-03-31T09:25:27.806486ZUse a boolean to track frozen state, otherwise. We keep creating an unmodifiable collection.
Robert Hastings2007-03-31T09:26:13.786866ZReverse 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 Hastings2007-03-31T09:26:38.127683ZContributed fix for bug id 1571804.
Robert Hastings2007-03-31T09:28:35.808739ZDelay creating result until getResult called. Saves some JNI calls when InterfaceBuilder is just used to extract GUID info.
Robert Hastings2007-03-31T09:29:07.086790ZAdded a global_weak_ref class. Not needed yet.
Robert Hastings2007-03-31T09:30:21.722515ZSwitched over to GC based releases for Reverse COM. Documented the alternative, left commented code if we need to switch back.
Robert Hastings2007-03-31T09:31:17.247956ZReverse 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 Hastings2007-03-31T09:33:23.678690ZAdded 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 Hastings2007-03-31T09:34:23.634291ZAdded some FINE level logsing and fixed the depreication warning.
Robert Hastings2007-03-31T09:35:10.997580ZSwitched over to GC based releases for ReverseCOM. Switched the unit test to using ole thread.
Robert Hastings2007-03-31T09:48:53.066607ZRemoved extra argument from ctor call.
Robert Hastings2007-03-31T09:49:09.062894ZReplaced alloc_object with new_object.
Robert Hastings2007-03-31T10:01:55.915815ZFixed unit test now that toString includes super.hashCode().
Robert Hastings2007-03-31T10:08:43.781745ZFixed unit test now that toString includes super.hashCode().
Robert Hastings2007-03-31T10:48:42.806654ZNo longer use alloc_object without subsequent contructor call. We now use new_object. Coclass creation uses inner Jni class to avoid CoCreateInstance call.
Robert Hastings2007-04-04T21:52:19.335661ZSmall test for Safe arrays.
Robert Hastings2007-04-04T21:54:52.395158ZWork around an issue where the safe array returns a different VARTYPE than we created it with.
Robert Hastings2007-04-04T21:56:35.173419ZRemove compiler output
Robert Hastings2007-04-06T01:04:19.281159ZAdded test project.
Robert Hastings2007-04-06T01:04:47.188410ZAdded ignore of Debug
Robert Hastings2007-04-06T01:08:01.617713ZFixed call type for JNI callback functions.
Derek Desjardins2007-04-06T18:30:15.370723ZUpdated tlb2java to support native structures.
Derek Desjardins2007-04-06T20:17:07.676640ZAdded Support for put and get of a nasty structure.
Derek Desjardins2007-04-06T20:47:44.962499Zaddded test for embedded interface
Robert Hastings2007-04-06T22:42:51.335234ZAdd super class to structs java.lang.Object.
Derek Desjardins2007-04-07T00:25:22.541419ZAdded ability to send complex structures ( nasty structures ) in arrays to / from java.
Robert Hastings2007-04-09T03:29:34.180185ZRemoved dead code.
Robert Hastings2007-04-09T03:30:53.503960ZChanged archetype to include full path to tlb. Fixed Release includes.
Robert Hastings2007-04-09T03:32:12.165208ZFixed IDispatch bridge for tlb2java to h-gen.
Robert Hastings2007-04-09T03:32:43.542297ZStart of STGMEDIUM support.
Robert Hastings2007-04-09T03:42:32.457025ZFixed 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 Hastings2007-04-09T03:43:02.632457ZRestored assert.
Robert Hastings2007-04-09T03:43:18.329236ZRemoved dead comment.
Robert Hastings2007-04-09T03:43:51.434006ZFixed [in out] handling problem revealed by JMPS>
Robert Hastings2007-04-09T03:44:57.703951ZAdded test for a VARIANT that is a SAFEARRAY with IDispatch elements.
Robert Hastings2007-04-09T03:45:32.199163ZRemoved unnneded version ant call. This was moved to the shared library.
Robert Hastings2007-04-09T04:10:53.456122ZIgnore generated header.
Robert Hastings2007-04-09T16:45:05.644561ZIf possible log which method caused an uncaught reverse COM exception. Validate that the offset is within our method table during reverse COM call.
Derek Desjardins2007-04-09T18:00:29.979106Zprinter now honors the skip types passed into command line.
Derek Desjardins2007-04-09T20:10:40.586410ZAdded Propget test for nasty arrays.
Robert Hastings2007-04-09T22:44:51.010680ZFixed bug. Using different C-runtime heaps, debug build was failing an assert in testVariantByRefBool.
Robert Hastings2007-04-09T22:46:07.266335ZRemoved dead code.
Robert Hastings2007-04-09T22:48:02.438159ZAdded testBoolVariant. Added TODOtestByRefVariant.
Derek Desjardins2007-04-10T03:46:35.677877ZUpdated Nasty Struct tests to test for memory leaks.
Derek Desjardins2007-04-10T19:35:07.350892ZAdded support for Java 2 native/COM array passing of nasty structures.
Derek Desjardins2007-04-11T08:36:16.410974Zupdated cehcking of safeArrayBounds, with separate calls for REcord "Object" type arrays, and primitives.
Robert Hastings2007-04-12T00:11:19.020933ZFixed javadoc.
Derek Desjardins2007-04-16T20:57:01.825473ZUpdated COMInterfaceThunk test, now BYREF flagged items can be passed in ( [in] ) that is.
Derek Desjardins2007-04-16T23:36:40.307651ZFixed reference return value in VT_BOOL specification.
Derek Desjardins2007-04-20T15:11:16.277395ZFixed VariantAsOut method in iDual Added VariantInOut method and corresponding tests.
Derek Desjardins2007-04-20T21:42:04.576703ZUpdated Variant By_REF functionality to go in and OUT !
Robert Hastings2007-04-20T22:18:13.719631ZRemoved author, added description.
Robert Hastings2007-04-20T22:30:26.166498ZFixed warning.
Robert Hastings2007-04-21T02:51:49.439407ZThere is a problem with native aggregation. The java com object server cannot get the outer IUnknown. Added a slide with a proposed change.
Robert Hastings2007-04-21T02:54:12.103700ZAdded 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 Hastings2007-04-21T02:55:36.823976ZReplaces 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 Hastings2007-04-21T03:02:00.239442ZFixed 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 Hastings2007-04-21T03:21:46.875660ZCreated 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 Hastings2007-04-21T03:24:41.720420ZUpdated the javadoc.
Robert Hastings2007-04-21T03:30:00.742529ZFirst 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 Hastings2007-04-21T03:31:29.457269ZA sample java ComControl.
Robert Hastings2007-04-21T03:31:49.316800ZFixed 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 Hastings2007-04-21T03:33:48.989355ZReworked 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 Hastings2007-04-21T03:35:23.085126ZSplit 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 Hastings2007-04-21T03:36:56.724638ZFixed warnings.
Robert Hastings2007-04-21T03:37:23.353984ZAdded IEnumFORMATETC.
Robert Hastings2007-04-21T03:42:25.609520ZReworked 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 Hastings2007-04-21T03:42:49.460350ZA sample java ComControl.
Robert Hastings2007-04-21T03:43:13.262140ZCreated 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 Hastings2007-04-21T03:44:53.353857ZCreated 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 Hastings2007-04-21T03:46:13.040265ZReworked 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 Hastings2007-04-21T03:47:13.982005ZReworked 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 Hastings2007-04-21T03:47:45.065729ZReworked 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 Hastings2007-04-21T03:49:42.418494ZReworked 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 Hastings2007-04-21T03:49:52.687870ZReworked 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 Hastings2007-04-21T03:50:07.159644ZCreated 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 Hastings2007-04-21T03:52:33.865766ZWe 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 Hastings2007-04-21T03:56:02.054091ZAllow 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 Hastings2007-04-21T03:58:27.885195ZIf native object asks for COM Aggregation we return CLASS_E_NOAGGREGATION, since it does not work yet.
Robert Hastings2007-04-21T04:05:20.457022ZReworked 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 Hastings2007-04-21T04:08:22.524485ZCreated 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 Hastings2007-04-21T04:09:58.577586ZCreated 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 Hastings2007-04-21T04:14:50.217730ZAdded ATL control.
Robert Hastings2007-04-21T04:15:35.262228ZIgnore generated files.
Robert Hastings2007-04-21T04:28:04.291878ZFixed build problem, need com_moesol_bindings.dll for regsvr32.
Robert Hastings2007-04-21T04:28:18.321519ZGenerated.
Robert Hastings2007-04-21T04:28:40.079940ZGenerated.
Robert Hastings2007-04-21T04:36:24.345664Zignore generated
Derek Desjardins2007-04-23T19:25:38.905940ZFixed some array conversions to create the proper type, not just Object[]
Robert Hastings2007-04-24T02:29:06.796729ZAdded more detailed diagrams of how COM Aggregation works with Reverse COM.
Robert Hastings2007-04-24T02:33:34.584700ZAdded 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 Hastings2007-04-24T02:35:24.665504ZFixed 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 Hastings2007-04-24T02:41:20.333862ZAdded -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 Hastings2007-04-24T02:45:07.081239ZAdded -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 Hastings2007-04-24T02:45:33.684965ZAdded -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 Hastings2007-04-24T07:10:29.051909ZFixed bug, if tlb2java failed to rename or remove a file it was not exiting with non-zero return.
Robert Hastings2007-04-24T07:11:48.677034ZFixed module function signatures.
Robert Hastings2007-04-24T07:13:17.587695ZFixed 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 Hastings2007-04-24T07:14:07.335814ZSetup for a -show_restricted_method flag.
Robert Hastings2007-04-24T17:56:00.246453ZAdded support for handling unhandled exceptions on the AWT event dispatch thread.
Robert Hastings2007-04-24T17:56:16.405842ZFixed bug, not all ComIUnknown interfaces are ComIUnknownImpl some are ComIUnknownOuter
Robert Hastings2007-04-24T17:56:26.740218ZFixed bug with object wiring during CreateInstance for COM Aggregation
Robert Hastings2007-04-24T17:56:36.600504ZFixed warnings
Robert Hastings2007-04-24T17:56:54.689188ZCleanup 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 Hastings2007-04-24T17:57:08.493262ZHold 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 Hastings2007-04-24T17:57:19.938155ZMade proxy tracker free threaded.
Robert Hastings2007-04-24T17:57:30.279214ZTrack ComObject servers.
Robert Hastings2007-04-24T17:58:04.725690ZAdded 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 Hastings2007-04-24T17:58:25.145704ZSampleControl now creates its own window by leveraging IOleWindow.
Robert Hastings2007-04-24T18:03:19.222486ZRemoved dead field.
Robert Hastings2007-04-25T21:46:51.082324ZFixed 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 Hastings2007-04-25T22:27:57.494741ZFixed 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 Hastings2007-04-25T23:11:54.272439ZIgnore .aps file.
Derek Desjardins2007-05-18T15:56:40.802394ZFIXED: 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 Hastings2007-06-08T01:52:51.403699ZHandle buildVersion that contains SNAPSHOT by using date.
Robert Hastings2007-06-08T01:54:12.811406ZUpdate version for branch to 2.1.0-SNAPSHOT Fixed deploy URL.
Robert Hastings2007-06-08T18:55:11.250588ZFixed bug, was CJB specific.
Robert Hastings2007-06-08T18:55:25.131793ZAdded user map for Derek.
Robert Hastings2007-06-08T19:05:17.691436ZAdded derek and matt.
Robert Hastings2007-06-08T19:06:22.089222ZAdded google analytics, ensure keyword expansion.
Robert Hastings2007-06-08T19:06:43.153952ZAdded google analytics, ensure keyword expansion.
Robert Hastings2007-06-08T19:12:13.424851Zsvn 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 Hastings2007-06-08T19:12:39.632645Zsvn 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.