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

org.bdware.irp.irpclient.ResponseWait Maven / Gradle / Ivy

package org.bdware.irp.irpclient;

import org.bdware.irp.irplib.core.IrpMessage;

import java.util.HashMap;
import java.util.Map;

public class ResponseWait {
    Map waitObj = new HashMap<>();

    public void wakeUpAndRemove(int requestID, IrpMessage result) {
        wakeup(requestID,result);
        waitObj.remove(requestID);
    }

    public boolean waitResponse(final int requestID, IrpMessageCallback cb) {
        if (!waitObj.containsKey(requestID)) {
            waitObj.put(requestID, cb);
            return true;
        }
        return false;
    }

    public void wakeup(int requestID, IrpMessage result) {
        IrpMessageCallback ob = waitObj.get(requestID);
        if (ob != null) ob.onResult(result);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy