/* * * Copyright (C) 2020, University of the Basque Country (UPV/EHU) * * Contact for licensing options: * * This file is part of MCOP MCPTT Client * * This is free software: you can redistribute it and/or modify it under the terms of * the GNU General Public License as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * This is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.doubango.ngn.services.mbms; import android.content.Context; import org.doubango.ngn.datatype.mbms.MbmsData; import org.doubango.ngn.services.INgnBaseService; import org.doubango.utils.Utils; import java.util.Iterator; import java.util.List; public interface IMyMbmsService extends INgnBaseService { final static String TAG = Utils.getTAG(IMyMbmsService.class.getCanonicalName()); public static final String MBMS_ACTION = TAG + ".MBMS_ACTION"; public static final String MBMS_SESSION_ID_ACTION = TAG + ".MBMS_SESSION_ID_ACTION"; public static final String MBMS_MEDIA_ACTION = TAG + ".MBMS_MEDIA_ACTION"; public static final String MBMS_NEWMESSAGE_MBMS = TAG + ".MBMS_NEWMESSAGE_MBMS"; public static final String MBMS_SESSION_ID_MBMS = TAG + ".MBMS_SESSION_ID_MBMS"; public static final String MBMS_MAP_MBMS = TAG + ".MBMS_MAP_MBMS"; public static final String MBMS_GROUP_ID_MBMS = TAG + ".MBMS_GROUP_ID_MBMS"; public static final String MBMS_PORT_MANAGER_MBMS = TAG + ".MBMS_PORT_MANAGER_MBMS"; public static final String MBMS_LOCAL_IFACE = TAG + ".MBMS_LOCAL_IFACE"; public static final String MBMS_LOCAL_IFACE_INDEX = TAG + ".MBMS_LOCAL_IFACE_INDEX"; public static final String MBMS_IP_MANAGER_MBMS = TAG + ".MBMS_IP_MANAGER_MBMS"; public static final String MBMS_P_ASSERTED_IDENTITY = TAG + ".MBMS_P_ASSERTED_IDENTITY"; public static final String MBMS_PORT_MEDIA_MBMS = TAG + ".MBMS_PORT_MEDIA_MBMS"; public static final String MBMS_PORT_CONTROL_MEDIA_MBMS = TAG + ".MBMS_PORT_CONTROL_MEDIA_MBMS"; public static final String MBMS_IP_MEDIA_MBMS = TAG + ".MBMS_IP_MEDIA_MBMS"; public static final String MBMS_TMGI_MBMS = TAG + ".MBMS_TMGI_MBMS"; public static final String MBMS_SERVICE_AREA_CANCELL = "0"; public static final int MBMS_DEFAULT_INT = -1; public static final String MBMS_CALL_ACTION_MANAGER_START = TAG + ".MBMS_CALL_ACTION_MANAGER_START"; public static final String MBMS_CALL_ACTION_MANAGER_STOP = TAG + ".MBMS_CALL_ACTION_MANAGER_STOP"; public static final String MBMS_CALL_ACTION_MEDIA_START = TAG + ".MBMS_CALL_ACTION_MEDIA_START"; //INIT service location MbmsData getMbmsDataOfTmgi(long tmgi); /** * it receive new service area * @param currentServiceArea * @return */ boolean onChangeServiceArea(int[] currentServiceArea,Context context); /** * New service area received * TODO: Temporal function * @param tmgi * @return */ void onReceiveMCCP(String tmgi,String ipMedia,int portMedia,int portControlMedia,Context context); void hangUpCallMbms(long sessionID); void stopServiceMbms(); //INIT EXTERNAL MBMS interface MbmsExternalServiceListener{ void startedClient(boolean status); void startedServer(boolean status); void startMbmsMedia(long sessionID,long tmgi); void stopMbmsMedia(long sessionID,long tmgi); boolean mbmsListeningServiceAreaCurrent(long TMGI, int[] sai, int[] frequencies); void stopServiceMBMS(); } void setMbmsExternalServiceListener(MbmsExternalServiceListener mbmsExternalServiceListener); //END EXTERNAL MBMS interface OnMbmsListener{ void onNewServiceArea(long TMGI, int[] sai, int[] frequencies, long QCI); } void setOnMbmsListener(OnMbmsListener onMbmsListener); Iterator getServiceAreas(); void startMbmsManager(String interfaceNet,long tmgi); void stopMbmsManager(long tmgi); List getTMGIs(int serviceAreaID); int[] getSais(long TMGI); int[] getFrequencies(long TMGI); }