    001    package com.skype.ipc;
    002
    003    import java.io.IOException;
    004    //import java.util.ArrayList;
    005    //import java.lang.Boolean;
    006    //import java.lang.Integer;
    007    //import java.lang.Long;
    008    import java.lang.String;
    009    //import java.lang.ByteArray;
    010
    011    public interface Decoding {
    012            int decodeInt() throws IOException;
    013            int decodeUint() throws IOException;
    014            long decodeUint64() throws IOException;
    015            String decodeString() throws IOException;
    016            byte[] decodeBinary() throws IOException;
    017            void skipValue(final int kind) throws IOException;
    018
    019            byte[] getBinaryParm(final int tag, final boolean finalMarker) throws IOException;
    020            byte[] getBinaryParm(final int tag, final byte[] defaultValue, final boolean finalMarker) throws IOException;
    021    //      byte[][] getBinaryListParm(final int tag, final boolean finalMarker) throws IOException;
    022
    023            boolean getBoolParm(final int tag, final boolean finalMarker) throws IOException;
    024            boolean getBoolParm(final int tag, final boolean defaultValue, final boolean finalMarker) throws IOException;
    025            boolean[] getBoolListParm(int tag, boolean finalMarker) throws IOException;
    026
    027            EnumConverting getEnumParm(final int tag, final EnumConverting converter, final boolean finalMarker) throws IOException;
    028            EnumConverting getEnumParm(int tag, EnumConverting converter, int defaultValue, boolean finalMarker) throws IOException;
    029            <T extends EnumConverting> T[] getEnumListParm(final int tag, T converter, final boolean finalMarker) throws IOException;
    030
    031            int getIntParm(final int tag, final boolean finalMarker) throws IOException;
    032            int getIntParm(final int tag, final int defaultValue, final boolean finalMarker) throws IOException;
    033            int[] getIntListParm(final int tag, final boolean finalMarker) throws IOException;
    034
    035            int getUintParm(final int tag, final boolean finalMarker) throws IOException;
    036            int getUintParm(final int tag, final int defaultValue, final boolean finalMarker) throws IOException;
    037            int[] getUintListParm(final int tag, final boolean finalMarker) throws IOException;
    038
    039            long getUint64Parm(final int tag, final boolean finalMarker) throws IOException;
    040            long getUint64Parm(final int tag, final long defaultValue, final boolean finalMarker) throws IOException;
    041            long[] getUint64ListParm(final int tag, final boolean finalMarker) throws IOException;
    042
    043            SidObject getObjectParm(final int tag, final int module_id, final boolean finalMarker) throws IOException;
    044            SidObject[] getObjectListParm(final int tag, final int moduleId, final boolean finalMarker) throws IOException;
    045
    046            String getStringParm(final int tag, final boolean finalMarker) throws IOException;
    047            String getStringParm(final int tag, final String defaultValue, final boolean finalMarker) throws IOException;
    048            String[] getStringListParm(final int tag, final boolean finalMarker) throws IOException;
    049
    050            String getFilenameParm(final int tag, final boolean finalMarker) throws IOException;
    051            String getFilenameParm(final int tag, final String defaultValue, final boolean finalMarker) throws IOException;
    052            String[] getFilenameListParm(final int tag, final boolean finalMarker) throws IOException;
    053
    054            String getXmlParm(final int tag, final boolean finalMarker) throws IOException;
    055            String getXmlParm(final int tag, final String defaultValue, final boolean finalMarker) throws IOException;
    056            String[] getXmlListParm(final int tag, final boolean finalMarker) throws IOException;
    057
    058            void skipEndOfMessage() throws IOException;
    059            void skipEvent(final int modId) throws IOException;
    060
    061            int decodeTag() throws IOException;
    062
    063            boolean hasNextProperty(final boolean isGet) throws IOException;
    064            PropertyInfo getNextProperty() throws IOException;
    065
    066            int decodeResponse(final ClientDecodingListener l) throws IOException;
    067            Decoding decodeEvent(final ClientDecodingListener l) throws IOException;
    068            int getCommand();
    069    }
    070
    071