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

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. /*
  36.  *
  37.  * IHXHurl interface : Encapsulates the process of 'hurling'
  38.  * the user to a web page. The URL to hurl to can be a script
  39.  * returing a redirect URL. Data can be attached to the URL
  40.  * before the hurling.
  41.  *
  42.  *
  43.  */
  44. #ifndef _IHXHURL_H
  45. #define _IHXHURL_H
  46. #include "hxcom.h"
  47. // these are common parameter definitions when using SetData()
  48. // ADD ALPHABETICALLY by value, we don't want to duplicate a field name
  49. #define HXHURL_AUTHFAILEDCOMP      "AC"
  50. #define HXHURL_AUTHFAILEDVERS      "AV"
  51. #define HXHURL_PRIMARYBROWSER     "BR"
  52. #define HXHURL_PRIMARYBROWSERVER    "BV"
  53. #define HXHURL_CPU      "CP"
  54. #define HXHURL_CONNECTSPEED     "CS"
  55. #define HXHURL_DISTCODE     "DC"
  56. #define HXHURL_DDRAWVER      "DR"
  57. #define HXHURL_EXTRAINFO      "EI"
  58. #define HXHURL_ERROR      "ER"
  59. #define HXHURL_FREERAM      "FM"
  60. #define HXHURL_GUID      "GU"
  61. #define HXHURL_INSTCOMPONENTS     "IC"
  62. #define HXHURL_ITEMID      "ID"
  63. #define HXHURL_LANGPREF      "LP"
  64. #define HXHURL_PRODLANG      "LI"
  65. #define HXHURL_USERERRSTRING     "MI" // user-supplied error text
  66. #define HXHURL_MOREINFOURL     "MU" // user-supplied URL 
  67. #define HXHURL_ORIGCODE      "OC"
  68. #define HXHURL_OS      "OS"
  69. #define HXHURL_OSLANG      "OL"
  70. #define HXHURL_PRODNAME      "PN"
  71. #define HXHURL_PRODTYPE      "PT"
  72. #define HXHURL_PRODVER      "PV"
  73. #define HXHURL_PHYSRAM      "PR"
  74. #define HXHURL_SNDCARD      "SC"
  75. #define HXHURL_SNDCARD_DRVVER     "SV"
  76. #define HXHURL_PRODSERIAL      "SN"
  77. #define HXHURL_USERCODE     "UC"
  78. #define HXHURL_LASTURL      "UR"
  79. #define HXHURL_VIRTRAM      "VR"
  80. #define HXHURL_VIDCARD      "VC"
  81. #define HXHURL_VIDCARD_DRVVER "VV"
  82. #define HXHURL_COUNTRY     "CO"
  83. #define HXHURL_REGION      "RGN"
  84. // {A3028581-DB10-11d1-8F39-0060083BE561}
  85. DEFINE_GUID(IID_IHXHurlResponse, 
  86. 0xa3028581, 0xdb10, 0x11d1, 0x8f, 0x39, 0x0, 0x60, 0x8, 0x3b, 0xe5, 0x61);
  87. #undef  INTERFACE
  88. #define INTERFACE IHXHurlResponse
  89. DECLARE_INTERFACE_(IHXHurlResponse, IUnknown)
  90. {
  91.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
  92.     STDMETHOD_(ULONG32, AddRef) (THIS) PURE;
  93.     STDMETHOD_(ULONG32, Release) (THIS) PURE;
  94.     // Callback to say whether the hurl suceeded or not.
  95.     STDMETHOD(OnHurlDone) (THIS_ HX_RESULT status) PURE;
  96. };
  97. // {B16C0330-B2EC-11d1-8EFD-0060083BE561}
  98. DEFINE_GUID(IID_IHXHurl, 0xb16c0330, 0xb2ec, 0x11d1, 0x8e, 0xfd, 0x0, 0x60, 0x8, 0x3b, 0xe5, 0x61);
  99. #undef  INTERFACE
  100. #define INTERFACE IHXHurl
  101. DECLARE_INTERFACE_(IHXHurl, IUnknown)
  102. {
  103.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
  104.     STDMETHOD_(ULONG32, AddRef) (THIS) PURE;
  105.     STDMETHOD_(ULONG32, Release) (THIS) PURE;
  106. // add name/value pairs to the hurl.
  107. STDMETHOD(SetData) (THIS_
  108. const char* szName,
  109. const char* szValue
  110. ) PURE;
  111. STDMETHOD(SetDataUINT32) (THIS_
  112. const char* szName,
  113. UINT32 nValue
  114. ) PURE;
  115. // After Setting any additional data you want sent with the
  116. // hurl, perform the hurl.
  117. STDMETHOD(Hurl) (THIS) PURE;
  118. // set the URL to which to hurl  ;-)..
  119. STDMETHOD(SetUrl) ( THIS_ const char* szUrl ) PURE;
  120. STDMETHOD(GetUrl) ( THIS_ const char** szUrl) PURE;
  121. // Get the Hurl ready to do another hurl, cancels any pending
  122. // hurl that this object is managing.
  123. STDMETHOD(Reset) (THIS) PURE;
  124. // Register response object if needed.
  125. STDMETHOD(SetResponse) ( THIS_ IHXHurlResponse* pIResponse) PURE;
  126. };
  127. // {7F108C4B-A684-4cad-A97A-E3AC2898ABC5}
  128. DEFINE_GUID(IID_IHXHurl2, 0x7f108c4b, 0xa684, 0x4cad, 0xa9, 0x7a, 0xe3, 0xac, 0x28, 0x98, 0xab, 0xc5);
  129. DECLARE_INTERFACE_(IHXHurl2, IHXHurl)
  130. {
  131.     //sets the target window for hurling
  132.     STDMETHOD(SetTarget) ( THIS_ const char* szTarget) PURE;
  133. };
  134. #endif