summaryrefslogtreecommitdiff
path: root/fxjs/cjs_return.h
diff options
context:
space:
mode:
Diffstat (limited to 'fxjs/cjs_return.h')
-rw-r--r--fxjs/cjs_return.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/fxjs/cjs_return.h b/fxjs/cjs_return.h
new file mode 100644
index 0000000000..61c5778cda
--- /dev/null
+++ b/fxjs/cjs_return.h
@@ -0,0 +1,34 @@
+// Copyright 2017 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef FXJS_CJS_RETURN_H_
+#define FXJS_CJS_RETURN_H_
+
+#include "fxjs/fxjs_v8.h"
+
+class CJS_Return {
+ public:
+ explicit CJS_Return(bool);
+ explicit CJS_Return(const WideString&);
+ explicit CJS_Return(v8::Local<v8::Value>);
+ CJS_Return(const CJS_Return&);
+ ~CJS_Return();
+
+ bool HasError() const { return is_error_; }
+ WideString Error() const { return error_; }
+
+ bool HasReturn() const { return !return_.IsEmpty(); }
+ v8::Local<v8::Value> Return() const { return return_; }
+
+ private:
+ CJS_Return() = delete;
+
+ bool is_error_ = false;
+ WideString error_;
+ v8::Local<v8::Value> return_;
+};
+
+#endif // FXJS_CJS_RETURN_H_