1*c2c66affSColin Finck/* 2*c2c66affSColin Finck * Copyright (C) 2010 Alistair Leslie-Hughes 3*c2c66affSColin Finck * 4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or 5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public 6*c2c66affSColin Finck * License as published by the Free Software Foundation; either 7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version. 8*c2c66affSColin Finck * 9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful, 10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12*c2c66affSColin Finck * Lesser General Public License for more details. 13*c2c66affSColin Finck * 14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public 15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software 16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17*c2c66affSColin Finck */ 18*c2c66affSColin Finck 19*c2c66affSColin Finckimport "unknwn.idl"; 20*c2c66affSColin Finckimport "objidl.idl"; 21*c2c66affSColin Finckimport "oaidl.idl"; 22*c2c66affSColin Finck 23*c2c66affSColin Finck[ 24*c2c66affSColin Finck object, 25*c2c66affSColin Finck dual, 26*c2c66affSColin Finck uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8) 27*c2c66affSColin Finck] 28*c2c66affSColin Finckinterface IRequestDictionary : IDispatch 29*c2c66affSColin Finck{ 30*c2c66affSColin Finck [propget] 31*c2c66affSColin Finck HRESULT Item([in, optional] VARIANT Var, [retval, out] VARIANT *pVariantReturn); 32*c2c66affSColin Finck 33*c2c66affSColin Finck [restricted, propget] 34*c2c66affSColin Finck HRESULT _NewEnum([retval, out] IUnknown **ppEnumReturn); 35*c2c66affSColin Finck 36*c2c66affSColin Finck [propget] 37*c2c66affSColin Finck HRESULT Count([retval, out] int *count); 38*c2c66affSColin Finck 39*c2c66affSColin Finck [propget] 40*c2c66affSColin Finck HRESULT Key([in] VARIANT key, [retval, out] VARIANT *value); 41*c2c66affSColin Finck}; 42*c2c66affSColin Finck 43*c2c66affSColin Finck[ 44*c2c66affSColin Finck object, 45*c2c66affSColin Finck dual, 46*c2c66affSColin Finck uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8) 47*c2c66affSColin Finck] 48*c2c66affSColin Finckinterface IResponse : IDispatch 49*c2c66affSColin Finck{ 50*c2c66affSColin Finck [propget] 51*c2c66affSColin Finck HRESULT Buffer([retval, out] VARIANT_BOOL *is_buffering); 52*c2c66affSColin Finck 53*c2c66affSColin Finck [propput] 54*c2c66affSColin Finck HRESULT Buffer([in] VARIANT_BOOL is_buffering); 55*c2c66affSColin Finck 56*c2c66affSColin Finck [propget] 57*c2c66affSColin Finck HRESULT ContentType([retval, out] BSTR *content_type); 58*c2c66affSColin Finck 59*c2c66affSColin Finck [propput] 60*c2c66affSColin Finck HRESULT ContentType([in] BSTR content_type); 61*c2c66affSColin Finck 62*c2c66affSColin Finck [propget] 63*c2c66affSColin Finck HRESULT Expires([retval, out] VARIANT *minutes); 64*c2c66affSColin Finck 65*c2c66affSColin Finck [propput] 66*c2c66affSColin Finck HRESULT Expires([in] LONG minutes); 67*c2c66affSColin Finck 68*c2c66affSColin Finck [propget] 69*c2c66affSColin Finck HRESULT ExpiresAbsolute([retval, out] VARIANT *expires); 70*c2c66affSColin Finck 71*c2c66affSColin Finck [propput] 72*c2c66affSColin Finck HRESULT ExpiresAbsolute([in] DATE expires); 73*c2c66affSColin Finck 74*c2c66affSColin Finck [propget] 75*c2c66affSColin Finck HRESULT Cookies([retval, out] IRequestDictionary **cookies); 76*c2c66affSColin Finck 77*c2c66affSColin Finck [propget] 78*c2c66affSColin Finck HRESULT Status([retval, out] BSTR *status); 79*c2c66affSColin Finck 80*c2c66affSColin Finck [propput] 81*c2c66affSColin Finck HRESULT Status([in] BSTR status); 82*c2c66affSColin Finck 83*c2c66affSColin Finck [hidden] 84*c2c66affSColin Finck HRESULT Add([in] BSTR value, [in] BSTR name); 85*c2c66affSColin Finck 86*c2c66affSColin Finck HRESULT AddHeader([in] BSTR name, [in] BSTR value); 87*c2c66affSColin Finck 88*c2c66affSColin Finck HRESULT AppendToLog([in] BSTR log_entry); 89*c2c66affSColin Finck 90*c2c66affSColin Finck HRESULT BinaryWrite([in] VARIANT input); 91*c2c66affSColin Finck 92*c2c66affSColin Finck HRESULT Clear(); 93*c2c66affSColin Finck 94*c2c66affSColin Finck HRESULT End(); 95*c2c66affSColin Finck 96*c2c66affSColin Finck HRESULT Flush(); 97*c2c66affSColin Finck 98*c2c66affSColin Finck HRESULT Redirect(BSTR url); 99*c2c66affSColin Finck 100*c2c66affSColin Finck HRESULT Write([in] VARIANT text); 101*c2c66affSColin Finck 102*c2c66affSColin Finck [hidden] 103*c2c66affSColin Finck HRESULT WriteBlock([in] short block_number); 104*c2c66affSColin Finck 105*c2c66affSColin Finck HRESULT IsClientConnected([retval, out] VARIANT_BOOL *is_connected); 106*c2c66affSColin Finck 107*c2c66affSColin Finck [propget] 108*c2c66affSColin Finck HRESULT CharSet([retval, out] BSTR *charset); 109*c2c66affSColin Finck 110*c2c66affSColin Finck [propput] 111*c2c66affSColin Finck HRESULT CharSet([in] BSTR charset); 112*c2c66affSColin Finck 113*c2c66affSColin Finck HRESULT Pics([in] BSTR value); 114*c2c66affSColin Finck 115*c2c66affSColin Finck [propget] 116*c2c66affSColin Finck HRESULT CacheControl([retval, out] BSTR *cache_control); 117*c2c66affSColin Finck 118*c2c66affSColin Finck [propput] 119*c2c66affSColin Finck HRESULT CacheControl([in] BSTR cache_control); 120*c2c66affSColin Finck 121*c2c66affSColin Finck [propget] 122*c2c66affSColin Finck HRESULT CodePage([retval, out] LONG *codepage); 123*c2c66affSColin Finck 124*c2c66affSColin Finck [propput] 125*c2c66affSColin Finck HRESULT CodePage([in] LONG codepage); 126*c2c66affSColin Finck 127*c2c66affSColin Finck [propget] 128*c2c66affSColin Finck HRESULT LCID([retval, out] LONG *lcid); 129*c2c66affSColin Finck 130*c2c66affSColin Finck [propput] 131*c2c66affSColin Finck HRESULT LCID([in] LONG lcid); 132*c2c66affSColin Finck} 133