METHOD_RETURN_TYPE InputFileDriver::OpenFile(const ARGS_TYPE& args) { CREATE_ISOLATE_CONTEXT; CREATE_ESCAPABLE_SCOPE; if(args.Length() != 1 || !args[0]->IsString()) { THROW_EXCEPTION("wrong arguments. please provide a string for the file path"); SET_FUNCTION_RETURN_VALUE(UNDEFINED); } InputFileDriver* driver = ObjectWrap::Unwrap<InputFileDriver>(args.This()); if(!driver) { THROW_EXCEPTION("no driver created...please create one through Hummus"); SET_FUNCTION_RETURN_VALUE(UNDEFINED); } if(driver->OpenFile(*String::Utf8Value(args[0]->ToString())) != PDFHummus::eSuccess) { THROW_EXCEPTION("can't open file. make sure path exists"); SET_FUNCTION_RETURN_VALUE(UNDEFINED); } SET_FUNCTION_RETURN_VALUE(UNDEFINED); }
Handle<Value> InputFileDriver::OpenFile(const Arguments& args) { HandleScope scope; if(args.Length() != 1 || !args[0]->IsString()) { ThrowException(Exception::TypeError(String::New("wrong arguments. please provide a string for the file path"))); return scope.Close(Undefined()); } InputFileDriver* driver = ObjectWrap::Unwrap<InputFileDriver>(args.This()); if(!driver) { ThrowException(Exception::Error(String::New("no driver created...please create one through Hummus"))); return scope.Close(Undefined()); } if(!driver->OpenFile(*String::Utf8Value(args[0]->ToString())) != PDFHummus::eSuccess) { ThrowException(Exception::Error(String::New("can't open file. make sure path exists"))); return scope.Close(Undefined()); } return scope.Close(Undefined()); }
Handle<Value> InputFileDriver::New(const Arguments& args) { HandleScope scope; InputFileDriver* inputFile = new InputFileDriver(); if(args.Length() == 1 && args[0]->IsString()) inputFile->OpenFile(*String::Utf8Value(args[0]->ToString())); inputFile->Wrap(args.This()); return args.This(); }
METHOD_RETURN_TYPE InputFileDriver::New(const ARGS_TYPE& args) { CREATE_ISOLATE_CONTEXT; CREATE_ESCAPABLE_SCOPE; InputFileDriver* inputFile = new InputFileDriver(); if(args.Length() == 1 && args[0]->IsString()) inputFile->OpenFile(*String::Utf8Value(args[0]->ToString())); inputFile->Wrap(args.This()); SET_FUNCTION_RETURN_VALUE(args.This()); }
METHOD_RETURN_TYPE InputFileDriver::New(const ARGS_TYPE& args) { CREATE_ISOLATE_CONTEXT; CREATE_ESCAPABLE_SCOPE; EXPOSE_EXTERNAL_ARGS(ConstructorsHolder, externalHolder) InputFileDriver* inputFile = new InputFileDriver(); inputFile->holder = externalHolder; if(args.Length() == 1 && args[0]->IsString()) inputFile->OpenFile(*UTF_8_VALUE(args[0]->TO_STRING())); inputFile->Wrap(args.This()); SET_FUNCTION_RETURN_VALUE(args.This()) }