class_docstr: Singleton class wrapping an ibpy ibConnection instance.
  
  The parameters can also be specified in the classes which use this store,
  like ``VCData`` and ``VCBroker``
class_docstr_tok: ["Singleton","class","wrapping","an","ibpy","ibConnection","instance",".","The","parameters","can","also","be","specified","in","the","classes","which","use","this","store",",","like","``","VCData","``","and","``","VCBroker","``"]
code: def _t_directdata(
      self, data, symbol, timeframe, compression, d1, d2, q, historical
  ):
      self.comtypes.CoInitialize()  # start com threading
      vcds = self.CreateObject(self.vcdsmod.DataSourceManager)
  
      historical = historical or d2 is not None
      if not historical:
          vcds.ActiveEvents = 1
          vcds.EventsType = self.vcdsmod.EF_Always
      else:
          vcds.ActiveEvents = 0
  
      if d2 is not None:
          serie = vcds.NewDataSerie(
              symbol, timeframe, compression, d1, d2
          )
      else:
          serie = vcds.NewDataSerie(symbol, timeframe, compression, d1)
  
      data._setserie(serie)
  
      # processing of bars can continue
      data.OnNewDataSerieBar(serie, forcepush=historical)
      if historical:  # push the last bar
          q.put(None)  # Signal end of transmission
          dsconn = None
      else:
          dsconn = self.GetEvents(
              vcds, data
          )  # finally connect the events
          pass
  
      # pump events in this thread - call ping
      PumpEvents(timeout=data._getpingtmout, cb=data.ping)
      if dsconn is not None:
          del dsconn  # Docs recommend deleting the connection
  
      # Delete the series before coming out of the thread
      vcds.DeleteDataSource(serie)
      self.comtypes.CoUninitialize()
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import collections
  from datetime import date, datetime, time, timedelta
  import os.path
  import threading
  import time
  import ctypes
  from backtrader import TimeFrame, Position
  from backtrader.feed import DataBase
  from backtrader.metabase import MetaParams
  from backtrader.utils.py3 import MAXINT, range, queue, string_types, with_metaclass
  from backtrader.utils import AutoDict
label_desc: Use image node_id 22 for calling the VCStore obj's underlying member method code with example usage: obj._t_directdata(data, symbol, timeframe, compression, d1, d2, q, historical) without return types