public void remove(SharedStateBase sharedState)
 {
     useCouplingMode.Remove(sharedState);
     alwaysShare.Remove(sharedState);
     neverShare.Remove(sharedState);
     shareWithAll.Remove(sharedState);
 }
        public Tuple <SessionID, bool> add(SharedStateBase sharedState, SharedStateType mode)
        {
            switch (mode)
            {
            case SharedStateType.USE_COUPLING_MODE:
                useCouplingMode.Add(sharedState);
                return(new Tuple <SessionID, bool>(m_publicSessionID, m_muted));

            case SharedStateType.NEVER_SHARE:
                neverShare.Add(sharedState);
                return(new Tuple <SessionID, bool>(m_privateSessionID, false));

            case SharedStateType.ALWAYS_SHARE:
                alwaysShare.Add(sharedState);
                return(new Tuple <SessionID, bool>(m_publicSessionID, false));

            case SharedStateType.SHARE_WITH_ALL:
                shareWithAll.Add(sharedState);
                string    name = "all";
                SessionID sid  = new SessionID(0, name, false);
                return(new Tuple <SessionID, bool>(sid, false));
            }

            return(new Tuple <SessionID, bool>(m_privateSessionID, true));
        }