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