private boolean writeRequest( boolean internal, String oid, TypeDescription type, String function, ThreadId tid, Object[] arguments) throws IOException { IMethodDescription desc = type.getMethodDescription(function); synchronized (output) { if (desc.getIndex() == MethodDescription.ID_RELEASE && releaseQueue.size() < MAX_RELEASE_QUEUE_SIZE) { releaseQueue.add( new QueuedRelease(internal, oid, type, desc, tid)); return false; } else { writeQueuedReleases(); return writeRequest( internal, oid, type, desc, tid, arguments, true); } } }
UnoRuntime.setCurrentContext(_iMessage.getCurrentContext()); try { result = md.getIndex() == MethodDescription.ID_QUERY_INTERFACE ? dispatch_queryInterface((Type) args[0]) : md.getMethod().invoke(_object, args);
+ " type " + t); int fid = message.getMethod().getIndex(); switch (fid) { case PROPERTIES_FID_REQUEST_CHANGE:
throws IOException int funId = desc.getIndex(); if (funId < 0 || funId > MAX_FUNCTIONID16) { throw new IllegalArgumentException(
String oid = msg.getObjectId(); Type type = new Type(msg.getType()); int fid = msg.getMethod().getIndex(); if (fid == MethodDescription.ID_RELEASE) { _java_environment.revokeInterface(oid, type);