hxqosinfo.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:8k
源码类别:

Symbian

开发平台:

C/C++

  1. /* ***** BEGIN LICENSE BLOCK *****  
  2.  * Source last modified: $Id: 
  3.  *   
  4.  * Portions Copyright (c) 1995-2003 RealNetworks, Inc. All Rights Reserved.  
  5.  *       
  6.  * The contents of this file, and the files included with this file, 
  7.  * are subject to the current version of the RealNetworks Public 
  8.  * Source License (the "RPSL") available at 
  9.  * http://www.helixcommunity.org/content/rpsl unless you have licensed 
  10.  * the file under the current version of the RealNetworks Community 
  11.  * Source License (the "RCSL") available at 
  12.  * http://www.helixcommunity.org/content/rcsl, in which case the RCSL 
  13.  * will apply. You may also obtain the license terms directly from 
  14.  * RealNetworks.  You may not use this file except in compliance with 
  15.  * the RPSL or, if you have a valid RCSL with RealNetworks applicable 
  16.  * to this file, the RCSL.  Please see the applicable RPSL or RCSL for 
  17.  * the rights, obligations and limitations governing use of the 
  18.  * contents of the file. 
  19.  *   
  20.  * This file is part of the Helix DNA Technology. RealNetworks is the 
  21.  * developer of the Original Code and owns the copyrights in the 
  22.  * portions it created. 
  23.  *   
  24.  * This file, and the files included with this file, is distributed 
  25.  * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY 
  26.  * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS 
  27.  * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES 
  28.  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET 
  29.  * ENJOYMENT OR NON-INFRINGEMENT. 
  30.  *  
  31.  * Technology Compatibility Kit Test Suite(s) Location:  
  32.  *    http://www.helixcommunity.org/content/tck  
  33.  *  
  34.  * Contributor(s):  
  35.  *   
  36.  * ***** END LICENSE BLOCK ***** */  
  37. ///////////////////////////////////////////////////////////////////////////////
  38. // hxqosinfo.h - Interfaces for QoS Adaptation Info.
  39. ///////////////////////////////////////////////////////////////////////////////
  40. #ifndef HXQOSINFO_H
  41. #define HXQOSINFO_H
  42. ///////////////////////////////////////////////////////////////////////////////
  43. _INTERFACE      IUnknown;
  44. _INTERFACE      IHXQoSTransportAdaptationInfo;
  45. _INTERFACE      IHXQoSSessionAdaptationInfo;
  46. _INTERFACE      IHXQoSApplicationAdaptationInfo;
  47. ///////////////////////////////////////////////////////////////////////////////
  48. // Interface: 
  49. //
  50. //      IHXQoSTransportAdaptationInfo
  51. //
  52. // Purpose:
  53. //
  54. //      Provides adaptation info for QoS transport layer.
  55. //
  56. // IID_IHXQoSTransportAdaptationInfo:
  57. //
  58. //      {213645C5-3A56-4945-A8A9-6702BB5604B6}
  59. //
  60. ///////////////////////////////////////////////////////////////////////////////
  61. // {213645C5-3A56-4945-A8A9-6702BB5604B6}
  62. DEFINE_GUID(IID_IHXQoSTransportAdaptationInfo, 
  63.             0x213645c5, 0x3a56, 0x4945, 0xa8, 0xa9, 0x67, 0x2, 0xbb, 0x56, 0x4, 0xb6);
  64. #define CLSID_IHXQoSTransportAdaptationInfo     IID_IHXQoSTransportAdaptationInfo
  65. #undef  INTERFACE
  66. #define INTERFACE   IHXQoSTransportAdaptationInfo
  67. DECLARE_INTERFACE_(IHXQoSTransportAdaptationInfo, IUnknown)
  68. {
  69.     STDMETHOD_(UINT32, GetRRFrequency) (THIS) PURE;
  70.     STDMETHOD(SetRRFrequency) (THIS_
  71.                                UINT32 ulRRFrequency) PURE;
  72.     STDMETHOD_(UINT32, GetRTT) (THIS) PURE;
  73.     STDMETHOD(SetRTT) (THIS_
  74.                        UINT32 ulRTT) PURE;
  75.     STDMETHOD_(UINT32, GetPacketLoss) (THIS) PURE;
  76.     STDMETHOD(SetPacketLoss) (THIS_
  77.                               UINT32 ulPacketLoss) PURE;
  78.     STDMETHOD_(UINT32, GetReceivedThroughput) (THIS) PURE;
  79.     STDMETHOD(SetReceivedThroughput) (THIS_
  80.                                       UINT32 ulReceivedThroughput) PURE;
  81.     STDMETHOD_(UINT32, GetSuccessfulResends)    (THIS) PURE;
  82.     STDMETHOD(SetSuccessfulResends)             (THIS_
  83.                                                 UINT32 ulSuccessfulResends) PURE;
  84.     STDMETHOD_(UINT32, GetFailedResends)    (THIS) PURE;
  85.     STDMETHOD(SetFailedResends)             (THIS_
  86.                                             UINT32 ulFailedResends) PURE;
  87.     STDMETHOD_(IHXBuffer*, GetTxRateRange)    (THIS) PURE;
  88.     STDMETHOD(SetTxRateRange)                 (THIS_
  89.                                               IHXBuffer* pTxRateRange) PURE;
  90.     STDMETHOD_(UINT32, GetPacketsSent)      (THIS) PURE;
  91.     STDMETHOD(SetPacketsSent)               (THIS_
  92.                                             UINT32 ulPacketsSent) PURE;
  93.     STDMETHOD_(UINT64, GetBytesSent)        (THIS) PURE;
  94.     STDMETHOD(SetBytesSent)                 (THIS_
  95.                                             UINT64 ulBytesSent) PURE;
  96. };
  97. ///////////////////////////////////////////////////////////////////////////////
  98. // Interface: 
  99. //
  100. //      IHXQoSSessionAdaptationInfo
  101. //
  102. // Purpose:
  103. //
  104. //      Provides adaptation info for QoS Session layer.
  105. //
  106. // IID_IHXQoSSessionAdaptationInfo:
  107. //
  108. //      {AED09295-0A71-4520-9D7F-BFA9B5A97245}
  109. //
  110. ///////////////////////////////////////////////////////////////////////////////
  111. // {AED09295-0A71-4520-9D7F-BFA9B5A97245}
  112. DEFINE_GUID(IID_IHXQoSSessionAdaptationInfo, 
  113.             0xaed09295, 0xa71, 0x4520, 0x9d, 0x7f, 0xbf, 0xa9, 0xb5, 0xa9, 0x72, 0x45);
  114. #define CLSID_IHXQoSSessionAdaptationInfo     IID_IHXQoSSessionAdaptationInfo
  115. #undef  INTERFACE
  116. #define INTERFACE   IHXQoSSessionAdaptationInfo
  117. DECLARE_INTERFACE_(IHXQoSSessionAdaptationInfo, IUnknown)
  118. {
  119.     STDMETHOD_(UINT32, GetEstimatedPlayerBufferUnderruns) (THIS) PURE;
  120.     STDMETHOD(SetEstimatedPlayerBufferUnderruns) (THIS_
  121.                                                   UINT32 ulEstimatedPlayerBufferUnderruns) PURE;
  122.     STDMETHOD_(UINT32, GetEstimatedPlayerBufferOverruns) (THIS) PURE;
  123.     STDMETHOD(SetEstimatedPlayerBufferOverruns) (THIS_
  124.                                                  UINT32 ulEstimatedPlayerBufferOverruns) PURE;
  125.     STDMETHOD_(UINT32, GetBufferDepthTime) (THIS) PURE;
  126.     STDMETHOD(SetBufferDepthTime) (THIS_
  127.                                    UINT32 ulBufferDepthTime) PURE;
  128.     STDMETHOD_(UINT32, GetBufferDepthBytes) (THIS) PURE;
  129.     STDMETHOD(SetBufferDepthBytes) (THIS_
  130.                                     UINT32 ulBufferDepthBytes) PURE;
  131. };
  132. ///////////////////////////////////////////////////////////////////////////////
  133. // Interface: 
  134. //
  135. //      IHXQoSApplicationAdaptationInfo
  136. //
  137. // Purpose:
  138. //
  139. //      Provides adaptation info for QoS Application layer.
  140. //
  141. // IID_IHXQoSApplicationAdaptationInfo:
  142. //
  143. //      {207E23E5-F71F-4a18-B7D0-F4F865A2058B}
  144. //
  145. ///////////////////////////////////////////////////////////////////////////////
  146. // {207E23E5-F71F-4a18-B7D0-F4F865A2058B}
  147. DEFINE_GUID(IID_IHXQoSApplicationAdaptationInfo, 
  148.             0x207e23e5, 0xf71f, 0x4a18, 0xb7, 0xd0, 0xf4, 0xf8, 0x65, 0xa2, 0x5, 0x8b);
  149. #define CLSID_IHXQoSApplicationAdaptationInfo     IID_IHXQoSApplicationAdaptationInfo
  150. #undef  INTERFACE
  151. #define INTERFACE   IHXQoSApplicationAdaptationInfo
  152. DECLARE_INTERFACE_(IHXQoSApplicationAdaptationInfo, IUnknown)
  153. {
  154.     STDMETHOD_(UINT32, GetTotalBitrateAdaptations) (THIS) PURE;
  155.     STDMETHOD(SetTotalBitrateAdaptations) (THIS_
  156.                                            UINT32 ulTotalBitrateAdaptations) PURE;
  157.     STDMETHOD_(UINT32, GetCurrentBitrate) (THIS) PURE;
  158.     STDMETHOD(SetCurrentBitrate) (THIS_
  159.                                   UINT32 ulCurrentBitrate) PURE;
  160.     STDMETHOD_(UINT32, GetTotalUpshifts)    (THIS) PURE;
  161.     STDMETHOD(SetTotalUpshifts)             (THIS_
  162.                                             UINT32 ulTotalUpshifts) PURE;
  163.     STDMETHOD_(UINT32, GetTotalDownshifts)  (THIS) PURE;
  164.     STDMETHOD(SetTotalDownshifts)           (THIS_
  165.                                             UINT32 ulTotalDownshifts) PURE;
  166.     STDMETHOD_(UINT32, GetASMSubscribes)    (THIS) PURE;
  167.     STDMETHOD(SetASMSubscribes)             (THIS_
  168.                                             UINT32 ulASMSubscribes) PURE;
  169.     STDMETHOD_(UINT32, GetASMUnsubscribes)  (THIS) PURE;
  170.     STDMETHOD(SetASMUnsubscribes)           (THIS_
  171.                                             UINT32 ulASMUnsubscribes) PURE;
  172. };
  173. #endif //defined HXQOSINFO_H