/******************************************************************************* * Copyright (c) 2007, 2009 Wind River Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ package org.eclipse.cdt.dsf.debug.internal.ui.disassembly.text; import java.io.IOException; /** * IFileRider */ public interface IFileRider { /** Set rider to position * @param pos is normalized to be in range [0, f.length()] */ public abstract void seek(int pos) throws IOException; /** * Write a char. * @param c */ public abstract void writeChar(char c) throws IOException; /** * Write a character array. * @param buf * @throws IOException */ public abstract void writeChars(char[] buf) throws IOException; /** * Write n characters of an array of characters. * @param buf * @param n * @throws IOException */ public abstract void writeChars(char[] buf, int n) throws IOException; /** * Write n characters of an array of characters starting at an offset. * @param buf * @param off * @param n * @throws IOException */ public abstract void writeChars(char[] buf, int off, int n) throws IOException; /** * Write n characters of a String starting at an offset. * @param buf * @param off * @param n * @throws IOException */ public abstract void writeChars(String buf, int off, int n) throws IOException; /** * Read next character. * @return next char in buffer. * @throws IOException */ public abstract char readChar() throws IOException; /** * Read as much characters as possible into a char array. * @param buf * @throws IOException */ public abstract void readChars(char[] buf) throws IOException; /** * Read n characters into character array. * @param buf * @param n * @throws IOException */ public abstract void readChars(char[] buf, int n) throws IOException; /** * Read n characters into char array. * @param buf * @param off * @param n * @throws IOException */ public abstract void readChars(char[] buf, int off, int n) throws IOException; /** * Read n characters into StringBuffer. * @param buf * @param from * @param n * @throws IOException */ public abstract void readChars(StringBuffer buf, int n) throws IOException; /** * @return length of file */ public abstract int length(); /** * @return length limit of file */ public abstract int limit(); /** * @return whether this rider is readonly or not */ public abstract boolean isReadonly(); }