All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.relayr.java.api.mock.MockChannelApi Maven / Gradle / Ivy

package io.relayr.java.api.mock;

import com.google.gson.reflect.TypeToken;

import javax.inject.Inject;

import io.relayr.java.api.ChannelApi;
import io.relayr.java.model.channel.ChannelDefinition;
import io.relayr.java.model.channel.ExistingChannel;
import io.relayr.java.model.channel.DataChannel;
import io.relayr.java.model.channel.PublishChannel;
import rx.Observable;
import rx.Subscriber;

public class MockChannelApi implements ChannelApi {

    private final MockBackend mMockBackend;

    @Inject
    public MockChannelApi(MockBackend mockBackend) {
        mMockBackend = mockBackend;
    }

    @Override
    public Observable create(ChannelDefinition mqttDefinition) {
        return mMockBackend.createObservable(new TypeToken() {
        }, MockBackend.MQTT_CREDENTIALS);
    }

    @Override
    public Observable delete(String channelId) {
        return Observable.create(new Observable.OnSubscribe() {
            @Override
            public void call(Subscriber subscriber) {
                subscriber.onNext(null);
                subscriber.onCompleted();
            }
        });
    }

    @Override
    public Observable getChannels(String deviceId) {
        return Observable.empty();
    }

    @Override
    public Observable createForDevice(ChannelDefinition mqttDefinition, String deviceId) {
        return mMockBackend.createObservable(new TypeToken() {
        }, MockBackend.MQTT_DEVICE_CHANNEL);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy