001    package com.skype.ipc;
002    
003    import java.io.IOException;
004    
005    public interface Transport
006    {
007        /**
008         * brief Connects to skypekit. When this function returns successfully, you
009         * can start sending and receiving messages.
010         */
011        public boolean connect() throws IOException;
012    
013        /**
014         * Disconnects from skypekit
015         **/
016        public void disconnect() throws IOException;
017    
018        public boolean hasMore() throws IOException;
019    
020        /** \brief Read one byte. */
021        public int read() throws IOException;
022    
023        /** \brief Check value of next byte, but do not remove from stream. */
024        public int peek() throws IOException;
025    
026        /** \brief Read as many bytes as possible, but not more than num_bytes. */
027        public int read(int num_bytes, byte[] bytes) throws IOException;
028    
029        /**
030         * \brief Read number of bytes indicated. Block until all bytes collected.
031         * \returns number bytes read
032         */
033        public int read(int num_bytes, byte[] bytes, boolean require_num_bytes) throws IOException;
034    
035        /** \brief Write one byte. */
036        public boolean write(byte b) throws IOException;
037    
038        /** \brief Write buffer to stream. */
039        public boolean write(int num_bytes, byte[] bytes) throws IOException;
040    
041        /** \brief Check if the connection to SkypeKit is still there. */
042        public boolean isConnected() throws IOException;
043    
044        /** \brief start transport logging to two files based on logFileName path. */
045        public void startLogging(String logFileName);
046    }