
com.cosylab.epics.caj.impl.handlers.ResponseRequestExceptionHandler Maven / Gradle / Ivy
Go to download
JCA is an EPICS Channel Access library for Java. For more information concerning EPICS or Channel Access please refer to the <a href="http://www.aps.anl.gov/epics">EPICS Web pages</a> or read the <a href="http://www.aps.anl.gov/epics/base/R3-14/8-docs/CAref.html">Channel Access manual (3.14)</a>.
<p>This module also includes CAJ, A 100% pure Java implementation of the EPICS Channel Access library.</p>
/*
* Copyright (c) 2004 by Cosylab
*
* The full license specifying the redistribution, modification, usage and other
* rights and obligations is included with the distribution of this project in
* the file "LICENSE-CAJ". If the license is not included visit Cosylab web site,
* .
*
* THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, NOT EVEN THE
* IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR OF THIS SOFTWARE, ASSUMES
* _NO_ RESPONSIBILITY FOR ANY CONSEQUENCE RESULTING FROM THE USE, MODIFICATION,
* OR REDISTRIBUTION OF THIS SOFTWARE.
*/
package com.cosylab.epics.caj.impl.handlers;
import java.nio.ByteBuffer;
import com.cosylab.epics.caj.CAJContext;
import com.cosylab.epics.caj.impl.ExceptionHandler;
import com.cosylab.epics.caj.impl.ResponseRequest;
/**
* @author Matej Sekoranja
* @version $id$
*/
public class ResponseRequestExceptionHandler implements ExceptionHandler {
/**
* Context instance.
*/
protected CAJContext context;
/**
* @param context
*/
public ResponseRequestExceptionHandler(CAJContext context) {
this.context = context;
}
/**
* @see com.cosylab.epics.caj.impl.ExceptionHandler#handleException(int, int, java.lang.String, java.nio.ByteBuffer)
*/
public void handleException(
int errorCode,
int cid,
String errorMessage,
ByteBuffer originalHeaderBuffer) {
int ioid = originalHeaderBuffer.getInt(12);
ResponseRequest rr = (ResponseRequest)context.getResponseRequest(ioid);
if (rr == null)
return;
rr.exception(errorCode, errorMessage);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy