⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connectionmanagerservice.java

📁 国外的j2me播放器软件
💻 JAVA
字号:
package no.auc.one.portableplayer.lms;

import java.util.Hashtable;

import org.apache.log4j.Logger;

import no.auc.one.portableplayer.communication.upnphosting.*;


/**
 * ConnectionManagerService
 * @author zheng 
 */
public final class ConnectionManagerService extends UPnPHostingServiceBase{
	private static Logger LOG = Logger.getLogger("LMS/CMS");
    private static ConnectionManagerService selfRef = null;
    
	Hashtable actions;
    GetProtocolInfoAction getProtocolInfo=null;
    GetCurrentConnectionIDsAction getCurrentConnectionIds=null;
    GetCurrentConnectionInfoAction getCurrentConnectionInfo=null;
    
    public ConnectionManagerService(){
        getProtocolInfo=new GetProtocolInfoAction();
        getCurrentConnectionIds=new GetCurrentConnectionIDsAction();
        getCurrentConnectionInfo=new GetCurrentConnectionInfoAction();

        actions = new Hashtable(3);
        actions.put(getProtocolInfo.getName(),getProtocolInfo);
        actions.put(getCurrentConnectionIds.getName(),getCurrentConnectionIds);
        actions.put(getCurrentConnectionInfo.getName(),getCurrentConnectionInfo);
    }
    
    public String serviceType() {
        return "urn:schemas-upnp-org:service:ConnectionManager:1";
    }

    public String serviceId() {
        return "urn:upnp-org:serviceId:ConnectionManager";
    }

    public UPnPAction[] actionList() {
        return new UPnPAction[]{
                getProtocolInfo,
                getCurrentConnectionIds,
                getCurrentConnectionInfo};
    }

    public Hashtable actionTable() {
        return null;
    }                

    public UPnPStateVariable[] stateVariableList() {
        return new UPnPStateVariable[]{
            new UPnPStateVariable(
                "SourceProtocolInfo",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_STRING),
            new UPnPStateVariable(
                "SinkProtocolInfo",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_STRING),
            new UPnPStateVariable(
                "CurrentConnectionIDs",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_I4),
            new UPnPStateVariable(
                "A_ARG_TYPE_ConnectionStatus",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_STRING),
            new UPnPStateVariable(
                "A_ARG_TYPE_ConnectionManager",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_STRING),
            new UPnPStateVariable(
                "A_ARG_TYPE_Direction",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_STRING),
            new UPnPStateVariable(
                "A_ARG_TYPE_ProtocolInfo",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_STRING),
            new UPnPStateVariable(
                "A_ARG_TYPE_ConnectionID",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_I4),
            new UPnPStateVariable(
                "A_ARG_TYPE_AVTransportID",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_I4),
            new UPnPStateVariable(
                "A_ARG_TYPE_RcsID",
                UPnPStateVariable.STATEVARIABLE_DATATYPE_I4)};
    }
    
    /**
     * GetProtocolInfo----R
     */            
    private class GetProtocolInfoAction extends UPnPAction{
        public GetProtocolInfoAction() {
            super("GetProtocolInfo", new UPnPActionArgument[]{
                new UPnPActionArgument("Source",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"SourceProtocolInfo"),
                new UPnPActionArgument("Sink",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"SinkProtocolInfo")});                
        }

        public String getName(){
            return "GetProtocolInfo";
        }

        public void invoke(UPnPActionArgument[] args) {
            args[0].setValue(new String("http-get:*:audio/mpeg:*"));
        }                
    }
    
    /**
     * GetCurrentConnectionIDs------------R
     */
    private class GetCurrentConnectionIDsAction extends UPnPAction {
        public GetCurrentConnectionIDsAction() {
            super("GetCurrentConnectionIDs", new UPnPActionArgument[]{
                new UPnPActionArgument("ConnectionIDs",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"CurrentConnectionIDs")});
        }
    
        public String getName(){
            return "GetCurrentConnectionIDs";
        }

        public void invoke(UPnPActionArgument[] args) throws UPnPActionInvocationException {
            args[0].setValue(new Integer(0));
        }
    }

    /**
     * GetCurrentConnectionInfo---------R
     * 
     */
    private class GetCurrentConnectionInfoAction extends UPnPAction{
    
        public GetCurrentConnectionInfoAction() {
            super("GetCurrentConnectionInfo",new UPnPActionArgument[]{
                    new UPnPActionArgument("ConnectionID",UPnPActionArgument.ARGUMENT_DIRECTION_IN,"A_ARG_TYPE_ConnectionID"),
                    new UPnPActionArgument("RcsID",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"A_ARG_TYPE_RcsID"),
                    new UPnPActionArgument("AVTransportID",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"A_ARG_TYPE_AVTransportID"),
                    new UPnPActionArgument("ProtocolInfo",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"A_ARG_TYPE_ProtocolInfo"),
                    new UPnPActionArgument("PeerConnectionManager",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"A_ARG_TYPE_ConnectionManager"),
                    new UPnPActionArgument("PeerConnectionID",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"A_ARG_TYPE_ConnectionID"),
                    new UPnPActionArgument("Direction",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"A_ARG_TYPE_Direction"),
                    new UPnPActionArgument("Status",UPnPActionArgument.ARGUMENT_DIRECTION_OUT,"A_ARG_TYPE_ConnectionStatus")});
        }
        
        public String getName(){
            return "GetCurrentConnectionInfo";
        }

        public void invoke(UPnPActionArgument[] args) throws UPnPActionInvocationException {
            args[1].setValue(new Integer(-1));
            args[2].setValue(new Integer(-1));
            args[3].setValue(null);
            args[4].setValue(null);
            args[5].setValue(new Integer(-1));
            args[6].setValue(new String("Output"));
            args[7].setValue(new String("Unknown"));
        }
    }

	public static ConnectionManagerService getInstance() {
		if (selfRef  == null) {
			selfRef = new ConnectionManagerService();
		}
		
		return selfRef;
	}    
}        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -