Index: include/v8.h |
=================================================================== |
--- include/v8.h (revision 5457) |
+++ include/v8.h (working copy) |
@@ -3196,7 +3196,35 @@ |
}; |
+/** |
+ * An interface for exporting data from V8, using "push" model. |
+ */ |
+class V8EXPORT OutputStream { |
+public: |
+ enum OutputEncoding { |
+ kAscii = 0 // 7-bit ASCII. |
+ }; |
+ enum WriteResult { |
+ kContinue = 0, |
+ kAbort = 1 |
+ }; |
+ virtual ~OutputStream() {} |
+ /** Notify about the end of stream. */ |
+ virtual void EndOfStream() = 0; |
+ /** Get preferred output chunk size. Called only once. */ |
+ virtual int GetChunkSize() { return 1024; } |
+ /** Get preferred output encoding. Called only once. */ |
+ virtual OutputEncoding GetOutputEncoding() { return kAscii; } |
+ /** |
+ * Writes the next chunk of snapshot data into the stream. Writing |
+ * can be stopped by returning kAbort as function result. EndOfStream |
+ * will not be called in case writing was aborted. |
+ */ |
+ virtual WriteResult WriteAsciiChunk(char* data, int size) = 0; |
+}; |
+ |
+ |
// --- I m p l e m e n t a t i o n --- |