diff --git a/src/main/java/com/pusher/client/Client.java b/src/main/java/com/pusher/client/Client.java new file mode 100644 index 00000000..5b9b2fa9 --- /dev/null +++ b/src/main/java/com/pusher/client/Client.java @@ -0,0 +1,33 @@ +package com.pusher.client; + +import com.pusher.client.channel.Channel; +import com.pusher.client.channel.ChannelEventListener; +import com.pusher.client.channel.PresenceChannel; +import com.pusher.client.channel.PresenceChannelEventListener; +import com.pusher.client.channel.PrivateChannel; +import com.pusher.client.channel.PrivateChannelEventListener; +import com.pusher.client.connection.Connection; +import com.pusher.client.connection.ConnectionEventListener; +import com.pusher.client.connection.ConnectionState; + +/** + * Created by jamiepatel on 09/06/2016. + */ +public interface Client { + Connection getConnection(); + void connect(); + void connect(final ConnectionEventListener eventListener, ConnectionState... connectionStates); + void disconnect(); + Channel subscribe(final String channelName); + Channel subscribe(final String channelName, final ChannelEventListener listener, final String... eventNames); + PrivateChannel subscribePrivate(final String channelName); + PrivateChannel subscribePrivate(final String channelName, final PrivateChannelEventListener listener, + final String... eventNames); + PresenceChannel subscribePresence(final String channelName); + PresenceChannel subscribePresence(final String channelName, final PresenceChannelEventListener listener, + final String... eventNames); + void unsubscribe(final String channelName); + Channel getChannel(String channelName); + PrivateChannel getPrivateChannel(String channelName); + PresenceChannel getPresenceChannel(String channelName); +} diff --git a/src/main/java/com/pusher/client/Pusher.java b/src/main/java/com/pusher/client/Pusher.java index 735700bc..08d906cf 100644 --- a/src/main/java/com/pusher/client/Pusher.java +++ b/src/main/java/com/pusher/client/Pusher.java @@ -33,7 +33,7 @@ * {@link Pusher#subscribePresence(String)} or one of the overloads. *

*/ -public class Pusher { +public class Pusher implements Client { private final PusherOptions pusherOptions; private final InternalConnection connection;