gov.aps.epics.jca.jni
Class JNIContextTCI

java.lang.Object
  |
  +--gov.aps.epics.jca.Context
        |
        +--gov.aps.epics.jca.jni.JNIContext
              |
              +--gov.aps.epics.jca.jni.JNIContextTCI
All Implemented Interfaces:
CaConstants, java.lang.Runnable

public class JNIContextTCI
extends JNIContext
implements java.lang.Runnable


Field Summary
protected  int _callback
           
protected  boolean _keepRunning
           
protected  java.lang.String _name
           
protected static int _num
           
protected  java.util.LinkedList _requestQueue
           
protected  java.lang.Thread _thread
           
 
Fields inherited from class gov.aps.epics.jca.jni.JNIContext
_ctxtID, _exceptionListener, _messageListener
 
Fields inherited from class gov.aps.epics.jca.Context
_contextMap
 
Fields inherited from interface gov.aps.epics.jca.CaConstants
CA_K_ERROR, CA_K_FATAL, CA_K_INFO, CA_K_SEVERE, CA_K_SUCCESS, CA_K_WARNING, CA_M_ERROR, CA_M_LEVEL, CA_M_MSG_NO, CA_M_SEVERE, CA_M_SEVERITY, CA_M_SUCCESS, CA_OP_ADD_MONITOR, CA_OP_CLEAR_MONITOR, CA_OP_CONN_DOWN, CA_OP_CONN_UP, CA_OP_FIRST, CA_OP_GET, CA_OP_LAST, CA_OP_OTHER, CA_OP_PUT, CA_OP_SEARCH, CA_OP_STRING, CA_V_MSG_NO, CA_V_SEVERITY, CA_V_SUCCESS, CALLBACK_MODE_FIRST, CALLBACK_MODE_LAST, CALLBACK_MODE_STRING, CS_CLOSED, CS_CONN, CS_FIRST, CS_LAST, CS_NEVER_CONN, CS_PREV_CONN, CS_STRING, DBE_ALARM, DBE_LOG, DBE_VALUE, DBR_BYTE, DBR_CTRL_BYTE, DBR_CTRL_DOUBLE, DBR_CTRL_ENUM, DBR_CTRL_FLOAT, DBR_CTRL_INT, DBR_CTRL_SHORT, DBR_CTRL_STRING, DBR_DOUBLE, DBR_ENUM, DBR_FIRST, DBR_FLOAT, DBR_GR_BYTE, DBR_GR_DOUBLE, DBR_GR_FLOAT, DBR_GR_INT, DBR_GR_SHORT, DBR_GR_STRING, DBR_INT, DBR_LABELS_ENUM, DBR_LAST, DBR_PUT_ACKS, DBR_PUT_ACKT, DBR_SHORT, DBR_STRING, DBR_STS_BYTE, DBR_STS_DOUBLE, DBR_STS_ENUM, DBR_STS_FLOAT, DBR_STS_INT, DBR_STS_SHORT, DBR_STS_STRING, DBR_STSACK_STRING, DBR_TIME_BYTE, DBR_TIME_DOUBLE, DBR_TIME_ENUM, DBR_TIME_FLOAT, DBR_TIME_INT, DBR_TIME_SHORT, DBR_TIME_STRING, DBR_TYPE_STRING, DISABLE_PREEMPTIVE_CALLBACK, ECA_ADDFAIL, ECA_ALLOCMEM, ECA_ANACHRONISM, ECA_BADCHID, ECA_BADCOUNT, ECA_BADFUNCPTR, ECA_BADMASK, ECA_BADMONID, ECA_BADPRIORITY, ECA_BADSTR, ECA_BADSYNCGRP, ECA_BADTYPE, ECA_BUILDGET, ECA_CHANDESTROY, ECA_CHIDNOTFND, ECA_CHIDRETRY, ECA_CONN, ECA_DBLCHNL, ECA_DBLCLFAIL, ECA_DEFUNCT, ECA_DISCONN, ECA_DISCONNCHID, ECA_DLCKREST, ECA_EMPTYSTR, ECA_EVDISALLOW, ECA_FIRST, ECA_GETFAIL, ECA_INTERNAL, ECA_IODONE, ECA_IOINPROGRESS, ECA_ISATTACHED, ECA_LAST, ECA_MAXIOC, ECA_MESSAGE_STRING, ECA_NEEDSFP, ECA_NEWADDR, ECA_NEWCONN, ECA_NOCACTX, ECA_NOCAST, ECA_NOCHANMSG, ECA_NOCONVERT, ECA_NORDACCESS, ECA_NOREPEATER, ECA_NORMAL, ECA_NOSEARCHADDR, ECA_NOSUPPORT, ECA_NOTINSERVICE, ECA_NOTTHREADED, ECA_NOWTACCESS, ECA_OVEVFAIL, ECA_PUTCBINPROG, ECA_PUTFAIL, ECA_SERVBEHIND, ECA_SOCK, ECA_STRTOBIG, ECA_TIMEOUT, ECA_TOLARGE, ECA_UKNCHAN, ECA_UKNFIELD, ECA_UKNHOST, ECA_UKNSERV, ENABLE_PREEMPTIVE_CALLBACK, THREAD_CTRL_EXTERNAL, THREAD_CTRL_FIRST, THREAD_CTRL_INTERNAL, THREAD_CTRL_LAST, THREAD_CTRL_STRING
 
Constructor Summary
JNIContextTCI(java.lang.String name, int callback)
           
 
Method Summary
protected  void assertValidity()
           
 gov.aps.epics.jca.jni.JNIMonitor ch_addMonitor(int type, int count, gov.aps.epics.jca.jni.JNIChannel ch, gov.aps.epics.jca.MonitorListener l, int mask)
           
 void ch_arrayGet(gov.aps.epics.jca.dbr.DBR dbr, gov.aps.epics.jca.jni.JNIChannel ch)
           
 void ch_arrayGet(int type, int count, gov.aps.epics.jca.jni.JNIChannel ch, gov.aps.epics.jca.GetListener l)
           
 void ch_arrayPut(int type, int count, gov.aps.epics.jca.jni.JNIChannel ch, java.lang.Object value)
           
 void ch_arrayPut(int type, int count, gov.aps.epics.jca.jni.JNIChannel ch, java.lang.Object value, gov.aps.epics.jca.PutListener l)
           
 gov.aps.epics.jca.jni.JNIChannel ch_channelCreate(java.lang.String name, gov.aps.epics.jca.ConnectionListener l)
           
 void ch_channelDestroy(gov.aps.epics.jca.jni.JNIChannel ch)
           
 void ch_clearMonitor(gov.aps.epics.jca.jni.JNIMonitor monitor)
           
 int ch_getElementCount(gov.aps.epics.jca.jni.JNIChannel ch)
           
 int ch_getFieldType(gov.aps.epics.jca.jni.JNIChannel ch)
           
 java.lang.String ch_getHostName(gov.aps.epics.jca.jni.JNIChannel ch)
           
 boolean ch_getReadAccess(gov.aps.epics.jca.jni.JNIChannel ch)
           
 int ch_getState(gov.aps.epics.jca.jni.JNIChannel ch)
           
 boolean ch_getWriteAccess(gov.aps.epics.jca.jni.JNIChannel ch)
           
 void ch_setAccessRightsListener(gov.aps.epics.jca.jni.JNIChannel ch, gov.aps.epics.jca.AccessRightsListener l)
           
 void ch_setConnectionListener(gov.aps.epics.jca.jni.JNIChannel ch, gov.aps.epics.jca.ConnectionListener l)
           
 void ctxt_attachThread()
           
 int ctxt_contextCreate(int callback)
           
 void ctxt_contextDestroy()
           
 void ctxt_flushIO()
           
 int ctxt_getCallbackMode()
           
 java.lang.String ctxt_getName()
           
 int ctxt_getThreadCtrlMode()
           
 void ctxt_pendEvent(double time)
           
 void ctxt_pendIO(double timeout)
           
 void ctxt_poll()
           
 void ctxt_setExceptionListener(gov.aps.epics.jca.ContextExceptionListener l)
           
 void ctxt_setMessageListener(gov.aps.epics.jca.ContextMessageListener l)
           
 boolean ctxt_testIO()
           
protected  java.lang.Object processRequest(gov.aps.epics.jca.jni.JNIContextTCI.Request r)
           
protected  java.lang.Object processRequestSafe(gov.aps.epics.jca.jni.JNIContextTCI.Request r)
           
 void run()
           
 
Methods inherited from class gov.aps.epics.jca.jni.JNIContext
attachCurrentThread, createChannel, destroy, flushIO, getCallbackMode, getContextExceptionListener, getContextMessageListener, getCtxtID, getName, getThreadCtrlMode, lookupChannel, pendEvent, pendIO, poll, registerChannel, setContextExceptionListener, setContextMessageListener, setCtxtID, testIO, unregisterChannel
 
Methods inherited from class gov.aps.epics.jca.Context
createChannel, dispose, getCallbackModeString, getContextList, getThreadCtrlModeString, lookupContext, printInfo, printInfo, registerContext, unregisterContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_num

protected static int _num

_thread

protected java.lang.Thread _thread

_callback

protected int _callback

_name

protected java.lang.String _name

_requestQueue

protected java.util.LinkedList _requestQueue

_keepRunning

protected boolean _keepRunning
Constructor Detail

JNIContextTCI

public JNIContextTCI(java.lang.String name,
                     int callback)
              throws CaException
Method Detail

ctxt_getThreadCtrlMode

public int ctxt_getThreadCtrlMode()
Specified by:
ctxt_getThreadCtrlMode in class JNIContext

ctxt_getCallbackMode

public int ctxt_getCallbackMode()
Specified by:
ctxt_getCallbackMode in class JNIContext

ctxt_getName

public java.lang.String ctxt_getName()
Specified by:
ctxt_getName in class JNIContext

ctxt_contextCreate

public int ctxt_contextCreate(int callback)
                       throws CaException
Specified by:
ctxt_contextCreate in class JNIContext
CaException

ctxt_contextDestroy

public void ctxt_contextDestroy()
                         throws CaException
Specified by:
ctxt_contextDestroy in class JNIContext
CaException

ctxt_setMessageListener

public void ctxt_setMessageListener(gov.aps.epics.jca.ContextMessageListener l)
                             throws CaException
Specified by:
ctxt_setMessageListener in class JNIContext
CaException

ctxt_setExceptionListener

public void ctxt_setExceptionListener(gov.aps.epics.jca.ContextExceptionListener l)
                               throws CaException
Specified by:
ctxt_setExceptionListener in class JNIContext
CaException

ctxt_pendIO

public void ctxt_pendIO(double timeout)
                 throws CaException
Specified by:
ctxt_pendIO in class JNIContext
CaException

ctxt_testIO

public boolean ctxt_testIO()
                    throws CaException
Specified by:
ctxt_testIO in class JNIContext
CaException

ctxt_pendEvent

public void ctxt_pendEvent(double time)
                    throws CaException
Specified by:
ctxt_pendEvent in class JNIContext
CaException

ctxt_poll

public void ctxt_poll()
               throws CaException
Specified by:
ctxt_poll in class JNIContext
CaException

ctxt_flushIO

public void ctxt_flushIO()
                  throws CaException
Specified by:
ctxt_flushIO in class JNIContext
CaException

ctxt_attachThread

public void ctxt_attachThread()
                       throws CaException
Specified by:
ctxt_attachThread in class JNIContext
CaException

ch_channelCreate

public gov.aps.epics.jca.jni.JNIChannel ch_channelCreate(java.lang.String name,
                                                         gov.aps.epics.jca.ConnectionListener l)
                                                  throws CaException
Specified by:
ch_channelCreate in class JNIContext
CaException

ch_channelDestroy

public void ch_channelDestroy(gov.aps.epics.jca.jni.JNIChannel ch)
                       throws CaException
Specified by:
ch_channelDestroy in class JNIContext
CaException

ch_setConnectionListener

public void ch_setConnectionListener(gov.aps.epics.jca.jni.JNIChannel ch,
                                     gov.aps.epics.jca.ConnectionListener l)
                              throws CaException
Specified by:
ch_setConnectionListener in class JNIContext
CaException

ch_setAccessRightsListener

public void ch_setAccessRightsListener(gov.aps.epics.jca.jni.JNIChannel ch,
                                       gov.aps.epics.jca.AccessRightsListener l)
                                throws CaException
Specified by:
ch_setAccessRightsListener in class JNIContext
CaException

ch_getFieldType

public int ch_getFieldType(gov.aps.epics.jca.jni.JNIChannel ch)
Specified by:
ch_getFieldType in class JNIContext

ch_getElementCount

public int ch_getElementCount(gov.aps.epics.jca.jni.JNIChannel ch)
Specified by:
ch_getElementCount in class JNIContext

ch_getState

public int ch_getState(gov.aps.epics.jca.jni.JNIChannel ch)
Specified by:
ch_getState in class JNIContext

ch_getHostName

public java.lang.String ch_getHostName(gov.aps.epics.jca.jni.JNIChannel ch)
Specified by:
ch_getHostName in class JNIContext

ch_getReadAccess

public boolean ch_getReadAccess(gov.aps.epics.jca.jni.JNIChannel ch)
Specified by:
ch_getReadAccess in class JNIContext

ch_getWriteAccess

public boolean ch_getWriteAccess(gov.aps.epics.jca.jni.JNIChannel ch)
Specified by:
ch_getWriteAccess in class JNIContext

ch_arrayPut

public void ch_arrayPut(int type,
                        int count,
                        gov.aps.epics.jca.jni.JNIChannel ch,
                        java.lang.Object value)
                 throws CaException
Specified by:
ch_arrayPut in class JNIContext
CaException

ch_arrayPut

public void ch_arrayPut(int type,
                        int count,
                        gov.aps.epics.jca.jni.JNIChannel ch,
                        java.lang.Object value,
                        gov.aps.epics.jca.PutListener l)
                 throws CaException
Specified by:
ch_arrayPut in class JNIContext
CaException

ch_arrayGet

public void ch_arrayGet(gov.aps.epics.jca.dbr.DBR dbr,
                        gov.aps.epics.jca.jni.JNIChannel ch)
                 throws CaException
Specified by:
ch_arrayGet in class JNIContext
CaException

ch_arrayGet

public void ch_arrayGet(int type,
                        int count,
                        gov.aps.epics.jca.jni.JNIChannel ch,
                        gov.aps.epics.jca.GetListener l)
                 throws CaException
Specified by:
ch_arrayGet in class JNIContext
CaException

ch_addMonitor

public gov.aps.epics.jca.jni.JNIMonitor ch_addMonitor(int type,
                                                      int count,
                                                      gov.aps.epics.jca.jni.JNIChannel ch,
                                                      gov.aps.epics.jca.MonitorListener l,
                                                      int mask)
                                               throws CaException
Specified by:
ch_addMonitor in class JNIContext
CaException

ch_clearMonitor

public void ch_clearMonitor(gov.aps.epics.jca.jni.JNIMonitor monitor)
                     throws CaException
Specified by:
ch_clearMonitor in class JNIContext
CaException

assertValidity

protected void assertValidity()

run

public void run()
Specified by:
run in interface java.lang.Runnable

processRequestSafe

protected java.lang.Object processRequestSafe(gov.aps.epics.jca.jni.JNIContextTCI.Request r)

processRequest

protected java.lang.Object processRequest(gov.aps.epics.jca.jni.JNIContextTCI.Request r)
                                   throws CaException
CaException