27 #include "IPMUnknown.h" 28 #include "ShuksanID.h" 29 #include "InterfaceTrackingUtils.h" 31 #include "IDThreading.h" 32 #ifndef __IControllingUnknown__ 33 #define __IControllingUnknown__ 48 enum { kDefaultIID = IID_ICONTROLLINGUNKNOWN };
106 virtual IPMUnknown* GetInterfacePtrByIndex(int32 index)
const = 0;
113 virtual bool16 SetAssertOnCall(bool16 onOrOff) = 0;
116 virtual void DisableAssertOnCall() = 0;
117 virtual void EnableAssertOnCall() = 0;
119 virtual void SetDebugUID (
UID id) = 0;
121 virtual void SetChecksum(
IPMUnknown *face, uint32 newChecksum) = 0;
122 virtual void SetChecksum(int32 faceIndex, uint32 newChecksum) = 0;
123 virtual uint32 GetChecksum(int32 faceIndex)
const = 0;
126 virtual void DebugAddRef(
IPMUnknown* whichInterface)
const = 0;
127 virtual void DebugRelease(
IPMUnknown* whichInterface)
const = 0;
128 #ifdef INTERFACEPROXIES_SUPPORTED 132 virtual void RemoveFromProxyList(
const int32 ProxyID) = 0;
133 virtual void ReportOverReleasedProxyError(
const int32 ProxyID)
const = 0;
134 virtual void InsertAddRefStackCrawl(
const int32 ProxyID) = 0;
135 virtual void InsertReleaseStackCrawl(
const int32 ProxyID) = 0;
136 virtual void DumpInterfacesToTrack (
LogObject * logObject, std::vector<std::pair<ClassID, PMIID> >&leaksSoFarReported)
const = 0;
138 virtual void DumpBossInterfaceReferences(
LogObject * logObject)
const = 0;
141 virtual void SwitchExecutionContext() = 0;
145 #endif // __IControllingUnknown__