/
AJIntervalAction.h
108 lines (75 loc) · 3.45 KB
/
AJIntervalAction.h
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
//
// AJIntervalAction.h
// OpenAphid
/*
Copyright 2012 Aphid Mobile
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef OpenAphid_AJIntervalAction_h
#define OpenAphid_AJIntervalAction_h
#include "AJOAObject.h"
#include "runtime/AJGlobalObject.h"
#include "runtime/Lookup.h"
#include "runtime/ObjectPrototype.h"
#include "wtf/AlwaysInline.h"
#include "Action.h"
#include "AJOABinding.h"
#include "OAUtil.h"
#include "AJFiniteTimeAction.h"
namespace Aphid {
class IntervalAction;
///-------------------------------------------------------------------------------------------------------------------
class AJIntervalAction : public AJFiniteTimeAction {
typedef AJFiniteTimeAction Base;
public:
AJIntervalAction(NonNullPassRefPtr<AJ::Structure> structure, AJOAGlobalObject* globalObject, PassRefPtr<IntervalAction> impl);
virtual ~AJIntervalAction();
virtual const AJ::ClassInfo* classInfo() const {return &s_info;}
static const AJ::ClassInfo s_info;
static const AJOABindingType s_type;
static AJ::AJObject* createPrototype(AJ::ExecState* exec, AJ::AJGlobalObject* globalObject);
virtual bool getOwnPropertySlot(AJ::ExecState* exec, const AJ::Identifier& propertyName, AJ::PropertySlot& slot);
virtual bool getOwnPropertyDescriptor(AJ::ExecState* exec, const AJ::Identifier& propertyName, AJ::PropertyDescriptor& descriptor);
virtual void put(AJ::ExecState* exec, const AJ::Identifier& propertyName, AJ::AJValue value, AJ::PutPropertySlot& slot);
IntervalAction* impl() const
{
return oa_cast<IntervalAction*>(Base::impl());
}
static PassRefPtr<AJ::Structure> createStructure(AJ::AJValue prototype)
{
return AJ::Structure::create(prototype, AJ::TypeInfo(AJ::ObjectType, StructureFlags), AnonymousSlotCount);
}
protected:
static const unsigned StructureFlags = AJ::OverridesGetOwnPropertySlot | Base::StructureFlags;
}; //class AJIntervalAction
///-------------------------------------------------------------------------------------------------------------------
class AJIntervalActionPrototype : public AJ::AJObject {
typedef AJ::AJObject Base;
public:
AJIntervalActionPrototype(NonNullPassRefPtr<AJ::Structure> structure);
virtual const AJ::ClassInfo* classInfo() const {return &s_info;}
static const AJ::ClassInfo s_info;
static PassRefPtr<AJ::Structure> createStructure(AJ::AJValue prototype)
{
return AJ::Structure::create(prototype, AJ::TypeInfo(AJ::ObjectType, StructureFlags), AnonymousSlotCount);
}
static AJObject* self(AJ::ExecState* exec, AJOAGlobalObject* globalObject)
{
return AJ::asObject(getOAStructure(AJIntervalActionBindingType, exec, globalObject)->storedPrototype());
}
protected:
static const unsigned StructureFlags = Base::StructureFlags;
}; //AJIntervalActionPrototype
///-------------------------------------------------------------------------------------------------------------------
IntervalAction* toIntervalAction(AJ::AJValue value);
#include "AJIntervalAction_properties.in.h"
} //namespace Aphid
#endif