summaryrefslogtreecommitdiffstats
path: root/chrome/test/activex_test_control/activex_test_control.idl
blob: 04a2f42cca144700a5be04c6ec92df430dee3666 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// Copyright 2008, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//    * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//    * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//    * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

// This file will be processed by the MIDL tool to
// produce the type library (activex_test_control.tlb) and marshalling code.

#include "olectl.h"
import "oaidl.idl";
import "ocidl.idl";

[
  object,
  uuid(9AC37249-E247-4B82-AC1E-0917737528E9),
  dual,
  nonextensible,
  helpstring("IChromeTestControl Interface"),
  pointer_default(unique)
]
interface IChromeTestControl : IDispatch{
  [propput, bindable, requestedit, id(DISPID_BACKCOLOR)]
  HRESULT BackColor([in]OLE_COLOR clr);
  [propget, bindable, requestedit, id(DISPID_BACKCOLOR)]
  HRESULT BackColor([out,retval]OLE_COLOR* pclr);
  [propput, bindable, requestedit, id(DISPID_BORDERCOLOR)]
  HRESULT BorderColor([in]OLE_COLOR clr);
  [propget, bindable, requestedit, id(DISPID_BORDERCOLOR)]
  HRESULT BorderColor([out, retval]OLE_COLOR* pclr);
  [propput, bindable, requestedit, id(DISPID_FORECOLOR)]
  HRESULT ForeColor([in]OLE_COLOR clr);
  [propget, bindable, requestedit, id(DISPID_FORECOLOR)]
  HRESULT ForeColor([out,retval]OLE_COLOR* pclr);
  [propput, bindable, requestedit, id(DISPID_CAPTION)]
  HRESULT Caption([in]BSTR strCaption);
  [propget, bindable, requestedit, id(DISPID_CAPTION)]
  HRESULT Caption([out,retval]BSTR* pstrCaption);
  [propget, id(1), helpstring("property StringProp")] HRESULT StringProp([out, retval] BSTR* pVal);
  [propput, id(1), helpstring("property StringProp")] HRESULT StringProp([in] BSTR newVal);
  [propget, id(2), helpstring("property LongProp")] HRESULT LongProp([out, retval] LONG* pVal);
  [propput, id(2), helpstring("property LongProp")] HRESULT LongProp([in] LONG newVal);
  [propget, id(3), helpstring("property DoubleProp")] HRESULT DoubleProp([out, retval] DOUBLE* pVal);
  [propput, id(3), helpstring("property DoubleProp")] HRESULT DoubleProp([in] DOUBLE newVal);
  [propget, id(4), helpstring("property BoolProp")] HRESULT BoolProp([out, retval] VARIANT_BOOL* pVal);
  [propput, id(4), helpstring("property BoolProp")] HRESULT BoolProp([in] VARIANT_BOOL newVal);
  [propget, id(5), helpstring("property ByteProp")] HRESULT ByteProp([out, retval] BYTE* pVal);
  [propput, id(5), helpstring("property ByteProp")] HRESULT ByteProp([in] BYTE newVal);
  [propget, id(6), helpstring("property FloatProp")] HRESULT FloatProp([out, retval] FLOAT* pVal);
  [propput, id(6), helpstring("property FloatProp")] HRESULT FloatProp([in] FLOAT newVal);
  [id(7), helpstring("method BigSetMethod")] HRESULT BigSetMethodRet([in] BSTR string_param, [in] BYTE byte_param, [in] FLOAT float_param, [in] VARIANT_BOOL bool_param, [out,retval] BSTR* ret);
  [id(8), helpstring("method SetByte")] HRESULT SetByte([in] BYTE val);
  [id(9), helpstring("method SetByteRet")] HRESULT SetByteRet([in] BYTE byte_param, [out,retval] BYTE* ret);
  [id(10), helpstring("method SetStringRet")] HRESULT SetStringRet([in] BSTR val, [out,retval] BSTR* ret);
  [id(11), helpstring("method GetCookie")] HRESULT GetCookie([out,retval] BSTR* cookie);
};

[
  uuid(83D767F4-5C4F-4ACA-B0E8-928C54845C33),
  version(1.0),
  helpstring("activex_test_control 1.0 Type Library")
]
library activex_test_controlLib
{
  importlib("stdole2.tlb");
  [
    uuid(EF88DE01-35AF-463F-9802-1BF908F48696),
    helpstring("_IChromeTestControlEvents Interface")
  ]
  dispinterface _IChromeTestControlEvents
  {
    properties:
    methods:
  };
  [
    uuid(4E174456-5EE6-494D-B6F2-2B52898A620E),
    control,
    helpstring("ChromeTestControl Class")
  ]
  coclass ChromeTestControl
  {
    [default] interface IChromeTestControl;
    [default, source] dispinterface _IChromeTestControlEvents;
  };
};