ib 3.0.0

A Rust client to the Interactive Brokers HTTP REST API
Documentation
use std::rc::Rc;

use hyper;
use super::configuration::Configuration;

pub struct APIClient<C: hyper::client::Connect> {
  configuration: Rc<Configuration<C>>,
  account_api: Box<::apis::AccountApi>,
  alert_api: Box<::apis::AlertApi>,
  ccp_beta_api: Box<::apis::CCPBetaApi>,
  contract_api: Box<::apis::ContractApi>,
  fyi_api: Box<::apis::FYIApi>,
  ib_cust_api: Box<::apis::IBCustApi>,
  market_data_api: Box<::apis::MarketDataApi>,
  order_api: Box<::apis::OrderApi>,
  pn_l_api: Box<::apis::PnLApi>,
  portfolio_api: Box<::apis::PortfolioApi>,
  portfolio_analyst_api: Box<::apis::PortfolioAnalystApi>,
  scanner_api: Box<::apis::ScannerApi>,
  session_api: Box<::apis::SessionApi>,
  streaming_api: Box<::apis::StreamingApi>,
  trades_api: Box<::apis::TradesApi>,
}

impl<C: hyper::client::Connect> APIClient<C> {
  pub fn new(configuration: Configuration<C>) -> APIClient<C> {
    let rc = Rc::new(configuration);

    APIClient {
      configuration: rc.clone(),
      account_api: Box::new(::apis::AccountApiClient::new(rc.clone())),
      alert_api: Box::new(::apis::AlertApiClient::new(rc.clone())),
      ccp_beta_api: Box::new(::apis::CCPBetaApiClient::new(rc.clone())),
      contract_api: Box::new(::apis::ContractApiClient::new(rc.clone())),
      fyi_api: Box::new(::apis::FYIApiClient::new(rc.clone())),
      ib_cust_api: Box::new(::apis::IBCustApiClient::new(rc.clone())),
      market_data_api: Box::new(::apis::MarketDataApiClient::new(rc.clone())),
      order_api: Box::new(::apis::OrderApiClient::new(rc.clone())),
      pn_l_api: Box::new(::apis::PnLApiClient::new(rc.clone())),
      portfolio_api: Box::new(::apis::PortfolioApiClient::new(rc.clone())),
      portfolio_analyst_api: Box::new(::apis::PortfolioAnalystApiClient::new(rc.clone())),
      scanner_api: Box::new(::apis::ScannerApiClient::new(rc.clone())),
      session_api: Box::new(::apis::SessionApiClient::new(rc.clone())),
      streaming_api: Box::new(::apis::StreamingApiClient::new(rc.clone())),
      trades_api: Box::new(::apis::TradesApiClient::new(rc.clone())),
    }
  }

  pub fn account_api(&self) -> &::apis::AccountApi{
    self.account_api.as_ref()
  }

  pub fn alert_api(&self) -> &::apis::AlertApi{
    self.alert_api.as_ref()
  }

  pub fn ccp_beta_api(&self) -> &::apis::CCPBetaApi{
    self.ccp_beta_api.as_ref()
  }

  pub fn contract_api(&self) -> &::apis::ContractApi{
    self.contract_api.as_ref()
  }

  pub fn fyi_api(&self) -> &::apis::FYIApi{
    self.fyi_api.as_ref()
  }

  pub fn ib_cust_api(&self) -> &::apis::IBCustApi{
    self.ib_cust_api.as_ref()
  }

  pub fn market_data_api(&self) -> &::apis::MarketDataApi{
    self.market_data_api.as_ref()
  }

  pub fn order_api(&self) -> &::apis::OrderApi{
    self.order_api.as_ref()
  }

  pub fn pn_l_api(&self) -> &::apis::PnLApi{
    self.pn_l_api.as_ref()
  }

  pub fn portfolio_api(&self) -> &::apis::PortfolioApi{
    self.portfolio_api.as_ref()
  }

  pub fn portfolio_analyst_api(&self) -> &::apis::PortfolioAnalystApi{
    self.portfolio_analyst_api.as_ref()
  }

  pub fn scanner_api(&self) -> &::apis::ScannerApi{
    self.scanner_api.as_ref()
  }

  pub fn session_api(&self) -> &::apis::SessionApi{
    self.session_api.as_ref()
  }

  pub fn streaming_api(&self) -> &::apis::StreamingApi{
    self.streaming_api.as_ref()
  }

  pub fn trades_api(&self) -> &::apis::TradesApi{
    self.trades_api.as_ref()
  }


}