// Machine generated IDispatch wrapper class(es) created with Add Class from Typelib Wizard

#import "C:\\AlgoStars\\APPs(UAT)\\TCoreRelease\\Components\\TCQuoteWrapperAPI.dll" no_namespace
// CTCQuoteAPIEx wrapper class

class CTCQuoteAPIEx : public COleDispatchDriver
{
public:
	CTCQuoteAPIEx(){} // Calls COleDispatchDriver default constructor
	CTCQuoteAPIEx(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
	CTCQuoteAPIEx(const CTCQuoteAPIEx& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}

	// Attributes
public:

	// Operations
public:


	// ITCQuoteAPIEx methods
public:
	long Connect(LPCTSTR HostAddress, LPCTSTR SystemName, LPCTSTR AppID, long ConnectType)
	{
		long result;
		static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_I4 ;
		InvokeHelper(0x1, DISPATCH_METHOD, VT_I4, (void*)&result, parms, HostAddress, SystemName, AppID, ConnectType);
		return result;
	}
	void Disconnect()
	{
		InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
	}
	CString SubQuote(long DataType, LPDISPATCH DataParameters)
	{
		CString result;
		static BYTE parms[] = VTS_I4 VTS_DISPATCH ;
		InvokeHelper(0x3, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, DataType, DataParameters);
		return result;
	}
	CString UnsubQuote(long DataType, LPDISPATCH DataParameters)
	{
		CString result;
		static BYTE parms[] = VTS_I4 VTS_DISPATCH ;
		InvokeHelper(0x4, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, DataType, DataParameters);
		return result;
	}
	CString SymbolLookup(long SymbolType, LPCTSTR Keyword)
	{
		CString result;
		static BYTE parms[] = VTS_I4 VTS_BSTR ;
		InvokeHelper(0x5, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, SymbolType, Keyword);
		return result;
	}
	void DoSomething(long FuncType, long Param1, LPCTSTR Param2, VARIANT * Param3)
	{
		static BYTE parms[] = VTS_I4 VTS_I4 VTS_BSTR VTS_PVARIANT ;
		InvokeHelper(0x6, DISPATCH_METHOD, VT_EMPTY, NULL, parms, FuncType, Param1, Param2, Param3);
	}
	long SubSymbolQuote(long DataType, LPCTSTR Symbol, __int64 StartTime, __int64 EndTime)
	{
		long result;
		static BYTE parms[] = VTS_I4 VTS_BSTR VTS_I8 VTS_I8 ;
		InvokeHelper(0x7, DISPATCH_METHOD, VT_I4, (void*)&result, parms, DataType, Symbol, StartTime, EndTime);
		return result;
	}
	long UnsubSymbolQuote(long DataType, LPCTSTR Symbol, __int64 StartTime, __int64 EndTime)
	{
		long result;
		static BYTE parms[] = VTS_I4 VTS_BSTR VTS_I8 VTS_I8 ;
		InvokeHelper(0x8, DISPATCH_METHOD, VT_I4, (void*)&result, parms, DataType, Symbol, StartTime, EndTime);
		return result;
	}
	CString GetSymbolClassifications(LPCTSTR Classify, LPCTSTR Exchange, LPCTSTR Symbol, LPCTSTR Month, LPCTSTR CallPut)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR ;
		InvokeHelper(0x9, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Classify, Exchange, Symbol, Month, CallPut);
		return result;
	}
	CString GetProductCurrency(LPCTSTR SymbolID)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0xa, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, SymbolID);
		return result;
	}
	CString GetCurrencyExchangeRate(LPCTSTR Currency)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0xb, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Currency);
		return result;
	}
	CString GetGeneralService(LPCTSTR Key)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0xc, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Key);
		return result;
	}
	void TopicPublish(LPCTSTR strTopic, long lParam, LPCTSTR strParam, VARIANT * pvParam)
	{
		static BYTE parms[] = VTS_BSTR VTS_I4 VTS_BSTR VTS_PVARIANT ;
		InvokeHelper(0xd, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strTopic, lParam, strParam, pvParam);
	}
	void TopicSub(LPCTSTR strTopic)
	{
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0xe, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strTopic);
	}
	void TopicUnsub(LPCTSTR strTopic)
	{
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0xf, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strTopic);
	}
	void GeneralQuery(long lIndex, LPCTSTR strQueryName, LPCTSTR strQueryParam, long lContentEncodeType, LPCTSTR strAcctMask)
	{
		static BYTE parms[] = VTS_I4 VTS_BSTR VTS_BSTR VTS_I4 VTS_BSTR ;
		InvokeHelper(0x10, DISPATCH_METHOD, VT_EMPTY, NULL, parms, lIndex, strQueryName, strQueryParam, lContentEncodeType, strAcctMask);
	}
	CString GetInstrumentInfo(LPCTSTR bstrType, LPCTSTR bstrSymbolID)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR VTS_BSTR ;
		InvokeHelper(0x11, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, bstrType, bstrSymbolID);
		return result;
	}
	void SetGeneralService(LPCTSTR Key, LPCTSTR Val)
	{
		static BYTE parms[] = VTS_BSTR VTS_BSTR ;
		InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Key, Val);
	}
	CString GetContractVersion(LPCTSTR Key)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0x13, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Key);
		return result;
	}
	long isUnderlying(LPCTSTR bstrSymbol)
	{
		long result;
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0x14, DISPATCH_METHOD, VT_I4, (void*)&result, parms, bstrSymbol);
		return result;
	}
	CString GetSymbolName(LPCTSTR Keyword)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0x15, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Keyword);
		return result;
	}
	void SetSubscriptionLevel(long lLevel)
	{
		static BYTE parms[] = VTS_I4 ;
		InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms, lLevel);
	}
	CString GetExpirationDate(LPCTSTR bstrSymbol)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR ;
		InvokeHelper(0x17, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, bstrSymbol);
		return result;
	}
	long isHoliday(LPCTSTR bstrDate, LPCTSTR bstrSymbol)
	{
		long result;
		static BYTE parms[] = VTS_BSTR VTS_BSTR ;
		InvokeHelper(0x18, DISPATCH_METHOD, VT_I4, (void*)&result, parms, bstrDate, bstrSymbol);
		return result;
	}
	CString GetHotMonthByDateTime(LPCTSTR bstrSymbol, LPCTSTR bstrDate, LPCTSTR bstrTime)
	{
		CString result;
		static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR ;
		InvokeHelper(0x19, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, bstrSymbol, bstrDate, bstrTime);
		return result;
	}
	CString GetExpireDateTimeSpan(long lType, LPCTSTR bstrSymbol, LPCTSTR bstrDate, LPCTSTR bstrTime)
	{
		CString result;
		static BYTE parms[] = VTS_I4 VTS_BSTR VTS_BSTR VTS_BSTR ;
		InvokeHelper(0x1a, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, lType, bstrSymbol, bstrDate, bstrTime);
		return result;
	}
	void SetUserConfig(LPCTSTR strName, long lFunCode, LPCTSTR strJson)
	{
		static BYTE parms[] = VTS_BSTR VTS_I4 VTS_BSTR ;
		InvokeHelper(0x1b, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strName, lFunCode, strJson);
	}
	void QueryUserConfig(LPCTSTR strName, long lFunCode)
	{
		static BYTE parms[] = VTS_BSTR VTS_I4 ;
		InvokeHelper(0x1c, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strName, lFunCode);
	}
	void DelUserConfig(LPCTSTR strName, long lFunCode)
	{
		static BYTE parms[] = VTS_BSTR VTS_I4 ;
		InvokeHelper(0x1d, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strName, lFunCode);
	}

	// ITCQuoteAPIEx properties
public:

};
