/******************************************************************************

Copyright (c) 1999 Microsoft Corporation

Module Name:
    hcupdate.idl

Abstract:
    This file contains the declaration of the set of  coclasses and interfaces
    implemented by the Help Center Update Package Server.

Revision History:
    Ghim-Sim Chua       (gschua)   12/20/99
        created

******************************************************************************/

cpp_quote( "#include <HCUpdateDID.h>" )
#include <HCUpdateDID.h>

[
    object,
	uuid(833E4070-AFF7-4AC3-AAC2-9F24C1457BCE),
    dual,
    oleautomation,
    helpstring("IPCHVersionItem Interface"),
    pointer_default(unique)
]
interface IPCHVersionItem : IDispatch
{
    //
    // Properties
    //
    [propget, id(DISPID_HCU_ITEM_SKU	   )] HRESULT SKU       ( [out, retval] BSTR *pVal );
    [propget, id(DISPID_HCU_ITEM_LANGUAGE  )] HRESULT Language  ( [out, retval] BSTR *pVal );
    [propget, id(DISPID_HCU_ITEM_VENDORID  )] HRESULT VendorID  ( [out, retval] BSTR *pVal );
    [propget, id(DISPID_HCU_ITEM_VENDORNAME)] HRESULT VendorName( [out, retval] BSTR *pVal );
    [propget, id(DISPID_HCU_ITEM_PRODUCTID )] HRESULT ProductID ( [out, retval] BSTR *pVal );
    [propget, id(DISPID_HCU_ITEM_VERSION   )] HRESULT Version   ( [out, retval] BSTR *pVal );

    //
    // methods
    //
    [id(DISPID_HCU_ITEM_UNINSTALL)] HRESULT Uninstall();
};

[
    object,
    uuid(833E4071-AFF7-4AC3-AAC2-9F24C1457BCE),
    dual,
    oleautomation,
    helpstring("IPCHUpdate Interface"),
    pointer_default(unique)
]
interface IPCHUpdate : IDispatch
{
    //
    // properties
    //
    [propget, id(DISPID_HCU_VERSIONLIST)] HRESULT VersionList( [out, retval] IPCHCollection* *ppVC );

    //
    // methods
    //
    [id(DISPID_HCU_LATESTVERSION)] HRESULT LatestVersion( [in		  ] BSTR     bstrVendorID  ,
														  [in		  ] BSTR     bstrProductID ,
														  [in,optional] VARIANT  vSKU          ,
														  [in,optional] VARIANT  vLanguage     ,
														  [out, retval] BSTR    *pVal          );

    [id(DISPID_HCU_CREATEINDEX)] HRESULT CreateIndex( [in         ] VARIANT_BOOL bForce    ,
													  [in,optional] VARIANT 	 vSKU      ,
													  [in,optional] VARIANT 	 vLanguage );

    [id(DISPID_HCU_UPDATEPKG)] HRESULT UpdatePkg( [in] BSTR         bstrPathname ,
												  [in] VARIANT_BOOL bSilent      );

    [id(DISPID_HCU_REMOVEPKG)] HRESULT RemovePkg( [in] BSTR bstrPathname );

    [id(DISPID_HCU_REMOVEPKGBYID)] HRESULT RemovePkgByID( [in		  ] BSTR     bstrVendorID  ,
														  [in		  ] BSTR     bstrProductID ,
														  [in,optional] VARIANT  vVersion      );
};
