From: Darragh B. <dar...@si...> - 2005-12-22 10:12:48
|
Thanks for that William I'll pass on the details!! . William S Fulton wrote: > %module and jniclassname working in cvs now. > > William > > William S Fulton wrote: > >> See java.html#imclass where it details the jniclassname attribute you >> can set in the %module directive. There is a bug in this if you have >> classes in an inheritance hierarchy which you can fix using the >> following typemap... >> >> %module(jniclassname="example") example >> >> >> // Derived proxy classes >> %typemap(javabody_derived) SWIGTYPE %{ >> private long swigCPtr; >> >> protected $javaclassname(long cPtr, boolean cMemoryOwn) { >> super(example.SWIG$javaclassnameUpcast(cPtr), cMemoryOwn); >> swigCPtr = cPtr; >> } >> >> protected static long getCPtr($javaclassname obj) { >> return (obj == null) ? 0 : obj.swigCPtr; >> } >> %} >> >> You'll see that I've replaced the original: >> >> super($moduleJNI.SWIG$javaclassnameUpcast(cPtr), cMemoryOwn); >> >> with: >> >> super(example.SWIG$javaclassnameUpcast(cPtr), cMemoryOwn); >> >> I'll also put in a fix into the cvs version shortly so you don't have >> to use this workaround. >> >> Note that the module class is called exampleModule instead of plain >> example. >> >> >> William >> >> >> Bob Marinier wrote: >> >>> Ok, now I understand. Yes, I get that behavior, too. I don't know >>> how (or if) it can be changed. Hopefully someone else will reply >>> later with the definitive answer. >>> >>> Sorry, >>> Bob >>> >>> Darragh Buffini wrote: >>> >>>> Its happening in the wrapper file that gets generated, so the >>>> functions look like this: >>>> >>>> JNIEXPORT jstring JNICALL >>>> Java_com_foo_common_bar_*blahJNI*_randomFunction(JNIEnv *jenv, >>>> jclass jcls), >>>> >>>> and its the blahJNI that I need to change to just blah. I've >>>> monkeyed with the package name and module name to see if I can get >>>> it to do anything different but no joy yet >>>> >>>> >>>> >>>> >>>> Bob Marinier wrote: >>>> >>>>> Well, I get a file generated with the JNI suffix, but within that >>>>> file the package is declared without the JNI suffix. In my case, >>>>> the package name and the module name are the same, so maybe >>>>> there's a bug if they are different? >>>>> >>>>> Bob >>>>> >>>>> Darragh Buffini wrote: >>>>> >>>>>> Hi Bob, >>>>>> >>>>>> I've tried that but I cant get rid of the "JNI" on the end of the >>>>>> name (as in the previous mail) Is this just a feature of SWIG or >>>>>> can it be changed? >>>>>> >>>>>> >>>>>> e.g. if I use swig -java -package com.foo.common.bar with module >>>>>> "blah", then the path I get in the generated code is >>>>>> Java_com_foo_common_bar_blahJNI >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Bob Marinier wrote: >>>>>> >>>>>>> You can change the package name using the "-package <name>" >>>>>>> command line option, i.e. >>>>>>> >>>>>>> swig -java -package <name> ... >>>>>>> >>>>>>> See section 19.2.2 of the manual. >>>>>>> >>>>>>> Bob >>>>>>> >>>>>>> Darragh Buffini wrote: >>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> I'm trying to apply SWIG to some of our source code, but one >>>>>>>> thing I've come across is a problem with the package name. I >>>>>>>> can get it to generate the full package path name, but it >>>>>>>> always adds on JNI to it, so I'm getting: >>>>>>>> >>>>>>>> Java_com_blah_common_native_CodeJNI >>>>>>>> >>>>>>>> instead of >>>>>>>> >>>>>>>> Java_com_blah_common_native_Code >>>>>>>> >>>>>>>> This may just be something simple to change but I haven't found >>>>>>>> any way round it yet... >>>>>>>> Any ideas? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Darragh >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------- >>>>>>>> This SF.net email is sponsored by: Splunk Inc. Do you grep >>>>>>>> through log files >>>>>>>> for problems? Stop! Download the new AJAX search engine that >>>>>>>> makes >>>>>>>> searching your log files as easy as surfing the web. DOWNLOAD >>>>>>>> SPLUNK! >>>>>>>> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click >>>>>>>> _______________________________________________ >>>>>>>> Swig-user mailing list >>>>>>>> Swi...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/swig-user >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >> >> >> >> ------------------------------------------------------- >> This SF.net email is sponsored by: Splunk Inc. Do you grep through >> log files >> for problems? Stop! Download the new AJAX search engine that makes >> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! >> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click >> _______________________________________________ >> Swig-user mailing list >> Swi...@li... >> https://lists.sourceforge.net/lists/listinfo/swig-user >> > > |