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

Symbian

开发平台:

C/C++

  1. /* ***** BEGIN LICENSE BLOCK ***** 
  2.  * Version: RCSL 1.0/RPSL 1.0 
  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, are 
  7.  * subject to the current version of the RealNetworks Public Source License 
  8.  * Version 1.0 (the "RPSL") available at 
  9.  * http://www.helixcommunity.org/content/rpsl unless you have licensed 
  10.  * the file under the RealNetworks Community Source License Version 1.0 
  11.  * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, 
  12.  * in which case the RCSL will apply. You may also obtain the license terms 
  13.  * directly from RealNetworks.  You may not use this file except in 
  14.  * compliance with the RPSL or, if you have a valid RCSL with RealNetworks 
  15.  * applicable to this file, the RCSL.  Please see the applicable RPSL or 
  16.  * RCSL for the rights, obligations and limitations governing use of the 
  17.  * contents of the file.  
  18.  *  
  19.  * This file is part of the Helix DNA Technology. RealNetworks is the 
  20.  * developer of the Original Code and owns the copyrights in the portions 
  21.  * it created. 
  22.  *  
  23.  * This file, and the files included with this file, is distributed and made 
  24.  * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
  25.  * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
  26.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS 
  27.  * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
  28.  * 
  29.  * Technology Compatibility Kit Test Suite(s) Location: 
  30.  *    http://www.helixcommunity.org/content/tck 
  31.  * 
  32.  * Contributor(s): 
  33.  *  
  34.  * ***** END LICENSE BLOCK ***** */ 
  35. #ifndef IHXACCESSPOINT_H
  36. #define IHXACCESSPOINT_H
  37. #include "hxcom.h"
  38. typedef _INTERFACE IHXValues IHXValues;
  39. /****************************************************************************
  40.  * 
  41.  *  Interface:
  42.  *
  43.  * IHXAccessPointConnectResponse
  44.  *
  45.  *  Purpose:
  46.  *
  47.  *      Notification inferface for signalling when the access point connect
  48.  *      has completed.
  49.  *
  50.  *  IID_IHXAccessPointConnectResponse:
  51.  *
  52.  * {9E9CA2D6-CBFE-40f8-94FD-38F4EB5DF80F}
  53.  *
  54.  */
  55. DEFINE_GUID(IID_IHXAccessPointConnectResponse, 0x9e9ca2d6, 0xcbfe, 0x40f8, 0x94, 
  56.     0xfd, 0x38, 0xf4, 0xeb, 0x5d, 0xf8, 0xf);
  57. #undef  INTERFACE
  58. #define INTERFACE   IHXAccessPointConnectResponse
  59. DECLARE_INTERFACE_(IHXAccessPointConnectResponse, IUnknown)
  60. {
  61.     /*
  62.      * IUnknown methods
  63.      */
  64.     STDMETHOD(QueryInterface) (THIS_
  65. REFIID riid,
  66. void** ppvObj) PURE;
  67.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  68.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  69.     /*
  70.      * IHXAccessPointConnectResponse methods
  71.      */
  72.     /************************************************************************
  73.      * Method:
  74.      *     IHXAccessPointConnectResponse::ConnectDone
  75.      * Purpose:
  76.      *     Called when the connection to the access point is complete.
  77.      *       The status parameter equals HXR_OK if the connect was successful.
  78.      *
  79.      */
  80.     STDMETHOD(ConnectDone)(THIS_ HX_RESULT status) PURE;
  81. };
  82. /****************************************************************************
  83.  * 
  84.  *  Interface:
  85.  *
  86.  * IHXAccessPointSelectorResponse
  87.  *
  88.  *  Purpose:
  89.  *      Used by the IHXAccessPointSelector to return information about
  90.  *      the selected access point
  91.  *
  92.  *  IID_IHXAccessPointSelectorResponse:
  93.  *
  94.  * {9E9CA2D6-CBFE-40f8-94FD-38F4EB5DF811}
  95.  *
  96.  */
  97. DEFINE_GUID(IID_IHXAccessPointSelectorResponse, 
  98.     0x9e9ca2d6, 0xcbfe, 0x40f8, 0x94, 
  99.     0xfd, 0x38, 0xf4, 0xeb, 0x5d, 0xf8, 0x11);
  100. #undef  INTERFACE
  101. #define INTERFACE   IHXAccessPointSelectorResponse
  102. DECLARE_INTERFACE_(IHXAccessPointSelectorResponse, IUnknown)
  103. {
  104.     /*
  105.      * IUnknown methods
  106.      */
  107.     STDMETHOD(QueryInterface) (THIS_
  108. REFIID riid,
  109. void** ppvObj) PURE;
  110.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  111.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  112.     /*
  113.      * IHXAccessPointSelectorResponse methods
  114.      */
  115.     /************************************************************************
  116.      * Method:
  117.      *     IHXAccessPointSelectorResponse::SelectAccessPointDone
  118.      * Purpose:
  119.      *      Returns the selected access point info
  120.      */
  121.     STDMETHOD(SelectAccessPointDone)(THIS_ HX_RESULT status, 
  122.      IHXValues* pInfo) PURE;
  123. };
  124. /****************************************************************************
  125.  * 
  126.  *  Interface:
  127.  *
  128.  * IHXAccessPointSelector
  129.  *
  130.  *  Purpose:
  131.  *      Handles requests for selecting an access point
  132.  *
  133.  *  IID_IHXAccessPointSelector:
  134.  *
  135.  * {9E9CA2D6-CBFE-40f8-94FD-38F4EB5DF812}
  136.  *
  137.  */
  138. DEFINE_GUID(IID_IHXAccessPointSelector, 0x9e9ca2d6, 0xcbfe, 0x40f8, 0x94, 
  139.     0xfd, 0x38, 0xf4, 0xeb, 0x5d, 0xf8, 0x12);
  140. #undef  INTERFACE
  141. #define INTERFACE   IHXAccessPointSelector
  142. DECLARE_INTERFACE_(IHXAccessPointSelector, IUnknown)
  143. {
  144.     /*
  145.      * IUnknown methods
  146.      */
  147.     STDMETHOD(QueryInterface) (THIS_
  148. REFIID riid,
  149. void** ppvObj) PURE;
  150.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  151.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  152.     /*
  153.      * IHXAccessPointSelector methods
  154.      */
  155.     /************************************************************************
  156.      * Method:
  157.      *     IHXAccessPointSelector::SelectAccessPoint
  158.      * Purpose:
  159.      *      The core uses this to get information about the preferred
  160.      *      access point
  161.      */
  162.     STDMETHOD(SelectAccessPoint)(THIS_ 
  163.  IHXAccessPointSelectorResponse* pResponse) PURE;
  164. };
  165. /****************************************************************************
  166.  * 
  167.  *  Interface:
  168.  *
  169.  * IHXAccessPointManager
  170.  *
  171.  *  Purpose:
  172.  *      Manages the network access point
  173.  *
  174.  *  IID_IHXAccessPointManager:
  175.  *
  176.  * {9E9CA2D6-CBFE-40f8-94FD-38F4EB5DF810}
  177.  *
  178.  */
  179. DEFINE_GUID(IID_IHXAccessPointManager, 0x9e9ca2d6, 0xcbfe, 0x40f8, 0x94, 
  180.     0xfd, 0x38, 0xf4, 0xeb, 0x5d, 0xf8, 0x10);
  181. #undef  INTERFACE
  182. #define INTERFACE   IHXAccessPointManager
  183. DECLARE_INTERFACE_(IHXAccessPointManager, IUnknown)
  184. {
  185.     /*
  186.      * IUnknown methods
  187.      */
  188.     STDMETHOD(QueryInterface) (THIS_
  189. REFIID riid,
  190. void** ppvObj) PURE;
  191.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  192.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  193.     /*
  194.      * IHXAccessPointManager methods
  195.      */
  196.     /************************************************************************
  197.      * Method:
  198.      *     IHXAccessPointManager::Connect
  199.      * Purpose:
  200.      *     Notifies the access point manager that an object wants the access
  201.      *      point to connect to it's ISP.
  202.      *
  203.      */
  204.     STDMETHOD(Connect) (THIS_ IHXAccessPointConnectResponse* pResp) PURE;
  205.     
  206.     /************************************************************************
  207.      * Method:
  208.      *     IHXAccessPointManager::RegisterSelector
  209.      * Purpose:
  210.      *      Provides the IHXAccessPointManager with an IHXAccessPointSelector 
  211.      *      to use when it needs information about the desired access point.
  212.      *
  213.      */
  214.     STDMETHOD(RegisterSelector)(THIS_ IHXAccessPointSelector* pSelector) PURE;
  215.     
  216.     /************************************************************************
  217.      * Method:
  218.      *     IHXAccessPointManager::UnregisterSelector
  219.      * Purpose:
  220.      *      Unregisters a previously registered IHXAccessPointSelector
  221.      *
  222.      */
  223.     STDMETHOD(UnregisterSelector)(THIS_ IHXAccessPointSelector* pSelector) PURE;
  224.     
  225.     /************************************************************************
  226.      * Method:
  227.      *     IHXAccessPointManager::GetActiveAccessPointInfo
  228.      * Purpose:
  229.      *      Returns information about the access point we are currently 
  230.      *      connected to. This function returns an error if we are 
  231.      *      not connected to an access point.
  232.      *
  233.      */
  234.     STDMETHOD(GetActiveAccessPointInfo)(THIS_ REF(IHXValues*) pInfo) PURE;
  235.     /************************************************************************
  236.      * Method:
  237.      *     IHXAccessPointManager::GetPreferredAccessPointInfo
  238.      * Purpose:
  239.      *      Returns information about the access point we want to connect to.
  240.      */
  241.     STDMETHOD(GetPreferredAccessPointInfo)(THIS_ REF(IHXValues*) pInfo) PURE;
  242.     /************************************************************************
  243.      * Method:
  244.      *     IHXAccessPointManager::SetPreferredAccessPointInfo
  245.      * Purpose:
  246.      *      Tells the access point manager about the access 
  247.      *      point we would like it to connect to.
  248.      */
  249.     STDMETHOD(SetPreferredAccessPointInfo)(THIS_ IHXValues* pInfo) PURE;
  250. };
  251. #endif /* IHXACCESSPOINT_H */