Hi,
When I use try to put Inline::Java inside a package, Inline does not seem to
run and compile the Java, which leads to a "Can't locate" error.
I get:
[EMAIL PROTECTED]:~/Finance-IB-TWS/t$ ls
00.load.t 10.simple.t pod-coverage.t pod.t
** Notice no _Inline directory
[EMAIL PROTECTED]:~/Finance-IB-TWS/t$ perl 10.simple.t
1..1
Can't locate object method "new" via package "Inline_Bridge" (perhaps you
forgot to load "Inline_Bridge"?)
at /home/jstrauss/Finance-IB-TWS/lib/Finance/IB/TWS.pm line 19.
Compilation failed in require at 10.simple.t line 3.
BEGIN failed--compilation aborted at 10.simple.t line 3.
One or more DATA sections were not processed by Inline.
Below is the package I'm calling.
Obviously, I'm doing something trivially wrong, but I can't see what. Any
suggestions would be nice.
Thanks
Jay
package Finance::IB::TWS;
use Inline (
Java => "DATA",
JNI => 1,
AUTOSTUDY => 1,
STUDY => ['com.ib.client.EClientSocket',
'com.ib.client.Contract',
],
);
my $callback;
my $api = Inline_Bridge->new($callback);
my $ib = com::ib::client::EClientSocket->new($api);
1; # Magic true value required at end of module
__DATA__
__Java__
import org.perl.inline.java.*;
import com.ib.client.*;
class Inline_Bridge extends InlineJavaPerlCaller implements EWrapper {
...