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

Symbian

开发平台:

C/C++

  1. /* ***** BEGIN LICENSE BLOCK ***** 
  2.  * Version: RCSL 1.0/RPSL 1.0 
  3.  *  
  4.  * Portions Copyright (c) 1995-2002 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 _HXHYPER_H_
  36. #define _HXHYPER_H_
  37. /*
  38.  * Forward declarations of some interfaces defined or used here-in.
  39.  */
  40. typedef _INTERFACE   IUnknown IUnknown;
  41. typedef _INTERFACE   IHXValues IHXValues;
  42. typedef _INTERFACE   IHXHyperNavigate IHXHyperNavigate;
  43. /****************************************************************************
  44.  * 
  45.  *  Interface:
  46.  * 
  47.  * IHXHyperNavigate
  48.  * 
  49.  *  Purpose:
  50.  * 
  51.  * Allows you to perform simple "Go to URL" operations.
  52.  * 
  53.  *  IID_IHXHyperNavigate:
  54.  * 
  55.  * {00000900-0901-11d1-8B06-00A024406D59}
  56.  * 
  57.  */
  58. DEFINE_GUID(IID_IHXHyperNavigate, 0x00000900, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  59. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  60. #undef  INTERFACE
  61. #define INTERFACE   IHXHyperNavigate
  62. DECLARE_INTERFACE_(IHXHyperNavigate, IUnknown)
  63. {
  64.     /*
  65.      * IUnknown methods
  66.      */
  67.     STDMETHOD(QueryInterface) (THIS_
  68. REFIID riid,
  69. void** ppvObj) PURE;
  70.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  71.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  72.     /*
  73.      * IHXHyperNavigate methods
  74.      */
  75.     /************************************************************************
  76.      * Method:
  77.      *     IHXHyperNavigate::GoToURL
  78.      * Purpose:
  79.      *     Performs a simple Go To URL operation.
  80.      * Parameters:
  81.      *      pURL: fully qualified URL such as http://www.real.com
  82.      *     pTarget: target frame.  To not use a frame, set this to NULL
  83.      */
  84.     STDMETHOD(GoToURL)     (THIS_
  85.     const char* pURL,
  86.     const char* pTarget) PURE;
  87. };
  88. // $Private:
  89. #define URL_COMMAND "command:"
  90. // $EndPrivate.
  91. // $Private:
  92. /* This will be made public post Redstone Beta 1 XXXRA */
  93. /****************************************************************************
  94.  * 
  95.  *  Interface:
  96.  * 
  97.  * IHXHyperNavigate2
  98.  * 
  99.  *  Purpose:
  100.  * 
  101.  * Allows you to perform advanced operations for a given URL.
  102.  * 
  103.  *  IID_IHXHyperNavigate2:
  104.  * 
  105.  * {00000901-0901-11d1-8B06-00A024406D59}
  106.  * 
  107.  */
  108. DEFINE_GUID(IID_IHXHyperNavigate2, 0x00000901, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  109. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  110. #undef  INTERFACE
  111. #define INTERFACE   IHXHyperNavigate2
  112. DECLARE_INTERFACE_(IHXHyperNavigate2, IUnknown)
  113. {
  114.     /*
  115.      * IUnknown methods
  116.      */
  117.     STDMETHOD(QueryInterface) (THIS_
  118. REFIID riid,
  119. void** ppvObj) PURE;
  120.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  121.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  122.     /*
  123.      * IHXHyperNavigate2 methods
  124.      */
  125.     /************************************************************************
  126.      * Method:
  127.      *     IHXHyperNavigate2::Execute
  128.      * Purpose:
  129.      *     
  130.      * Parameters:
  131.      *      pURL:     URL (absolute or relative)
  132.      *     pTargetInstance:
  133.      *     pTargetApplication: 
  134.      *     pTargetRegion:
  135.      *     pParams:
  136.      */
  137.     STDMETHOD(Execute)     (THIS_
  138.     const char* pURL,
  139.     const char* pTargetInstance,
  140.     const char* pTargetApplication,
  141.     const char* pTargetRegion,
  142.     IHXValues* pParams) PURE;
  143. };
  144. /****************************************************************************
  145.  * 
  146.  *  Interface:
  147.  * 
  148.  * IHXHyperNavigateWithContext
  149.  * 
  150.  *  Purpose:
  151.  * 
  152.  * Allows you to perform advanced operations for a given URL.
  153.  * 
  154.  *  IID_IHXHyperNavigateWithContext:
  155.  * 
  156.  * {00000902-0901-11d1-8B06-00A024406D59}
  157.  * 
  158.  */
  159. DEFINE_GUID(IID_IHXHyperNavigateWithContext, 0x00000902, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
  160. 0xa0, 0x24, 0x40, 0x6d, 0x59);
  161. #undef  INTERFACE
  162. #define INTERFACE   IHXHyperNavigateWithContext
  163. DECLARE_INTERFACE_(IHXHyperNavigateWithContext, IUnknown)
  164. {
  165.     /*
  166.      * IUnknown methods
  167.      */
  168.     STDMETHOD(QueryInterface) (THIS_
  169. REFIID riid,
  170. void** ppvObj) PURE;
  171.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  172.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  173.     /*
  174.      * IHXHyperNavigateWithContext methods
  175.      */
  176.     /************************************************************************
  177.      * Method:
  178.      *     IHXHyperNavigateWithContext::ExecuteWithContext
  179.      * Purpose:
  180.      *     
  181.      * Parameters:
  182.      *      pURL:     URL (absolute or relative)
  183.      *     pTargetInstance:
  184.      *     pTargetApplication: 
  185.      *     pTargetRegion:
  186.      *     pParams:
  187.      *     pContext:
  188.      */
  189.     STDMETHOD(ExecuteWithContext)   (THIS_
  190.     const char* pURL,
  191.     const char* pTargetInstance,
  192.     const char* pTargetApplication,
  193.     const char* pTargetRegion,
  194.     IHXValues* pParams,
  195.     IUnknown* pContext) PURE;
  196. };
  197. /****************************************************************************
  198.  * 
  199.  *  Interface:
  200.  * 
  201.  * IHXHyperNavigateHint
  202.  * 
  203.  *  Purpose:
  204.  * 
  205.  * Passes future URLs which *may* be hurled
  206.  * 
  207.  *  IID_IHXHyperNavigateHint:
  208.  * 
  209.  * {D6507709-F344-4011-94EE-5737D378EC4A}
  210.  * 
  211.  */
  212. DEFINE_GUID(IID_IHXHyperNavigateHint, 0xd6507709, 0xf344, 0x4011, 0x94, 0xee, 0x57,
  213.                         0x37, 0xd3, 0x78, 0xec, 0x4a);
  214. #undef  INTERFACE
  215. #define INTERFACE   IHXHyperNavigateHint
  216. DECLARE_INTERFACE_(IHXHyperNavigateHint, IUnknown)
  217. {
  218.     /*
  219.      * IUnknown methods
  220.      */
  221.     STDMETHOD(QueryInterface) (THIS_
  222. REFIID riid,
  223. void** ppvObj) PURE;
  224.     STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
  225.     STDMETHOD_(ULONG32,Release) (THIS) PURE;
  226.     /*
  227.      * IHXHyperNavigateHint methods
  228.      */
  229.     /************************************************************************
  230.      * Method:
  231.      *     IHXHyperNavigateHint::Hint
  232.      * Purpose:
  233.      *     
  234.      * Parameters:
  235.      *      pURL:     URL (absolute or relative)
  236.      *     pTarget:     target for URL
  237.      *     pParams:        parameters on URL. Currently supported keys include:
  238.      *                           "width":  desired width of target window (ULONG32)
  239.      *                           "height": desired height of target window (ULONG32)
  240.      *                           "begin":  time at which URL will be fired (ULONG32)
  241.      *                                     (0xFFFFFFFF if not known)
  242.      */
  243.     STDMETHOD(Hint) (THIS_ const char* pURL,
  244.                            const char* pTarget,
  245.                            IHXValues*  pParams) PURE;
  246. };
  247. // $EndPrivate.
  248. #endif /* _HXHYPER_H_ */