package com.rnvideoiqrtc;

import android.widget.FrameLayout;

import java.util.concurrent.ConcurrentHashMap;

import videoiq_android.Controller.EnxPlayerView;
import videoiq_android.Controller.EnxStream;

public class VideoiqRN {
    public static VideoiqRN sharedState;


    private ConcurrentHashMap<String, FrameLayout> mPlayerViewContainers = new ConcurrentHashMap<>();
    private ConcurrentHashMap<String, EnxPlayerView> mLocalPlayerView = new ConcurrentHashMap<>();
    private ConcurrentHashMap<String, EnxStream> mLocalStream = new ConcurrentHashMap<>();
    private ConcurrentHashMap<String, EnxStream> mRemoteStream = new ConcurrentHashMap<>();


    public static synchronized VideoiqRN getSharedState() {

        if (sharedState == null) {
            sharedState = new VideoiqRN();
        }
        return sharedState;
    }

    public ConcurrentHashMap<String, FrameLayout> getStreamViewContainers() {

        return this.mPlayerViewContainers;
    }

    public ConcurrentHashMap<String, EnxPlayerView> getPlayerView() {

        return this.mLocalPlayerView;
    }

    public ConcurrentHashMap<String, EnxStream> getLocalStream() {

        return this.mLocalStream;
    }

    public ConcurrentHashMap<String, EnxStream> getRemoteStream() {

        return this.mRemoteStream;
    }

    private VideoiqRN() {
    }

}
