summaryrefslogtreecommitdiffstats
path: root/kjsembed/builtins/qfile_imp.h
blob: ae88dd52e6edc9a2a74749ec0b49a8a1dee8384a (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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148

  

#ifndef KJSEMBED_QFile_H
#define KJSEMBED_QFile_H

#include <kjs/interpreter.h>
#include <kjs/object.h>

#include <kjsembed/jsobjectproxy_imp.h>

class QFile;

/**
 * Namespace containing the KJSEmbed library.
 */
namespace KJSEmbed {

/**
 * Wrapper class for QFile methods.
 *
 * @author Richard Moore, rich@kde.org
 */
class QFileImp : public JSProxyImp
{
public:
   /** Enumerates the constructors supported by this class. */
   enum Constructors {
       Constructor_QFile_1,
       Constructor_QFile_2,

       LastConstuctor = -1
   };

   /** Enumerates the methods supported by this class. */
   enum Methods {

       Method_name_4,
       Method_setName_5,
       Method_exists_6,
       Method_remove_7,
       Method_open_8,
       Method_open_9,
       Method_open_10,
       Method_close_11,
       Method_flush_12,
       Method_size_13,
       Method_at_14,
       Method_at_15,
       Method_atEnd_16,
       Method_readBlock_17,
       Method_writeBlock_18,
       Method_writeBlock_19,
       Method_readLine_20,
       Method_readLine_21,
       Method_getch_22,
       Method_putch_23,
       Method_ungetch_24,
       Method_handle_25,
       Method_errorString_26,
       Method_encodeName_27,
       Method_decodeName_28,
       Method_setEncodingFunction_29,
       Method_setDecodingFunction_30,
       Method_exists_31,
       Method_remove_32,
       Method_Last = -1
   };

   QFileImp( KJS::ExecState *exec, int id, bool constructor=false );
   ~QFileImp();

   static void addBindings( KJS::ExecState *exec, KJS::Object &object );

   static QFile *toQFile( KJS::Object &object );

   //
   // Constructors implemented by this class.
   //

   KJS::Object QFile_1( KJS::ExecState *exec, const KJS::List &args );
   KJS::Object QFile_2( KJS::ExecState *exec, const KJS::List &args );

   //
   // Methods implemented by this class.
   //

   KJS::Value name_4( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value setName_5( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value exists_6( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value remove_7( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value open_8( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value open_9( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value open_10( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value close_11( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value flush_12( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value size_13( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value at_14( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value at_15( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value atEnd_16( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value readBlock_17( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value writeBlock_18( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value writeBlock_19( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value readLine_20( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value readLine_21( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value getch_22( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value putch_23( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value ungetch_24( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value handle_25( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value errorString_26( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value encodeName_27( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value decodeName_28( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value setEncodingFunction_29( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value setDecodingFunction_30( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value exists_31( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );
   KJS::Value remove_32( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args );

   //
   // JS binding code.
   //

   /** Returns true iff this object implements the construct function. */
   virtual bool implementsConstruct() const { return cons; }

   /** Invokes the construct function. */
   virtual KJS::Object construct( KJS::ExecState *exec, const KJS::List &args );

   /** Returns true iff this object implements the call function. */
   virtual bool implementsCall() const { return !cons; }

   /** Invokes the call function. */
   virtual KJS::Value call( KJS::ExecState *exec, KJS::Object &self, const KJS::List &args );

private:
   QFile *instance; // Temp
   int id;
   bool cons;
};

} // namespace KJSEmbed

#endif // KJSEMBED_QFile_H

// Local Variables:
// c-basic-offset: 4
// End: