export(twsConnect,
       twsConnect2,             # experimental connection object
       twsDisconnect,

       is.twsConnection,

       twsConnectionTime,
       serverVersion,
       setServerLogLevel,
       reqCurrentTime,

      .reqIds,                  # send only
       reqIds,

       reqContractDetails,

      .reqAccountUpdates,       # send only
       reqAccountUpdates,

       twsExecutionFilter,
       reqExecutions,

       twsContract,
       is.twsContract,
       as.twsContract,

       twsCurrency,
       twsCASH,
       twsEquity,
       twsSTK,
       twsFuture,
       twsFUT,
       twsOption,
       twsOPT,

       reqHistoricalData,
       cancelHistoricalData,
       reqHistory,              # convenience wrapper

       reqMktData,
       cancelMktData,

       reqMktDepth,
       cancelMktDepth,

       reqRealTimeBars,
       cancelRealTimeBars,

       twsOrder,
      .placeOrder,              # send only
       placeOrder,
       cancelOrder,
    
       twsCALLBACK,
       twsDEBUG,
       processMsg,

       eWrapper,

       eWrapper.data,
       eWrapper.RealTimeBars,

       eWrapper.RealTimeBars.CSV,
       eWrapper.MktData.CSV,
       eWrapper.MktDepth.CSV
      )

export(.twsIncomingMSG,
       .twsOutgoingMSG,
       .twsERR,
       .twsTickType,
       .twsOrderID
      )

S3method(print,twsConnection)
S3method(print,twsconn)
S3method("[[", twsconn)
S3method(close,twsConnection)
S3method(close,twsconn)

S3method(print,twsContract)
S3method(as.twsContract, twsContract)
S3method(as.twsContract, twsContractDetails)
S3method(print,twsContractDetails)

