2025-04-27 07:49:33 -04:00

654 lines
31 KiB
Plaintext

// MSTvCA.idl : IDL source for MSTvCA.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (CA.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
/* [
object,
dual,
uuid(49a32d3c-7d85-11d2-8895-00c04f794967),
helpstring("ITuneRequest Interface"),
pointer_default(unique)
]
interface ITuneRequest : IDispatch
{
};
*/
import "tuner.idl"; // includes the whole BDA world! Yecko!
interface ICAManager;
interface ICARequest;
interface ICAPolicy;
interface ICAPolicies;
interface ICAPoliciesInternal;
interface ICAToll;
interface ICATolls;
interface ICATollsInternal;
interface ICADenial;
interface ICADenials;
interface ICAOffer;
interface ICAOffers;
interface ICAComponent;
interface ICAComponents;
#define COLLECTID_Item 0
#define COLLECTID_Count 1
#define COLLECTID_Add 2
#define COLLECTID_Remove 3
#define COLLECTID_AddNew 4
#define COLLECTID_CountDenied 5 // ICADenials
#define COLLECTID_CountSelected 6 // ICADenials
#define COLLECTID_PaySelectedTolls 7 // ICADenials
typedef enum
{
Unselected = 0,
Selected = 1
} CATollState;
typedef enum
{
Denied = 0,
Transient = 1,
// Allowed = 2,
DescriptionShort = 10, // one of the description fields changed
DescriptionLong = 11, // via a ICADenial::put_Description()
DescriptionHTML = 12, //
DescriptionXML = 13 // (keep these current+10 with list below...)
} CADenialState;
typedef enum
{
Short = 0, // must be numeric, starting at 0. (Used as array index).
Long = 1, // in approximatly order of length in bytes
URL = 2,
HTML = 3,
XML = 4,
kDescEnd = 5 // invalid format, 1+ last real one (Used as array length).
} CADescFormat;
typedef enum
{
Request = 1,
ComponentX = 2,
Offers = 4,
PaidTolls = 8,
Policies = 16,
Standard = 15, // all put the policies
All = 31 // all
} CAUIDisplayFields;
// ---------------------------------------------------------------
// if add methods to ICAManagerInternal, be sure to add MAGICCALL in CAManagerPublic too..
// ---------------------------------------------------------------
[
object,
uuid(11166301-DF8A-463a-B620-7BEC23542010),
dual, // Helpers are Dual, IUnknown... so see from VB
helpstring("ICAManagerInternal Interface"),
pointer_default(unique)
]
interface ICAManagerInternal : IUnknown
{
[ id(1), helpstring("method Save")] HRESULT Save();
[ id(2), helpstring("method Load")] HRESULT Load();
[propput, id(3), helpstring("property MarkDirty")] HRESULT MarkDirty([in] BOOL fDirty);
[propget, id(3), helpstring("property MarkDirty")] HRESULT MarkDirty([out, retval] BOOL *pfDirty);
[propput, id(4), helpstring("property TuneRequest")] HRESULT TuneRequest([in] ITuneRequest *ptunereq);
[ id(5), helpstring("method GetDefaultUI")] HRESULT GetDefaultUI([out] HWND *phwnd);
[ id(6), helpstring("method SetDefaultUI")] HRESULT SetDefaultUI([in] HWND hwnd);
// return the main CAManager object, not the proxy one.
[propget, id(7), helpstring("property CAManagerMain")] HRESULT CAManagerMain([out,retval] ICAManager **ppManagerMain);
[ id(2201),helpstring("method NotifyRequestActivated")] HRESULT NotifyRequestActivated([in] ICARequest *pReq);
[ id(2202),helpstring("method NotifyRequestDeactivated")] HRESULT NotifyRequestDeactivated([in] ICARequest *pReq);
[ id(2203),helpstring("method NotifyOfferAdded")] HRESULT NotifyOfferAdded([in] ICAOffer *pOffer,[in] long cOffers);
[ id(2204),helpstring("method NotifyOfferRemoved")] HRESULT NotifyOfferRemoved([in] ICAOffer *pOffer,[in] long cOffers);
[ id(2205),helpstring("method NotifyPolicyAdded")] HRESULT NotifyPolicyAdded([in] ICAPolicy *pPolicy,[in] long cPolicies);
[ id(2206),helpstring("method NotifyPolicyRemoved")] HRESULT NotifyPolicyRemoved([in] ICAPolicy *pPolicy,[in] long cPolicies);
[ id(2207),helpstring("method NotifyRequestDenialAdded")] HRESULT NotifyRequestDenialAdded([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2208),helpstring("method NotifyRequestDenialRemoved")] HRESULT NotifyRequestDenialRemoved([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2209),helpstring("method NotifyDenialTollAdded")] HRESULT NotifyDenialTollAdded([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
[ id(2210),helpstring("method NotifyDenialTollRemoved")] HRESULT NotifyDenialTollRemoved([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
[ id(2211),helpstring("method NotifyTollDenialAdded")] HRESULT NotifyTollDenialAdded([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2212),helpstring("method NotifyTollDenialRemoved")] HRESULT NotifyTollDenialRemoved([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2213),helpstring("method NotifyOfferTollAdded")] HRESULT NotifyOfferTollAdded([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
[ id(2214),helpstring("method NotifyOfferTollRemoved")] HRESULT NotifyOfferTollRemoved([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
[ id(2215),helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateLast);
[ id(2216),helpstring("method NotifyDenialStateChanged")] HRESULT NotifyDenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enStateLast);
[ id(2217),helpstring("method NotifyComponentDenialAdded")] HRESULT NotifyComponentDenialAdded([in] ICAComponent *pReq, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2218),helpstring("method NotifyComponentDenialRemoved")] HRESULT NotifyComponentDenialRemoved([in] ICAComponent *pReq, [in] ICADenial *pDenial,[in] long cDenials);
};
// ---------------------------------------------------------------
// ---------------------------------------------------------------
[
object,
uuid(11166420-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAPolicies Interface"),
pointer_default(unique)
]
interface ICAPolicies : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAPolicy **ppPolicy);
[ id(COLLECTID_Add)] HRESULT Add([in] ICAPolicy *pPolicy);
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
};
[ object,
uuid(11166421-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAPoliciesInternal Interface"),
pointer_default(unique)
]
interface ICAPoliciesInternal : IUnknown
{
[id(1),helpstring("method SetCAManager")] HRESULT SetCAManager([in] ICAManager *pManager);
[id(2),helpstring("method CheckRequest")] HRESULT CheckRequest([in] ICARequest *pReq);
};
// ---------------------------------------------------------------
[
object,
uuid(11166430-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICATolls Interface"),
pointer_default(unique)
]
interface ICATolls : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAToll **ppToll);
[ id(COLLECTID_Add)] HRESULT Add([in] ICAToll *pToll);
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
};
[
object,
uuid(11166431-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICATolls Internal Interface"),
pointer_default(unique)
]
interface ICATollsInternal : IUnknown //hacky workaround for not being able to get _ICAResDenialEvents to work
{
[ id(1),helpstring("method SetCAManager")] HRESULT SetCAManager([in] ICAManager *pManager);
[ id(2),helpstring("method GetCAManager")] HRESULT GetCAManager([out] ICAManager **ppManager);
[ id(3),helpstring("method SetMustPersist")] HRESULT SetMustPersist([in] BOOL fMustPersist);
[ id(4),helpstring("method Save")] HRESULT Save([in] IStorage *pstore,[in] BSTR bstrPrefix);
[ id(5),helpstring("method Load")] HRESULT Load([in] IStorage *pstore,[in] BSTR bstrPrefix);
[ id(6),helpstring("method NotifyStateChanged")] HRESULT NotifyStateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
[ id(7),helpstring("method NotifyTollSelectionChanged")] HRESULT NotifyTollSelectionChanged([in] ICAToll *pToll, [in] BOOL fSelected);
};
// ---------------------------------------------------------------
[
object,
uuid(11166440-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICADenials Interface"),
pointer_default(unique)
]
interface ICADenials : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
[propget, id(COLLECTID_Count) ] HRESULT Count([out, retval] long *Count);
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICADenial **ppDenial);
[propget, id(COLLECTID_AddNew), helpstring("property AddNew")] HRESULT AddNew([in] ICAPolicy *ppolicy, [in] BSTR bstrShortDesc, [in] IUnknown *pUnkDeniedObject, [in] long enDenialState, [out, retval] ICADenial **ppDenial);
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
[propget, id(COLLECTID_CountDenied)] HRESULT CountDenied([out, retval] long *Count);
[propget, id(COLLECTID_CountSelected)] HRESULT CountSelected([out, retval] long *Count);
[ id(COLLECTID_PaySelectedTolls)] HRESULT PaySelectedTolls();
};
[
object,
uuid(11166441-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICADenialsInternal Interface"),
pointer_default(unique)
]
interface ICADenialsInternal : IUnknown
{
[ id(1),helpstring("method SetCAManager")] HRESULT SetCAManager([in] ICAManager *pManager);
[ id(2),helpstring("method NotifyDenialStateChanged")] HRESULT NotifyDenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enStateLast);
};
// ---------------------------------------------------------------
[
object,
uuid(11166450-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAOffers Interface"),
pointer_default(unique)
]
interface ICAOffers : IDispatch
{
[propget, id(DISPID_NEWENUM) , restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAOffer **ppOffer);
[propget, id(COLLECTID_AddNew), helpstring("property AddNew")] HRESULT AddNew([in] ICAPolicy *pPolicy, [in] BSTR bstrName, [in] DATE dateStart, [in] DATE dateEnd, [out, retval] ICAOffer **ppOffer);
[ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
};
[
object,
uuid(11166470-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAComponents Interface"),
pointer_default(unique)
]
interface ICAComponents : IDispatch
{
[propget, id(DISPID_NEWENUM) , restricted] HRESULT _NewEnum([out, retval] IUnknown **ppCollection);
[propget, id(COLLECTID_Count)] HRESULT Count([out, retval] long *Count);
[propget, id(COLLECTID_Item)] HRESULT Item([in] VARIANT Index, [out, retval] ICAComponent **ppComponent);
// [ id(COLLECTID_Add)] HRESULT Add([in] ICAComponent *pComponent);
// [ id(COLLECTID_Remove)] HRESULT Remove([in] VARIANT Index);
};
[
object,
uuid(11166361-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAComponentInternal Interface"),
pointer_default(unique)
]
interface ICAComponentInternal : IUnknown
{
[ id(1), helpstring("method RemoveAllDenials")] HRESULT RemoveAllDenials();
[propget, id(2), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstrDescription);
};
// ---------------------------------------------------------------
// ---------------------------------------------------------------
[
uuid(11166000-DF8A-463a-B620-7BEC23542010),
version(1.0),
helpstring("Microsoft TV CA Type Library")
]
library MSTvCALib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
// ---------------------------------------------------
// CAUTION - if Change events below, need to perform:
// 1) compile the MIDL file to generate the typelib
// 2) In VCC class view, <xxx>->Implement Connection Point (_ICA<xxx>Events)
// to regenerate the CProxy_ICA<xxx>Events<> code.
// Need to browse to objd\i386 directory and select MSTvCA.tlb
// (The file MSTvCACP.h must be checked out.)
// Where <xxx> is Denials, Manager, Offers, Policies, Request, and Tolls
[
uuid(11166298-DF8A-463A-B620-7BEC23542010),
helpstring("_ICAResDenialTreeEvents Interface")
]
dispinterface _ICAResDenialTreeEvents
{
properties:
methods:
[id(1),helpstring("method PaidTollSelected")] HRESULT PaidTollSelected([in] ICAToll *pToll, [in] long fSelected);
};
[
uuid(11166200-DF8A-463A-B620-7BEC23542010),
helpstring("ICAManagerEvents Interface")
]
dispinterface _ICAManagerEvents
{
properties:
methods:
[id(2201),helpstring("method RequestActivated")] HRESULT RequestActivated([in] ICARequest *pReq);
[id(2202),helpstring("method RequestDeactivated")] HRESULT RequestDeactivated([in] ICARequest *pReq);
[id(2203),helpstring("method OfferAdded")] HRESULT OfferAdded([in] ICAOffer *pOffer,[in] long cOffers);
[id(2204),helpstring("method OfferRemoved")] HRESULT OfferRemoved([in] ICAOffer *pOffer,[in] long cOffers);
[id(2205),helpstring("method PolicyAdded")] HRESULT PolicyAdded([in] ICAPolicy *pPolicy,[in] long cPolicies);
[id(2206),helpstring("method PolicyRemoved")] HRESULT PolicyRemoved([in] ICAPolicy *pPolicy,[in] long cPolicies);
[id(2207),helpstring("method RequestDenialAdded")] HRESULT RequestDenialAdded([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
[id(2208),helpstring("method RequestDenialRemoved")] HRESULT RequestDenialRemoved([in] ICARequest *pReq, [in] ICADenial *pDenial,[in] long cDenials);
[id(2209),helpstring("method DenialTollAdded")] HRESULT DenialTollAdded([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
[id(2210),helpstring("method DenialTollRemoved")] HRESULT DenialTollRemoved([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
[id(2211),helpstring("method TollDenialAdded")] HRESULT TollDenialAdded([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
[id(2212),helpstring("method TollDenialRemoved")] HRESULT TollDenialRemoved([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
[id(2213),helpstring("method OfferTollAdded")] HRESULT OfferTollAdded([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
[id(2214),helpstring("method OfferTollRemoved")] HRESULT OfferTollRemoved([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
[id(2215),helpstring("method TollStateChanged")] HRESULT TollStateChanged([in] ICAToll *pToll, [in] CATollState enState);
[id(2216),helpstring("method DenialStateChanged")] HRESULT DenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enState);
[id(2217),helpstring("method ComponentDenialAdded")] HRESULT ComponentDenialAdded([in] ICAComponent *pComp, [in] ICADenial *pDenial,[in] long cDenials);
[id(2218),helpstring("method ComponentDenialRemoved")] HRESULT ComponentDenialRemoved([in] ICAComponent *pComp, [in] ICADenial *pDenial,[in] long cDenials);
};
[
uuid(11166210-DF8A-463A-B620-7BEC23542010),
helpstring("ICARequestEvents Interface")
]
dispinterface _ICARequestEvents
{
properties:
methods:
[id(1), helpstring("method CheckStarted")] HRESULT CheckStarted([in] ICARequest *pRequest);
[id(2), helpstring("method CheckComplete")] HRESULT CheckComplete([in] ICARequest *pRequest,[in] long cDenials);
};
[
uuid(11166220-DF8A-463A-B620-7BEC23542010),
helpstring("_ICAPoliciesEvents Interface")
]
dispinterface _ICAPoliciesEvents
{
properties:
methods:
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAPolicy *pPolicy, long cPolicies);
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAPolicy *pPolicy, long cPolicies);
};
[
uuid(11166230-DF8A-463A-B620-7BEC23542010),
helpstring("ICATollsEvents Interface")
]
dispinterface _ICATollsEvents
{
properties:
methods:
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAToll *pToll, [in] long cTolls);
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAToll *pToll, [in] long cTolls);
[id(3), helpstring("method StateChanged")] HRESULT StateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
};
[
uuid(11166240-DF8A-463A-B620-7BEC23542010),
helpstring("ICADenialsEvents Interface")
]
dispinterface _ICADenialsEvents
{
properties:
methods:
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICADenial *pDenial, [in] long cDenials);
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICADenial *pDenial, [in] long cDenials);
[id(3), helpstring("method StateChanged")] HRESULT StateChanged([in] ICADenial *pDenial, [in] CADenialState enStateFrom);
};
[
uuid(11166250-DF8A-463A-B620-7BEC23542010),
helpstring("ICAOffersEvents Interface")
]
dispinterface _ICAOffersEvents
{
properties:
methods:
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAOffer *pOffer, [in] long cOffers);
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAOffer *pOffer, [in] long cOffers);
};
[
uuid(11166260-DF8A-463A-B620-7BEC23542010),
helpstring("_ICAComponentsEvents Interface")
]
dispinterface _ICAComponentsEvents
{
properties:
methods:
[id(1), helpstring("method ItemAdded")] HRESULT ItemAdded([in] ICAComponent *pComponent, [in] long cComponent);
[id(2), helpstring("method ItemRemoved")] HRESULT ItemRemoved([in] ICAComponent *pComponent, [in] long cComponent);
}; // --------------------------------
[
object,
dual,
uuid(11166300-DF8A-463a-B620-7BEC23542010),
helpstring("ICAManager Interface"),
pointer_default(unique)
]
interface ICAManager : IDispatch
{
[propget, id(1), helpstring("property Policies")] HRESULT Policies([out, retval] ICAPolicies **ppPolicies);
[propget, id(2), helpstring("property ActiveRequest")] HRESULT ActiveRequest([out, retval] ICARequest **ppRequest);
[propget, id(3), helpstring("property Offers")] HRESULT Offers([out, retval] ICAOffers **ppOffers);
[propget, id(4), helpstring("property PaidTolls")] HRESULT PaidTolls([out, retval] ICATolls **ppTolls);
[propput, id(5), helpstring("property UseDefaultUI")] HRESULT UseDefaultUI([in] long fUseDefaultUI);
[propget, id(5), helpstring("property UseDefaultUI")] HRESULT UseDefaultUI([out, retval] long *pfUseDefaultUI);
};
[
object,
uuid(11166310-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICARequest Interface"),
pointer_default(unique)
]
interface ICARequest : IDispatch
{
[propget, id(1), helpstring("property RequestedItem")] HRESULT RequestedItem([out, retval] IUnknown **ppTunereq);
[propget, id(2), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
[propget, id(3), helpstring("property ScheduleEntry")] HRESULT ScheduleEntry([out, retval] IUnknown **ppUnkScheduleEntry); // IScheduleEntry?
[propget, id(4), helpstring("property Denials")] HRESULT Denials([out, retval] ICADenials **ppDenials);
[propget, id(5), helpstring("property Components")] HRESULT Components([out, retval] ICAComponents **pComponents);
[propget, id(6), helpstring("property Check")] HRESULT Check([out, retval] long *pcDenials);
[propget, id(7), helpstring("property ResolveDenials")] HRESULT ResolveDenials([out, retval] long *pcDenials);
[propget, id(8), helpstring("property CountDeniedComponents")] HRESULT CountDeniedComponents([out, retval] long *pcDeniedComponents);
};
[
object,
uuid(11166320-DF8A-463a-B620-7BEC23542010),
helpstring("ICAPolicy Interface"), // client written
pointer_default(unique)
]
interface ICAPolicy : IUnknown // -- not IDispatch, let the client side implement that interface
{
[propget, id(0), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pbstr);
[ id(1), helpstring("method CheckRequest")] HRESULT CheckRequest([in] ICARequest *pReq);
[propget, id(2), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
[propput, id(2), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pManager);
[propget, id(3), helpstring("property OkToPersist")] HRESULT OkToPersist([out, retval] BOOL *pfOkToPersist);
[propget, id(4), helpstring("property OkToRemove")] HRESULT OkToRemove([out, retval] BOOL *pfOkToRemove);
[propget, id(5), helpstring("property OkToRemoveDenial")] HRESULT OkToRemoveDenial(ICADenial *pDenial, [out, retval] BOOL *pfOk);
[propget, id(6), helpstring("property OkToRemoveOffer")] HRESULT OkToRemoveOffer(ICAOffer *pOffer, [out, retval] BOOL *pfOk);
}
[
object,
uuid(11166330-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAToll Interface"), // also client written
pointer_default(unique)
]
interface ICAToll : IUnknown // -- also not IDispatch - client side implements that interface
{
[propget, id(1), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
[propput, id(1), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pManager);
[ id(2), helpstring("method Select")] HRESULT Select([in] BOOL fSelect);
[ id(3), helpstring("method PayToll")] HRESULT PayToll();
[propget, id(4), helpstring("property Refundable")] HRESULT Refundable([out, retval] BOOL *pfRefundable);
[ id(5), helpstring("method RefundToll")] HRESULT RefundToll();
[propget, id(6), helpstring("property TolledObject")] HRESULT TolledObject([out, retval] IUnknown **ppUnkTolled);
[propget, id(7), helpstring("property Denials")] HRESULT Denials([out, retval] ICADenials **ppDenials);
[propget, id(8), helpstring("property Policy")] HRESULT Policy([out, retval] ICAPolicy **ppPolicy);
[propget, id(9), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstr);
[propget, id(10),helpstring("property TimePaid")] HRESULT TimePaid([out, retval] DATE *pdtPaid);
[propget, id(11),helpstring("property State")] HRESULT State([out, retval] CATollState *penState);
};
[
object,
uuid(11166340-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICADenial Interface"),
pointer_default(unique)
]
interface ICADenial : IDispatch
{
[propget, id(1), helpstring("property DeniedObject")] HRESULT DeniedObject([out, retval] IUnknown **ppUnkDenied);
[propget, id(2), helpstring("property Policy")] HRESULT Policy([out, retval] ICAPolicy **ppPolicy);
[propget, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstr);
[propput, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [in] BSTR bstr);
[propget, id(4), helpstring("property State")] HRESULT State([out, retval] CADenialState *penState);
[propput, id(4), helpstring("property State")] HRESULT State([in] CADenialState enState);
[propget, id(5), helpstring("property Tolls")] HRESULT Tolls([out, retval] ICATolls **ppTolls);
[ id(6), helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
};
[
object,
uuid(11166350-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAOffer Interface"),
pointer_default(unique)
]
interface ICAOffer : IDispatch
{
[propget, id(1), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppManager);
[propput, id(1), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pManager);
[propget, id(2), helpstring("property Policy")] HRESULT Policy([out, retval] ICAPolicy **pppolicy);
[propget, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [out, retval] BSTR *pbstr);
[propput, id(3), helpstring("property Description")] HRESULT Description([in] CADescFormat enFormat, [in] BSTR bstr);
[propget, id(4), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pdtStart);
[propget, id(5), helpstring("property EndTime")] HRESULT EndTime([out, retval] DATE *pdtEnd);
[propget, id(6), helpstring("property Tolls")] HRESULT Tolls([out, retval] ICATolls **ppTolls);
[ id(7), helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateFrom);
};
[
object,
uuid(11166360-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAComponent Interface"),
pointer_default(unique)
]
interface ICAComponent : IDispatch
{
[propget, id(1), helpstring("property Component")] HRESULT Component([out, retval] IComponent **ppComponent);
[propget, id(2), helpstring("property Denials")] HRESULT Denials([out, retval] ICADenials **ppDenials);
[propget, id(3), helpstring("property Request")] HRESULT Request([out, retval] ICARequest **ppComponent);
};
// --------------------------------
[
uuid(11166100-DF8A-463a-B620-7BEC23542010),
helpstring("CAManager Class")
]
coclass CAManager
{
[default] interface ICAManager;
interface ICAManagerInternal;
[default, source] dispinterface _ICAManagerEvents;
};
[ // magic class used to avoid circular references through the CAManager.
hidden,
uuid(11166101-DF8A-463a-B620-7BEC23542010),
helpstring("CAManagerProxy Class")
]
coclass CAManagerProxy
{
[default] interface ICAManager;
[default, source] dispinterface _ICAManagerEvents; /// QUESTION ??? DO I want these just here, or in the true Manager, or both?
};
[
uuid(11166540-DF8A-463a-B620-7BEC23542010), // needed for user's tolls.
helpstring("CADenials Class")
]
coclass CADenials
{
[default] interface ICADenials;
interface ICADenialsInternal;
[default, source] dispinterface _ICADenialsEvents;
};
// TODO - mark this as hidden...
[
uuid(11166550-DF8A-463a-B620-7BEC23542010),
helpstring("CAOffer Class")
]
coclass CAOffer
{
[default] interface ICAOffer;
};
[
uuid(11166999-DF8A-463a-B620-7BEC23542010),
helpstring("CATempEventHack Class - used so we can build events")
]
coclass CATempEventHack
{
[source] dispinterface _ICAResDenialTreeEvents;
[source] dispinterface _ICAManagerEvents;
[source] dispinterface _ICARequestEvents;
[source] dispinterface _ICATollsEvents;
[source] dispinterface _ICADenialsEvents;
[source] dispinterface _ICAPoliciesEvents;
[source] dispinterface _ICAOffersEvents;
[source] dispinterface _ICAComponentsEvents;
};
// -----------------------------------
[
object,
uuid(11166898-DF8A-463a-B620-7BEC23542010),
dual,
helpstring("ICAResDenialTree Interface"),
pointer_default(unique)
]
interface ICAResDenialTree : IDispatch
{
[propget, id(1), helpstring("property CAManager")] HRESULT CAManager([out, retval] ICAManager **ppCAManager);
[propput, id(1), helpstring("property CAManager")] HRESULT CAManager([in] ICAManager *pCAManager);
[propput, id(2), helpstring("property DisplayFields")] HRESULT DisplayFields([in] CAUIDisplayFields enFields); // fields to display in default ResDenial UI
[ id(3), helpstring("method UpdateView")] HRESULT UpdateView([in] IUnknown *pUnk); // if object is being viewed, updates it.
// ResDenial control listens to these incoming sink events sent by Manager ((_ICAManagerEvents).. ID's Must match
[ id(2201),helpstring("method NotifyRequestActivated")] HRESULT NotifyRequestActivated([in] ICARequest *preq);
[ id(2202),helpstring("method NotifyRequestDeactivated")] HRESULT NotifyRequestDeactivated([in] ICARequest *preq);
[ id(2203),helpstring("method NotifyOfferAdded")] HRESULT NotifyOfferAdded([in] ICAOffer *pOffer,[in] long cOffers);
[ id(2204),helpstring("method NotifyOfferRemoved")] HRESULT NotifyOfferRemoved([in] ICAOffer *pOffer,[in] long cOffers);
[ id(2205),helpstring("method NotifyPolicyAdded")] HRESULT NotifyPolicyAdded([in] ICAPolicy *pPolicy,[in] long cPolicies);
[ id(2206),helpstring("method NotifyPolicyRemoved")] HRESULT NotifyPolicyRemoved([in] ICAPolicy *pPolicy,[in] long cPolicies);
[ id(2207),helpstring("method NotifyRequestDenialAdded")] HRESULT NotifyRequestDenialAdded([in] ICARequest *preq, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2208),helpstring("method NotifyRequestDenialRemoved")] HRESULT NotifyRequestDenialRemoved([in] ICARequest *preq, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2209),helpstring("method NotifyDenialTollAdded")] HRESULT NotifyDenialTollAdded([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
[ id(2210),helpstring("method NotifyDenialTollRemoved")] HRESULT NotifyDenialTollRemoved([in] ICADenial *pDenial, [in] ICAToll *pToll, [in] long cTolls);
[ id(2211),helpstring("method NotifyTollDenialAdded")] HRESULT NotifyTollDenialAdded([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2212),helpstring("method NotifyTollDenialRemoved")] HRESULT NotifyTollDenialRemoved([in] ICAToll *pToll, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2213),helpstring("method NotifyOfferTollAdded")] HRESULT NotifyOfferTollAdded([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
[ id(2214),helpstring("method NotifyOfferTollRemoved")] HRESULT NotifyOfferTollRemoved([in] ICAOffer *pOffer, [in] ICAToll *pToll, [in] long cTolls);
[ id(2215),helpstring("method NotifyTollStateChanged")] HRESULT NotifyTollStateChanged([in] ICAToll *pToll, [in] CATollState enStateLast);
[ id(2216),helpstring("method NotifyDenialStateChanged")] HRESULT NotifyDenialStateChanged([in] ICADenial *pDenial, [in] CADenialState enStateLast);
[ id(2217),helpstring("method NotifyComponentDenialAdded")] HRESULT NotifyComponentDenialAdded([in] ICAComponent *preq, [in] ICADenial *pDenial,[in] long cDenials);
[ id(2218),helpstring("method NotifyComponentDenialRemoved")] HRESULT NotifyComponentDenialRemoved([in] ICAComponent *preq, [in] ICADenial *pDenial,[in] long cDenials);
};
[
uuid(11166998-DF8A-463a-B620-7BEC23542010),
helpstring("CA Default RequestDenial Control")
]
coclass CAResDenialTree
{
[default] interface ICAResDenialTree;
[default, source] dispinterface _ICAResDenialTreeEvents;
};
};