Hi,

I'm trying to build a callback based on some java code.  Below is how I did 
it.  All the classes live in ~/IBJts/java/com/ib/client so I did:
export CLASSPATH=~/IBJts/java/com/ib/client:/home/jstrauss/java

But I'm getting errors:

[EMAIL PROTECTED]:~/bin$ ./callback                                             
  
A problem was encountered while attempting to compile and install your Inline
Java code. The command that failed was:
  "/usr/lib/j2sdk1.5-sun/bin/javac" -deprecation  -d 
"/home/jstrauss/bin/_Inline/lib/auto/Callback_6d40" Callback_6d40.java > 
cmd.out 2>&1

The build directory was:
/home/jstrauss/bin/_Inline/build/Callback_6d40

The error message was:
Callback_6d40.java:24: class EWrapper is public, should be declared in a file 
named EWrapper.java
public interface EWrapper {
       ^
Callback_6d40.java:34: cannot find symbol
symbol  : class Contract
location: interface com.ib.client.EWrapper
    void openOrder( int orderId, Contract contract, Order order);
                                 ^
...


I'm sort of stuck, I'm not real familiar with Java, so I'm not sure if this is 
a java environment config error or more on the Inline side of things.

Any help would be appreciated
Thanks
Jay


#!/usr/bin/perl
use strict;

package Callback;

use Inline Java => <<'EOF';
/*
 * EWrapper.java
 *
 */
package com.ib.client;

import java.io.*;
import java.net.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: Interactive Brokers Group LLC</p>
 * @author :
 * @version :
 */
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
//
// Interface EWrapper
//
///////////////////////////////////////////////////////////////////////////
public interface EWrapper {

    ///////////////////////////////////////////////////////////////////////
    // Interface methods
    ///////////////////////////////////////////////////////////////////////
    void tickPrice( int tickerId, int field, double price, int 
canAutoExecute);
    void tickSize( int tickerId, int field, int size);
    void orderStatus( int orderId, String status, int filled, int remaining,
            double avgFillPrice, int permId, int parentId, double 
lastFillPrice,
            int clientId);
    void openOrder( int orderId, Contract contract, Order order);
    void error( String str);
    void connectionClosed();
    void updateAccountValue(String key, String value, String currency, String 
accountName);
    void updatePortfolio(Contract contract, int position, double marketPrice, 
double marketValue,
            double averageCost, double unrealizedPNL, double realizedPNL, 
String accountName);
    void updateAccountTime(String timeStamp);
    void nextValidId( int orderId);
    void contractDetails(ContractDetails contractDetails);
    void bondContractDetails(ContractDetails contractDetails);
    void execDetails( int orderId, Contract contract, Execution execution);
    void error(int id, int errorCode, String errorMsg);
    void updateMktDepth( int tickerId, int position, int operation, int side, 
double price, int size);
    void updateMktDepthL2( int tickerId, int position, String marketMaker, int 
operation, int side, double price, int size);
    void updateNewsBulletin( int msgId, int msgType, String message, String 
origExchange);
    void managedAccounts( String accountsList);
    void receiveFA(int faDataType, String xml);
    void historicalData(int reqId, String date, double open, double high, 
double low,
                      double close, int volume, double WAP, boolean hasGaps);
    void scannerParameters(String xml);
    void scannerData(int reqId, int rank, ContractDetails contractDetails, 
String distance, String benchmark, String projection);
}

EOF

sub new {
    my $class;
    bless {}, $class;
}

package Main;

my $new = Callback->new();

Reply via email to