hxstats.h
来自「symbian 下的helix player源代码」· C头文件 代码 · 共 781 行 · 第 1/2 页
H
781 行
STDMETHOD_(IHXBuffer*, GetClientID) (THIS) PURE;
STDMETHOD(SetClientID) (THIS_
IHXBuffer* pClientID) PURE;
STDMETHOD_(IHXBuffer*, GetPNAClientID) (THIS) PURE;
STDMETHOD(SetPNAClientID) (THIS_
IHXBuffer* pPNAClientID) PURE;
STDMETHOD_(IHXBuffer*, GetCompanyID) (THIS) PURE;
STDMETHOD(SetCompanyID) (THIS_
IHXBuffer* pCompanyID) PURE;
STDMETHOD_(IHXBuffer*, GetClientChallenge) (THIS) PURE;
STDMETHOD(SetClientChallenge) (THIS_
IHXBuffer* pClientChallenge) PURE;
STDMETHOD_(IHXBuffer*, GetLanguage) (THIS) PURE;
STDMETHOD(SetLanguage) (THIS_
IHXBuffer* pLanguage) PURE;
STDMETHOD_(IHXBuffer*, GetPlayerStartTime) (THIS) PURE;
STDMETHOD(SetPlayerStartTime) (THIS_
IHXBuffer* pPlayerStartTime) PURE;
STDMETHOD_(IHXBuffer*, GetProtocol) (THIS) PURE;
STDMETHOD(SetProtocol) (THIS_
IHXBuffer* pProtocol) PURE;
STDMETHOD_(IHXBuffer*, GetStartTime) (THIS) PURE;
STDMETHOD(SetStartTime) (IHXBuffer* pStartTime) PURE;
STDMETHOD_(IHXBuffer*, GetRequestMethod) (THIS) PURE;
STDMETHOD(SetRequestMethod) (IHXBuffer* pRequestMethod) PURE;
STDMETHOD_(IHXBuffer*, GetUserAgent) (THIS) PURE;
STDMETHOD(SetUserAgent) (THIS_
IHXBuffer* pUserAgent) PURE;
STDMETHOD_(IHXBuffer*, GetVersion) (THIS) PURE;
STDMETHOD(SetVersion) (THIS_
IHXBuffer* pVersion) PURE;
STDMETHOD_(IHXBuffer*, GetLoadTestPassword) (THIS) PURE;
STDMETHOD(SetLoadTestPassword) (THIS_
IHXBuffer* pLoadTestPassword) PURE;
STDMETHOD_(IHXBuffer*, GetRTSPEvents) (THIS) PURE;
STDMETHOD(SetRTSPEvents) (THIS_
IHXBuffer* pRTSPEvents) PURE;
STDMETHOD_(UINT64, GetControlBytesSent) (THIS) PURE;
STDMETHOD(SetControlBytesSent) (THIS_
UINT64 ulControlBytesSent) PURE;
STDMETHOD_(UINT32, GetPort) (THIS) PURE;
STDMETHOD(SetPort) (THIS_
UINT32 ulPort) PURE;
STDMETHOD_(UINT32, GetSessionCount) (THIS) PURE;
STDMETHOD(SetSessionCount) (THIS_
UINT32 ulSessionCount) PURE;
STDMETHOD_(UINT32, GetSessionIndex) (THIS) PURE;
STDMETHOD(SetSessionIndex) (THIS_
UINT32 ulSessionIndex) PURE;
STDMETHOD_(BOOL, IsCloaked) (THIS) PURE;
STDMETHOD(SetCloaked) (THIS_
BOOL bIsCloaked) PURE;
STDMETHOD_(BOOL, IsRDT) (THIS) PURE;
STDMETHOD(SetRDT) (THIS_
BOOL bIsRDT) PURE;
STDMETHOD_(BOOL, SupportsMaximumASMBandwidth) (THIS) PURE;
STDMETHOD(SetSupportsMaximumASMBandwidth) (THIS_
BOOL bSupportsMaximumASMBandwidth) PURE;
STDMETHOD_(BOOL, SupportsMulticast) (THIS) PURE;
STDMETHOD(SetSupportsMulticast) (THIS_
BOOL bSupportsMulticast) PURE;
STDMETHOD_(IHXBuffer*, GetStreamSelectionInfo) (THIS) PURE;
STDMETHOD(SetStreamSelectionInfo) (THIS_
IHXBuffer* pStreamSelectionInfo) PURE;
STDMETHOD_(UINT32, GetTotalMediaAdaptations) (THIS) PURE;
STDMETHOD(SetTotalMediaAdaptations) (THIS_
UINT32 ulTotalMediaAdaptations) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStats::GetID()
// Purpose:
// Get the id (assigned by the client stats mgr) for this client.
// Arguments:
// void
///////////////////////////////////////////////////////////////////////////
STDMETHOD_(UINT32, GetID) (THIS) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStats::SetID()
// Purpose:
// Set the connection id for this client. To be called by the client
// stats manager.
// Arguments:
// ulConnId - conn id of client.
///////////////////////////////////////////////////////////////////////////
STDMETHOD(SetID) (THIS_
UINT32 ulConnId) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStats::GetSession()
// Purpose:
// Get the IHXSessionStats object for the provided session number.
// Arguments:
// ulSessionId - Session number of session to get.
///////////////////////////////////////////////////////////////////////////
STDMETHOD_(IHXSessionStats*, GetSession) (THIS_
UINT32 ulSessionNumber) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStats::RemoveSession()
// Purpose:
// Remove the IHXSessionStats object associated with the provided
// session number.
// Arguments:
// ulSessionId - Session number of session to remove.
///////////////////////////////////////////////////////////////////////////
STDMETHOD(RemoveSession) (THIS_
UINT32 ulSessionNumber) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStats::AddSession()
// Purpose:
// Add an IHXSessionStats object to list.
// Arguments:
// pSession - Pointer to IHXSessionStats object.
///////////////////////////////////////////////////////////////////////////
STDMETHOD (AddSession) (THIS_
IHXSessionStats* pSession) PURE;
};
///////////////////////////////////////////////////////////////////////////////
// Interface:
//
// IHXClientStatsSink
//
// Purpose:
//
// Applications wishing to receive information regarding stats from the
// client stats manager implement this interface.
//
// IID_IHXClientStatsSink:
//
// {FDC6D1AA-D78E-40b0-A3E6-B7D6DF30383B}
//
///////////////////////////////////////////////////////////////////////////////
// {FDC6D1AA-D78E-40b0-A3E6-B7D6DF30383B}
DEFINE_GUID(IID_IHXClientStatsSink, 0xfdc6d1aa, 0xd78e, 0x40b0,
0xa3, 0xe6, 0xb7, 0xd6, 0xdf, 0x30, 0x38, 0x3b);
#define CLSID_IHXClientStatsSink IID_IHXClientStatsSink
#undef INTERFACE
#define INTERFACE IHXClientStatsSink
DECLARE_INTERFACE_(IHXClientStatsSink, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(UINT32,AddRef) (THIS) PURE;
STDMETHOD_(UINT32,Release) (THIS) PURE;
// IHXClientStatsSink methods
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsSink::OnStatsEvent()
// Purpose:
// Notify sinks of a Client/Session stats event
// Arguments:
// nEvent the id of the triggering event
// pClient IHXStats object
// pSession IHX stats object (== NULL for client connect/disconnect,
// and timer events)
///////////////////////////////////////////////////////////////////////////
STDMETHOD(OnStatsEvent) (THIS_
ClientStatsEvent nEvent,
IHXClientStats* pClient,
IHXSessionStats* pSession) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsSink::GetStatsTimerInterval()
// Purpose:
// Retrieve the desired timer interval from the sink for scheduling
// callbacks with connecting clients.
// Arguments:
// pClient - Stats object.
///////////////////////////////////////////////////////////////////////////
STDMETHOD_(UINT32, GetStatsTimerInterval) (THIS) PURE;
};
///////////////////////////////////////////////////////////////////////////////
// Interface:
//
// IHXClientStatsManager
//
// Purpose:
//
// Allows plugins to access the server's client stats management system
// via the IHXContext.
//
// IID_IHXClientStatsManager:
//
// {E0ECE2B8-A94B-4eb4-AF0D-177D053B2ED6}
//
///////////////////////////////////////////////////////////////////////////////
DEFINE_GUID(IID_IHXClientStatsManager, 0xe0ece2b8, 0xa94b, 0x4eb4,
0xaf, 0xd, 0x17, 0x7d, 0x5, 0x3b, 0x2e, 0xd6);
#define CLSID_IHXClientStatsManager IID_IHXClientStatsManager
#undef INTERFACE
#define INTERFACE IHXClientStatsManager
DECLARE_INTERFACE_(IHXClientStatsManager, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(UINT32,AddRef) (THIS) PURE;
STDMETHOD_(UINT32,Release) (THIS) PURE;
// IHXClientStatsManager methods
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::RegisterSink()
// Purpose:
// Registers an IHXClientStatsSink object with the manager.
// The sink is then able to receive notifications.
// Arguments:
// pSink - IN - IHXClientStatsSink object to register.
///////////////////////////////////////////////////////////////////////////
STDMETHOD(RegisterSink) (THIS_
IHXClientStatsSink* pSink) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::RemoveSink()
// Purpose:
// Removes an IHXClientStatsSink object from the manager.
// Arguments:
// pSink - IN - IHXClientStatsSink object to remove.
///////////////////////////////////////////////////////////////////////////
STDMETHOD(RemoveSink) (THIS_
IHXClientStatsSink* pSink) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::GetClient()
// Purpose:
// Returns an IHXClientStats object, given a client ID.
// Arguments:
// ulClientId - IN - Conn id of client.
///////////////////////////////////////////////////////////////////////////
STDMETHOD_(IHXClientStats*, GetClient) (THIS_
UINT32 ulClientId) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::AddClient()
// Purpose:
// Adds an IHXClientStats object to the manager list. To be used
// when clients connect.
// Arguments:
// ulClientId - IN - Conn id of client.
// pClient - IN - Pointer to clientstats object to add.
//
///////////////////////////////////////////////////////////////////////////
STDMETHOD(AddClient) (THIS_
IHXClientStats* pClient) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::RemoveClient()
// Purpose:
// Removes an IHXClientStats object from the manager list. To be used
// when clients disconnect.
// Arguments:
// ulClientId - Conn id of client.
///////////////////////////////////////////////////////////////////////////
STDMETHOD(RemoveClient) (THIS_
UINT32 ulClientId) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::GetClientCount()
// Purpose:
// Calls a sink back, passing info about all IHXClientStats objects
// that the manager currently knows about.
// Arguments:
// pSink - IN - IHXClientStatsSink object to callback.
///////////////////////////////////////////////////////////////////////////
STDMETHOD_(UINT32, GetClientCount) (THIS) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::UseRegistryForStats()
// Purpose:
// Returns TRUE if the server is configured to use the registry for
// client stats.
// Arguments:
// void
///////////////////////////////////////////////////////////////////////////
STDMETHOD_(BOOL, UseRegistryForStats) (THIS) PURE;
///////////////////////////////////////////////////////////////////////////
// Method:
// IHXClientStatsManager::ScheduleSinkNotifications()
// Purpose:
// Allows clients of the StatsMgr to notify stat sinks of important
// state changes
// Arguments:
// ulClientId - IN - Conn id of client.
// pClient - IN - Pointer to clientstats object to add.
///////////////////////////////////////////////////////////////////////////
STDMETHOD(ScheduleSinkNotifications)(THIS_
IHXClientStats* pClient,
IHXSessionStats* pSession,
ClientStatsEvent nEvent) PURE;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?