org.chromium.sdk/src/org/chromium/sdk/ConnectionLogger.java
changeset 52 f577ea64429e
parent 2 e4420d2515f1
--- a/org.chromium.sdk/src/org/chromium/sdk/ConnectionLogger.java	Wed Jan 27 10:42:14 2010 -0800
+++ b/org.chromium.sdk/src/org/chromium/sdk/ConnectionLogger.java	Wed Jan 27 15:45:27 2010 -0800
@@ -4,7 +4,6 @@
 
 package org.chromium.sdk;
 
-import java.io.Reader;
 import java.io.Writer;
 
 /**
@@ -21,14 +20,14 @@
    * @return new writer that should pass all data to {@code streamWriter} and
    * silently copy it elsewhere (without additional exceptions).
    */
-  Writer wrapWriter(Writer streamWriter);
+  LoggableWriter wrapWriter(LoggableWriter streamWriter);
 
   /**
    * @return new reader that should give access to all data
    * from {@code streamReader} and silently copy it elsewhere (without
    * additional exceptions).
    */
-  Reader wrapReader(Reader streamReader);
+  LoggableReader wrapReader(LoggableReader streamReader);
 
   /**
    * Connection may allow the logger to close it. It is nice for UI, where
@@ -65,4 +64,30 @@
      */
     ConnectionLogger newConnectionLogger();
   }
+
+  /**
+   * Reader that allows client to add marks to stream. These marks may become visible in log
+   * console.
+   */
+  interface LoggableReader {
+    LineReader getReader();
+
+    /**
+     * Add log mark at current reader's position.
+     */
+    void markSeparatorForLog();
+  }
+
+  /**
+   * Writer that allows client to add marks to stream. These marks may become visible in log
+   * console.
+   */
+  interface LoggableWriter {
+    Writer getWriter();
+
+    /**
+     * Add log mark at current writer's position.
+     */
+    void markSeparatorForLog();
+  }
 }