Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 #include <AdblockPlus/FileSystem.h> | 1 #include <AdblockPlus/FileSystem.h> |
2 #include <stdexcept> | 2 #include <stdexcept> |
3 #include <sstream> | 3 #include <sstream> |
4 #include <vector> | 4 #include <vector> |
5 | 5 |
6 #include "FileSystemJsObject.h" | 6 #include "FileSystemJsObject.h" |
7 #include "Utils.h" | 7 #include "Utils.h" |
8 #include "Thread.h" | 8 #include "Thread.h" |
9 #include "Utils.h" | 9 #include "Utils.h" |
10 | 10 |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
240 | 240 |
241 private: | 241 private: |
242 std::string path; | 242 std::string path; |
243 }; | 243 }; |
244 | 244 |
245 v8::Handle<v8::Value> ReadCallback(const v8::Arguments& arguments) | 245 v8::Handle<v8::Value> ReadCallback(const v8::Arguments& arguments) |
246 { | 246 { |
247 const v8::Handle<const v8::External> external = | 247 const v8::Handle<const v8::External> external = |
248 v8::Handle<const v8::External>::Cast(arguments.Data()); | 248 v8::Handle<const v8::External>::Cast(arguments.Data()); |
249 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); | 249 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); |
250 if (!arguments.Length() == 2) | 250 if (arguments.Length() != 2) |
Wladimir Palant
2013/04/16 13:03:41
Does this actually work? :)
arguments.Length() !=
Felix Dahlke
2013/04/16 14:00:09
lol, yeah it does, but it sure is weird :) Fixed i
Wladimir Palant
2013/04/16 14:10:13
Weird operator precedence rules then...
| |
251 return v8::ThrowException(v8::String::New( | 251 return v8::ThrowException(v8::String::New( |
252 "_fileSystem.read requires 2 parameters")); | 252 "_fileSystem.read requires 2 parameters")); |
253 const std::string path = Utils::FromV8String(arguments[0]); | 253 const std::string path = Utils::FromV8String(arguments[0]); |
254 v8::Handle<v8::Value> callbackValue = arguments[1]; | 254 v8::Handle<v8::Value> callbackValue = arguments[1]; |
255 if (!callbackValue->IsFunction()) | 255 if (!callbackValue->IsFunction()) |
256 return v8::ThrowException(v8::String::New( | 256 return v8::ThrowException(v8::String::New( |
257 "Second argument to _fileSystem.read must be a function")); | 257 "Second argument to _fileSystem.read must be a function")); |
258 v8::Handle<v8::Function> callback = | 258 v8::Handle<v8::Function> callback = |
259 v8::Handle<v8::Function>::Cast(callbackValue); | 259 v8::Handle<v8::Function>::Cast(callbackValue); |
260 ReadThread* const readThread = new ReadThread(*fileSystem, callback, path); | 260 ReadThread* const readThread = new ReadThread(*fileSystem, callback, path); |
261 readThread->Start(); | 261 readThread->Start(); |
262 return v8::Undefined(); | 262 return v8::Undefined(); |
263 } | 263 } |
264 | 264 |
265 v8::Handle<v8::Value> WriteCallback(const v8::Arguments& arguments) | 265 v8::Handle<v8::Value> WriteCallback(const v8::Arguments& arguments) |
266 { | 266 { |
267 const v8::Handle<const v8::External> external = | 267 const v8::Handle<const v8::External> external = |
268 v8::Handle<const v8::External>::Cast(arguments.Data()); | 268 v8::Handle<const v8::External>::Cast(arguments.Data()); |
269 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); | 269 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); |
270 if (!arguments.Length() == 3) | 270 if (arguments.Length() != 3) |
271 return v8::ThrowException(v8::String::New( | 271 return v8::ThrowException(v8::String::New( |
272 "_fileSystem.write requires 3 parameters")); | 272 "_fileSystem.write requires 3 parameters")); |
273 const std::string path = Utils::FromV8String(arguments[0]); | 273 const std::string path = Utils::FromV8String(arguments[0]); |
274 const std::string content = Utils::FromV8String(arguments[1]); | 274 const std::string content = Utils::FromV8String(arguments[1]); |
275 v8::Handle<v8::Value> callbackValue = arguments[2]; | 275 v8::Handle<v8::Value> callbackValue = arguments[2]; |
276 if (!callbackValue->IsFunction()) | 276 if (!callbackValue->IsFunction()) |
277 return v8::ThrowException(v8::String::New( | 277 return v8::ThrowException(v8::String::New( |
278 "Third argument to _fileSystem.write must be a function")); | 278 "Third argument to _fileSystem.write must be a function")); |
279 v8::Handle<v8::Function> callback = | 279 v8::Handle<v8::Function> callback = |
280 v8::Handle<v8::Function>::Cast(callbackValue); | 280 v8::Handle<v8::Function>::Cast(callbackValue); |
281 WriteThread* const writeThread = new WriteThread(*fileSystem, callback, | 281 WriteThread* const writeThread = new WriteThread(*fileSystem, callback, |
282 path, content); | 282 path, content); |
283 writeThread->Start(); | 283 writeThread->Start(); |
284 return v8::Undefined(); | 284 return v8::Undefined(); |
285 } | 285 } |
286 | 286 |
287 v8::Handle<v8::Value> MoveCallback(const v8::Arguments& arguments) | 287 v8::Handle<v8::Value> MoveCallback(const v8::Arguments& arguments) |
288 { | 288 { |
289 const v8::Handle<const v8::External> external = | 289 const v8::Handle<const v8::External> external = |
290 v8::Handle<const v8::External>::Cast(arguments.Data()); | 290 v8::Handle<const v8::External>::Cast(arguments.Data()); |
291 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); | 291 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); |
292 if (!arguments.Length() == 3) | 292 if (arguments.Length() != 3) |
293 return v8::ThrowException(v8::String::New( | 293 return v8::ThrowException(v8::String::New( |
294 "_fileSystem.move requires 3 parameters")); | 294 "_fileSystem.move requires 3 parameters")); |
295 const std::string fromPath = Utils::FromV8String(arguments[0]); | 295 const std::string fromPath = Utils::FromV8String(arguments[0]); |
296 const std::string toPath = Utils::FromV8String(arguments[1]); | 296 const std::string toPath = Utils::FromV8String(arguments[1]); |
297 v8::Handle<v8::Value> callbackValue = arguments[2]; | 297 v8::Handle<v8::Value> callbackValue = arguments[2]; |
298 if (!callbackValue->IsFunction()) | 298 if (!callbackValue->IsFunction()) |
299 return v8::ThrowException(v8::String::New( | 299 return v8::ThrowException(v8::String::New( |
300 "Third argument to _fileSystem.move must be a function")); | 300 "Third argument to _fileSystem.move must be a function")); |
301 v8::Handle<v8::Function> callback = | 301 v8::Handle<v8::Function> callback = |
302 v8::Handle<v8::Function>::Cast(callbackValue); | 302 v8::Handle<v8::Function>::Cast(callbackValue); |
303 MoveThread* const moveThread = new MoveThread(*fileSystem, callback, | 303 MoveThread* const moveThread = new MoveThread(*fileSystem, callback, |
304 fromPath, toPath); | 304 fromPath, toPath); |
305 moveThread->Start(); | 305 moveThread->Start(); |
306 return v8::Undefined(); | 306 return v8::Undefined(); |
307 } | 307 } |
308 | 308 |
309 v8::Handle<v8::Value> RemoveCallback(const v8::Arguments& arguments) | 309 v8::Handle<v8::Value> RemoveCallback(const v8::Arguments& arguments) |
310 { | 310 { |
311 const v8::Handle<const v8::External> external = | 311 const v8::Handle<const v8::External> external = |
312 v8::Handle<const v8::External>::Cast(arguments.Data()); | 312 v8::Handle<const v8::External>::Cast(arguments.Data()); |
313 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); | 313 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); |
314 if (!arguments.Length() == 2) | 314 if (arguments.Length() != 2) |
315 return v8::ThrowException(v8::String::New( | 315 return v8::ThrowException(v8::String::New( |
316 "_fileSystem.remove requires 2 parameters")); | 316 "_fileSystem.remove requires 2 parameters")); |
317 const std::string path = Utils::FromV8String(arguments[0]); | 317 const std::string path = Utils::FromV8String(arguments[0]); |
318 v8::Handle<v8::Value> callbackValue = arguments[1]; | 318 v8::Handle<v8::Value> callbackValue = arguments[1]; |
319 if (!callbackValue->IsFunction()) | 319 if (!callbackValue->IsFunction()) |
320 return v8::ThrowException(v8::String::New( | 320 return v8::ThrowException(v8::String::New( |
321 "Second argument to _fileSystem.remove must be a function")); | 321 "Second argument to _fileSystem.remove must be a function")); |
322 v8::Handle<v8::Function> callback = | 322 v8::Handle<v8::Function> callback = |
323 v8::Handle<v8::Function>::Cast(callbackValue); | 323 v8::Handle<v8::Function>::Cast(callbackValue); |
324 RemoveThread* const removeThread = new RemoveThread(*fileSystem, callback, | 324 RemoveThread* const removeThread = new RemoveThread(*fileSystem, callback, |
325 path); | 325 path); |
326 removeThread->Start(); | 326 removeThread->Start(); |
327 return v8::Undefined(); | 327 return v8::Undefined(); |
328 } | 328 } |
329 | 329 |
330 v8::Handle<v8::Value> StatCallback(const v8::Arguments& arguments) | 330 v8::Handle<v8::Value> StatCallback(const v8::Arguments& arguments) |
331 { | 331 { |
332 const v8::Handle<const v8::External> external = | 332 const v8::Handle<const v8::External> external = |
333 v8::Handle<const v8::External>::Cast(arguments.Data()); | 333 v8::Handle<const v8::External>::Cast(arguments.Data()); |
334 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); | 334 FileSystem* const fileSystem = static_cast<FileSystem*>(external->Value()); |
335 if (!arguments.Length() == 2) | 335 if (arguments.Length() != 2) |
336 return v8::ThrowException(v8::String::New( | 336 return v8::ThrowException(v8::String::New( |
337 "_fileSystem.stat requires 2 parameters")); | 337 "_fileSystem.stat requires 2 parameters")); |
338 const std::string path = Utils::FromV8String(arguments[0]); | 338 const std::string path = Utils::FromV8String(arguments[0]); |
339 v8::Handle<v8::Value> callbackValue = arguments[1]; | 339 v8::Handle<v8::Value> callbackValue = arguments[1]; |
340 if (!callbackValue->IsFunction()) | 340 if (!callbackValue->IsFunction()) |
341 return v8::ThrowException(v8::String::New( | 341 return v8::ThrowException(v8::String::New( |
342 "Second argument to _fileSystem.stat must be a function")); | 342 "Second argument to _fileSystem.stat must be a function")); |
343 v8::Handle<v8::Function> callback = | 343 v8::Handle<v8::Function> callback = |
344 v8::Handle<v8::Function>::Cast(callbackValue); | 344 v8::Handle<v8::Function>::Cast(callbackValue); |
345 StatThread* const statThread = new StatThread(*fileSystem, callback, path); | 345 StatThread* const statThread = new StatThread(*fileSystem, callback, path); |
(...skipping 15 matching lines...) Expand all Loading... | |
361 file->Set(v8::String::New("write"), | 361 file->Set(v8::String::New("write"), |
362 v8::FunctionTemplate::New(WriteCallback, fileSystemExternal)); | 362 v8::FunctionTemplate::New(WriteCallback, fileSystemExternal)); |
363 file->Set(v8::String::New("move"), | 363 file->Set(v8::String::New("move"), |
364 v8::FunctionTemplate::New(MoveCallback, fileSystemExternal)); | 364 v8::FunctionTemplate::New(MoveCallback, fileSystemExternal)); |
365 file->Set(v8::String::New("remove"), | 365 file->Set(v8::String::New("remove"), |
366 v8::FunctionTemplate::New(RemoveCallback, fileSystemExternal)); | 366 v8::FunctionTemplate::New(RemoveCallback, fileSystemExternal)); |
367 file->Set(v8::String::New("stat"), | 367 file->Set(v8::String::New("stat"), |
368 v8::FunctionTemplate::New(StatCallback, fileSystemExternal)); | 368 v8::FunctionTemplate::New(StatCallback, fileSystemExternal)); |
369 return handleScope.Close(file); | 369 return handleScope.Close(file); |
370 } | 370 } |
LEFT | RIGHT |