// Generated IDL File (by Great Migrations Studio) 
// Created: 12/3/2025 09:34:56 AM
// Source: C:\gmTestBed\FMStocks\src\FMSLib\bin\FMStocks_Bus.dll
// typelib filename: FMStocks_Bus.dll
[
    uuid(BA72C72B-725A-4814-BA05-C2AC12DF8931),
    version(2.0),
    custom(50867B00-BB69-11D0-A8FF-00A0C9110059, "8169")
]
library FMStocks_Bus
{
    // TLib : Microsoft ActiveX Data Objects 2.7 Library : {EF53050B-882E-4776-B643-EDA472E8E3F2}
    importlib("msado27.tlb");
    // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("stdole2.tlb");

    // Forward declare all types defined in this typelib

    interface _Account;
    interface _Broker;
    interface _Ticker;
    interface _Version;
    coclass Account;
    coclass Broker;
    coclass Ticker;
    coclass Version;

    [
        odl,
        uuid(32089DA0-5A50-45EE-9BD1-21B4291A8441),
        version(1.0),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface _Account : IDispatch {
        [id(0x60030000)]
        HRESULT VerifyLogin(
            [in] BSTR Email,
            [in] BSTR Password,
            [in, out] VARIANT* FullName,
            [in, out] VARIANT* AccountID,
            [out, retval] VARIANT_BOOL* retVal);
        [id(0x60030001)]
        HRESULT ListPositionsForSale(
            [in] long AccountID,
            [out, retval] ADODB._Recordset** retVal);
        [id(0x60030002)]
        HRESULT ListPositions(
            [in] long AccountID,
            [out, retval] ADODB._Recordset** retVal);
        [id(0x60030003)]
        HRESULT GetSummary(
            [in] long AccountID,
            [in, out] VARIANT* MarketValue,
            [in, out] VARIANT* TotalInvestment,
            [in, out] VARIANT* CashBalance,
            [out, retval] VARIANT* retVal);
        [id(0x60030004)]
        HRESULT Add(
            [in] BSTR FirstName,
            [in] BSTR LastName,
            [in] BSTR Password,
            [in] BSTR Email,
            [out, retval] long* retVal);
        [id(0x60030005)]
        HRESULT GetAccountInfo(
            [in] long AccountID,
            [in, out] BSTR* FullName,
            [in, out] BSTR* Email,
            [in, out] currency* Balance);
    };

    [
        uuid(F2831FD1-478D-412C-ACE4-6B30A9EC6222),
        version(1.0)
    ]
    coclass Account {
        [default] interface _Account;
    };

    [
        odl,
        uuid(6AAD4EF9-D59C-4A59-97FB-D9A9C74271A9),
        version(1.0),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface _Broker : IDispatch {
        [id(0x60030000)]
        HRESULT BuyStock(
            [in] long AccountID,
            [in] BSTR Ticker,
            [in] long Shares,
            [out, retval] long* retVal);
        [id(0x60030001)]
        HRESULT SellStock(
            [in] long AccountID,
            [in] BSTR Ticker,
            [in] long Shares,
            [out, retval] long* retVal);
        [id(0x60030002)]
        HRESULT ExecuteTransaction(
            [in] long txid,
            [out, retval] long* retVal);
    };

    [
        uuid(6D37C3EA-00EF-4754-A494-B6CF77BA238E),
        version(1.0)
    ]
    coclass Broker {
        [default] interface _Broker;
    };

    [
        odl,
        uuid(E6385583-E0B7-4B65-947C-4320FADEF4FF),
        version(1.0),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface _Ticker : IDispatch {
        [id(0x60030000)]
        HRESULT VerifySymbol(
            [in] BSTR Ticker,
            [out, retval] VARIANT_BOOL* retVal);
        [id(0x60030001)]
        HRESULT ListByTicker(
            [in] BSTR Ticker,
            [out, retval] ADODB._Recordset** retVal);
        [id(0x60030002)]
        HRESULT ListByCompany(
            [in] BSTR company,
            [out, retval] ADODB._Recordset** retVal);
        [id(0x60030003)]
        HRESULT GetFundamentals(
            [in] BSTR Ticker,
            [in, out] VARIANT* company,
            [in, out] VARIANT* Exchange,
            [out, retval] ADODB._Recordset** retVal);
    };

    [
        uuid(C4B0094F-E0EB-4844-A637-E1DC468C5728),
        version(1.0)
    ]
    coclass Ticker {
        [default] interface _Ticker;
    };

    [
        odl,
        uuid(987F21A9-2B34-4FE1-B749-F361A423A61F),
        version(1.0),
        hidden,
        dual,
        nonextensible,
        oleautomation
    ]
    interface _Version : IDispatch {
        [id(0x60030002)]
        HRESULT AppVersion([out, retval] BSTR* retVal);
        [id(0x60030003)]
        HRESULT ComputerName([out, retval] BSTR* retVal);
        [id(0x60030004)]
        HRESULT DALVersion([out, retval] BSTR* retVal);
        [id(0x60030005)]
        HRESULT DALConnectionString([out, retval] BSTR* retVal);
        [id(0x60030006)]
        HRESULT ConnectionString([out, retval] BSTR* retVal);
        [id(0x60030007)]
        HRESULT DALComputerName([out, retval] BSTR* retVal);
    };

    [
        uuid(92A92CC4-1EB2-4BB8-A419-0B355C37AB96),
        version(1.0)
    ]
    coclass Version {
        [default] interface _Version;
    };

};