2010-07-20 Jessie Berlin <jberlin@apple.com>
[WebKit-https.git] / WebCore / bindings / scripts / test / CPP / WebDOMTestObj.h
1 /*
2  * Copyright (C) Research In Motion Limited 2010. All rights reserved.
3  * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
4  * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
5  * Copyright (C) Research In Motion Limited 2010. All rights reserved.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public License
18  * along with this library; see the file COPYING.LIB.  If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  * Boston, MA 02110-1301, USA.
21  */
22
23 #ifndef WebDOMTestObj_h
24 #define WebDOMTestObj_h
25
26 #include <WebDOMObject.h>
27 #include <WebDOMString.h>
28
29 namespace WebCore {
30 class TestObj;
31 };
32
33 class WebDOMEventListener;
34 class WebDOMIDBKey;
35 class WebDOMString;
36 class WebDOMTestObj;
37
38 class WebDOMTestObj : public WebDOMObject {
39 public:
40     WebDOMTestObj();
41     explicit WebDOMTestObj(WebCore::TestObj*);
42     WebDOMTestObj(const WebDOMTestObj&);
43     ~WebDOMTestObj();
44
45     enum {
46         WEBDOM_CONST_VALUE_0 = 0,
47         WEBDOM_CONST_VALUE_1 = 1,
48         WEBDOM_CONST_VALUE_2 = 2,
49         WEBDOM_CONST_VALUE_4 = 4,
50         WEBDOM_CONST_VALUE_8 = 8,
51         WEBDOM_CONST_VALUE_9 = -1,
52         WEBDOM_CONST_VALUE_10 = "my constant string",
53         WEBDOM_CONST_VALUE_11 = 0xffffffff,
54         WEBDOM_CONST_VALUE_12 = 0x01,
55         WEBDOM_CONST_VALUE_13 = 0X20,
56         WEBDOM_CONST_VALUE_14 = 0x1abc
57     };
58
59     int readOnlyIntAttr() const;
60     WebDOMString readOnlyStringAttr() const;
61     WebDOMTestObj readOnlyTestObjAttr() const;
62     int intAttr() const;
63     void setIntAttr(int);
64     long long longLongAttr() const;
65     void setLongLongAttr(long long);
66     unsigned long long unsignedLongLongAttr() const;
67     void setUnsignedLongLongAttr(unsigned long long);
68     WebDOMString stringAttr() const;
69     void setStringAttr(const WebDOMString&);
70     WebDOMTestObj testObjAttr() const;
71     void setTestObjAttr(const WebDOMTestObj&);
72     WebDOMString reflectedStringAttr() const;
73     void setReflectedStringAttr(const WebDOMString&);
74     int reflectedIntegralAttr() const;
75     void setReflectedIntegralAttr(int);
76     bool reflectedBooleanAttr() const;
77     void setReflectedBooleanAttr(bool);
78     WebDOMString reflectedURLAttr() const;
79     void setReflectedURLAttr(const WebDOMString&);
80     WebDOMString reflectedNonEmptyURLAttr() const;
81     void setReflectedNonEmptyURLAttr(const WebDOMString&);
82     WebDOMString reflectedStringAttr() const;
83     void setReflectedStringAttr(const WebDOMString&);
84     int reflectedCustomIntegralAttr() const;
85     void setReflectedCustomIntegralAttr(int);
86     bool reflectedCustomBooleanAttr() const;
87     void setReflectedCustomBooleanAttr(bool);
88     WebDOMString reflectedCustomURLAttr() const;
89     void setReflectedCustomURLAttr(const WebDOMString&);
90     WebDOMString reflectedCustomNonEmptyURLAttr() const;
91     void setReflectedCustomNonEmptyURLAttr(const WebDOMString&);
92     int attrWithGetterException() const;
93     void setAttrWithGetterException(int);
94     int attrWithSetterException() const;
95     void setAttrWithSetterException(int);
96     WebDOMString stringAttrWithGetterException() const;
97     void setStringAttrWithGetterException(const WebDOMString&);
98     WebDOMString stringAttrWithSetterException() const;
99     void setStringAttrWithSetterException(const WebDOMString&);
100     int customAttr() const;
101     void setCustomAttr(int);
102     WebDOMString scriptStringAttr() const;
103     int conditionalAttr1() const;
104     void setConditionalAttr1(int);
105     int conditionalAttr2() const;
106     void setConditionalAttr2(int);
107     int conditionalAttr3() const;
108     void setConditionalAttr3(int);
109     int description() const;
110     int id() const;
111     void setId(int);
112     WebDOMString hash() const;
113
114     void voidMethod();
115     void voidMethodWithArgs(int intArg, const WebDOMString& strArg, const WebDOMTestObj& objArg);
116     int intMethod();
117     int intMethodWithArgs(int intArg, const WebDOMString& strArg, const WebDOMTestObj& objArg);
118     WebDOMTestObj objMethod();
119     WebDOMTestObj objMethodWithArgs(int intArg, const WebDOMString& strArg, const WebDOMTestObj& objArg);
120     WebDOMTestObj methodThatRequiresAllArgs(const WebDOMString& strArg, const WebDOMTestObj& objArg);
121     WebDOMTestObj methodThatRequiresAllArgsAndThrows(const WebDOMString& strArg, const WebDOMTestObj& objArg);
122     void serializedValue(const WebDOMString& serializedArg);
123     void idbKey(const WebDOMIDBKey& key);
124     void methodWithException();
125     void customMethod();
126     void customMethodWithArgs(int intArg, const WebDOMString& strArg, const WebDOMTestObj& objArg);
127     void addEventListener(const WebDOMString& type, const WebDOMEventListener& listener, bool useCapture);
128     void removeEventListener(const WebDOMString& type, const WebDOMEventListener& listener, bool useCapture);
129     void withDynamicFrame();
130     void withDynamicFrameAndArg(int intArg);
131     void withDynamicFrameAndOptionalArg(int intArg, int optionalArg);
132     void withDynamicFrameAndUserGesture(int intArg);
133     void withDynamicFrameAndUserGestureASAD(int intArg, int optionalArg);
134     void withScriptStateVoid();
135     WebDOMTestObj withScriptStateObj();
136     void withScriptStateVoidException();
137     WebDOMTestObj withScriptStateObjException();
138     void withScriptExecutionContext();
139     void methodWithOptionalArg(int opt);
140     void methodWithNonOptionalArgAndOptionalArg(int nonOpt, int opt);
141     void methodWithNonOptionalArgAndTwoOptionalArgs(int nonOpt, int opt1, int opt2);
142
143     WebCore::TestObj* impl() const;
144
145 protected:
146     struct WebDOMTestObjPrivate;
147     WebDOMTestObjPrivate* m_impl;
148 };
149
150 WebCore::TestObj* toWebCore(const WebDOMTestObj&);
151 WebDOMTestObj toWebKit(WebCore::TestObj*);
152
153 #endif