access.addItem(item0, new DataCallback() { @Override public void changed(Item item0, ItemState state) { //where items[] is the item created using group.addItem("item"+index) in the constructor JIArray jiArray = items[1].read(true).getValue().getObjectAsArray(); Object[] arrayObj = (Object[]) jiArray.getArrayInstance(); // arrayObj contains the value (or values) of the item for (Object v : arrayObj) { } } });
public void UpdateMe ( final JIUnsignedShort size, final JIArray array ) { append ( "C:\\Test\\callback_j.log", "SampleTestServerCallback::UpdateMe entered with array size=" + size + "\n" ); System.out.println ( "SampleTestServerCallback::UpdateMe entered with array size=" + size + "\n" ); final JIStruct[] structArray = (JIStruct[])array.getArrayInstance (); for ( int i = 0; i < size.getValue ().intValue (); i++ ) { append ( "C:\\Test\\callback_j.log", "Member 0= " + structArray[i].getMember ( 0 ).toString () + "\n" ); System.out.println ( "Array elt=" + i + ",Member 0= " + structArray[i].getMember ( 0 ).toString () + "\n" ); } }
public void UpdateMe(JIUnsignedShort size, JIArray array) { append("C:\\Test\\callback_j.log", "SampleTestServerCallback::UpdateMe entered with array size=" + size + "\n"); System.out.println("SampleTestServerCallback::UpdateMe entered with array size=" + size + "\n"); JIStruct[] structArray = (JIStruct[]) array.getArrayInstance(); for (int i = 0; i < size.getValue().intValue(); i++) { append("C:\\Test\\callback_j.log", "Member 0= " + structArray[i].getMember(0).toString() +"\n"); System.out.println("Array elt=" + i+ ",Member 0= " + structArray[i].getMember(0).toString() + "\n"); } }
public void UpdateMe(JIUnsignedShort size, JIArray array) { append("C:\\Test\\callback_j.log", "SampleTestServerCallback::UpdateMe entered with array size=" + size + "\n"); System.out.println("SampleTestServerCallback::UpdateMe entered with array size=" + size + "\n"); JIStruct[] structArray = (JIStruct[]) array.getArrayInstance(); for (int i = 0; i < size.getValue().intValue(); i++) { append("C:\\Test\\callback_j.log", "Member 0= " + structArray[i].getMember(0).toString() +"\n"); System.out.println("Array elt=" + i+ ",Member 0= " + structArray[i].getMember(0).toString() + "\n"); } }
private void fetch() { try { if(next!=null || end) return; Object[] values = enumVARIANT.next(1); if(values.length==0) return; if(values.length!=2) throw new AssertionError("Returned "+values.length); Object[] ai = (Object[])((JIArray) values[0]).getArrayInstance(); if(ai.length!=1) throw new AssertionError(ai); next = unmarshal((JIVariant)ai[0],expectedType); } catch (JIException e) { if(e.getErrorCode()==1) { end = true; return; } throw new RuntimeException(e); // TODO: define a proper tunneling exception } }
private void releaseRefs ( final JIArray arrayOfStructs, final boolean fromDestroy ) throws JIException { logger.info ( "In releaseRefs for session : {} , array length is: {}", getSessionIdentifier (), (short) ( (Object[])arrayOfStructs.getArrayInstance () ).length ); final JICallBuilder obj = new JICallBuilder ( true ); obj.setOpnum ( 2 );//release //length obj.addInParamAsShort ( (short) ( (Object[])arrayOfStructs.getArrayInstance () ).length, JIFlags.FLAG_NULL ); obj.addInParamAsArray ( arrayOfStructs, JIFlags.FLAG_NULL ); obj.fromDestroySession = fromDestroy; this.stub2.addRef_ReleaseRef ( obj ); //ignore the results }
public void getTCharArray() throws JIException, InterruptedException, UnknownHostException { System.gc(); JICallBuilder callObject = new JICallBuilder( true); callObject.setOpnum(6); Object results[]; callObject.addOutParamAsObject(new JIArray(Byte.class, new int[]{50},1,false), JIFlags.FLAG_NULL); results = comObject.call(callObject); JIArray arrayOfResults = (JIArray)results[0]; Byte[] arrayOfBytes = (Byte[]) arrayOfResults.getArrayInstance(); int length = 50; for (int i = 0; i < length; i++) { System.out.println(arrayOfBytes[i].byteValue()); } }
public void getTCharArray() throws JIException, InterruptedException, UnknownHostException { System.gc(); JICallBuilder callObject = new JICallBuilder( true); callObject.setOpnum(6); Object results[]; callObject.addOutParamAsObject(new JIArray(Byte.class, new int[]{50},1,false), JIFlags.FLAG_NULL); results = comObject.call(callObject); JIArray arrayOfResults = (JIArray)results[0]; Byte[] arrayOfBytes = (Byte[]) arrayOfResults.getArrayInstance(); int length = 50; for (int i = 0; i < length; i++) { System.out.println(arrayOfBytes[i].byteValue()); } }
public void getTCharArray () throws JIException, InterruptedException, UnknownHostException { System.gc (); final JICallBuilder callObject = new JICallBuilder ( true ); callObject.setOpnum ( 6 ); Object results[]; callObject.addOutParamAsObject ( new JIArray ( Byte.class, new int[] { 50 }, 1, false ), JIFlags.FLAG_NULL ); results = this.comObject.call ( callObject ); final JIArray arrayOfResults = (JIArray)results[0]; final Byte[] arrayOfBytes = (Byte[])arrayOfResults.getArrayInstance (); final int length = 50; for ( int i = 0; i < length; i++ ) { System.out.println ( arrayOfBytes[i].byteValue () ); } }
private void releaseRefs(JIArray arrayOfStructs, boolean fromDestroy) throws JIException { if (JISystem.getLogger().isLoggable(Level.INFO)) { JISystem.getLogger().info("In releaseRefs for session : " + getSessionIdentifier() + " , array length is: " + (short)(((Object[])arrayOfStructs.getArrayInstance()).length)); } JICallBuilder obj = new JICallBuilder(true); obj.setOpnum(2);//release //length obj.addInParamAsShort((short)(((Object[])arrayOfStructs.getArrayInstance()).length),JIFlags.FLAG_NULL); obj.addInParamAsArray(arrayOfStructs,JIFlags.FLAG_NULL); obj.fromDestroySession = fromDestroy; stub.addRef_ReleaseRef(obj); //ignore the results }
private void releaseRefs(JIArray arrayOfStructs, boolean fromDestroy) throws JIException { if (JISystem.getLogger().isLoggable(Level.INFO)) { JISystem.getLogger().info("In releaseRefs for session : " + getSessionIdentifier() + " , array length is: " + (short)(((Object[])arrayOfStructs.getArrayInstance()).length)); } JICallBuilder obj = new JICallBuilder(true); obj.setOpnum(2);//release //length obj.addInParamAsShort((short)(((Object[])arrayOfStructs.getArrayInstance()).length),JIFlags.FLAG_NULL); obj.addInParamAsArray(arrayOfStructs,JIFlags.FLAG_NULL); obj.fromDestroySession = fromDestroy; stub2.addRef_ReleaseRef(obj); //ignore the results }
public void getConformantIntArray() throws JIException, InterruptedException, UnknownHostException { JICallBuilder callObject = new JICallBuilder( true); callObject.setOpnum(8); Object results[]; callObject.addOutParamAsType(Integer.class, JIFlags.FLAG_NULL); callObject.addOutParamAsObject(new JIPointer(new JIArray(Integer.class, null, 1, true)), JIFlags.FLAG_NULL); results = comObject.call(callObject); JIArray arrayOfResults = (JIArray)((JIPointer)results[1]).getReferent(); Integer[] arrayOfIntegers = (Integer[]) arrayOfResults.getArrayInstance(); int length = ((Integer)results[0]).intValue(); for (int i = 0; i < length; i++) { System.out.println(arrayOfIntegers[i].intValue()); } }
public void getConformantIntArray() throws JIException, InterruptedException, UnknownHostException { JICallBuilder callObject = new JICallBuilder( true); callObject.setOpnum(8); Object results[]; callObject.addOutParamAsType(Integer.class, JIFlags.FLAG_NULL); callObject.addOutParamAsObject(new JIPointer(new JIArray(Integer.class, null, 1, true)), JIFlags.FLAG_NULL); results = comObject.call(callObject); JIArray arrayOfResults = (JIArray)((JIPointer)results[1]).getReferent(); Integer[] arrayOfIntegers = (Integer[]) arrayOfResults.getArrayInstance(); int length = ((Integer)results[0]).intValue(); for (int i = 0; i < length; i++) { System.out.println(arrayOfIntegers[i].intValue()); } }
public void getConformantIntArray () throws JIException, InterruptedException, UnknownHostException { final JICallBuilder callObject = new JICallBuilder ( true ); callObject.setOpnum ( 8 ); Object results[]; callObject.addOutParamAsType ( Integer.class, JIFlags.FLAG_NULL ); callObject.addOutParamAsObject ( new JIPointer ( new JIArray ( Integer.class, null, 1, true ) ), JIFlags.FLAG_NULL ); results = this.comObject.call ( callObject ); final JIArray arrayOfResults = (JIArray) ( (JIPointer)results[1] ).getReferent (); final Integer[] arrayOfIntegers = (Integer[])arrayOfResults.getArrayInstance (); final int length = ( (Integer)results[0] ).intValue (); for ( int i = 0; i < length; i++ ) { System.out.println ( arrayOfIntegers[i].intValue () ); } }
public Collection<Integer> queryAvailableLocaleIDs () throws JIException { JICallBuilder callObject = new JICallBuilder ( true ); callObject.setOpnum ( 2 ); callObject.addOutParamAsType ( Integer.class, JIFlags.FLAG_NULL ); callObject.addOutParamAsObject ( new JIPointer ( new JIArray ( Integer.class, null, 1, true ) ), JIFlags.FLAG_NULL ); Object[] result = getCOMObject ().call ( callObject ); JIArray resultArray = (JIArray) ( (JIPointer)result[1] ).getReferent (); Integer[] intArray = (Integer[])resultArray.getArrayInstance (); return Arrays.asList ( intArray ); }
public int next ( final List<UUID> list, final int num ) throws JIException { if ( num <= 0 ) { return 0; } JICallBuilder callObject = new JICallBuilder ( true ); callObject.setOpnum ( 0 ); callObject.addInParamAsInt ( num, JIFlags.FLAG_NULL ); callObject.addInParamAsInt ( num, JIFlags.FLAG_NULL ); callObject.addOutParamAsObject ( new JIArray ( UUID.class, null, 1, true, true ), JIFlags.FLAG_NULL ); callObject.addOutParamAsType ( Integer.class, JIFlags.FLAG_NULL ); Object[] result = Helper.callRespectSFALSE ( getCOMObject (), callObject ); UUID[] resultData = (UUID[]) ( (JIArray)result[0] ).getArrayInstance (); Integer cnt = (Integer)result[1]; for ( int i = 0; i < cnt; i++ ) { list.add ( resultData[i] ); } return cnt; }
/** {@inheritDoc} */ @Override public OnmsWbemMethod get(final Integer idx) throws WmiException { try { final IJIComObject enumComObject = wbemMethodSetDispatch.get("_NewEnum").getObjectAsComObject(); final IJIEnumVariant enumVariant = (IJIEnumVariant) JIObjectFactory.narrowObject(enumComObject.queryInterface(IJIEnumVariant.IID)); OnmsWbemMethod wbemMethod; IJIDispatch wbemMethod_dispatch = null; for (int i = 0; i < (idx+1); i++) { final Object[] values = enumVariant.next(1); final JIArray array = (JIArray)values[0]; final Object[] arrayObj = (Object[])array.getArrayInstance(); for(int j = 0; j < arrayObj.length; j++) { wbemMethod_dispatch = (IJIDispatch)JIObjectFactory.narrowObject(((JIVariant)arrayObj[j]).getObjectAsComObject()); } } wbemMethod = new OnmsWbemMethodImpl(wbemMethod_dispatch); return wbemMethod; } catch(final JIException e) { throw new WmiException("Failed to enumerate WbemObject variant: " + e.getMessage(), e); } }
/** {@inheritDoc} */ @Override public OnmsWbemProperty get(final Integer idx) throws WmiException { try { final IJIComObject enumComObject = wbemPropertySetDispatch.get("_NewEnum").getObjectAsComObject(); final IJIEnumVariant enumVariant = (IJIEnumVariant) JIObjectFactory.narrowObject(enumComObject.queryInterface(IJIEnumVariant.IID)); OnmsWbemProperty wbemObj; IJIDispatch wbemProperty_dispatch = null; for (int i = 0; i < (idx+1); i++) { final Object[] values = enumVariant.next(1); final JIArray array = (JIArray)values[0]; final Object[] arrayObj = (Object[])array.getArrayInstance(); for(int j = 0; j < arrayObj.length; j++) { wbemProperty_dispatch = (IJIDispatch)JIObjectFactory.narrowObject(((JIVariant)arrayObj[j]).getObjectAsComObject()); } } wbemObj = new OnmsWbemPropertyImpl(wbemProperty_dispatch); return wbemObj; } catch(final JIException e) { throw new WmiException("Failed to enumerate WbemProperty variant: " + e.getMessage(), e); } }
public ResultSet<Integer> remove ( final Integer... serverHandles ) throws JIException { if ( serverHandles.length == 0 ) { return new ResultSet<Integer> (); } final JICallBuilder callObject = new JICallBuilder ( true ); callObject.setOpnum ( 2 ); callObject.addInParamAsInt ( serverHandles.length, JIFlags.FLAG_NULL ); callObject.addInParamAsArray ( new JIArray ( serverHandles, true ), JIFlags.FLAG_NULL ); callObject.addOutParamAsObject ( new JIPointer ( new JIArray ( Integer.class, null, 1, true ) ), JIFlags.FLAG_NULL ); final Object result[] = Helper.callRespectSFALSE ( getCOMObject (), callObject ); final Integer[] errorCodes = (Integer[]) ( (JIArray) ( (JIPointer)result[0] ).getReferent () ).getArrayInstance (); final ResultSet<Integer> results = new ResultSet<Integer> ( serverHandles.length ); for ( int i = 0; i < serverHandles.length; i++ ) { results.add ( new Result<Integer> ( serverHandles[i], errorCodes[i] ) ); } return results; }
public ResultSet<Integer> setActiveState ( final boolean state, final Integer... items ) throws JIException { if ( items.length == 0 ) { return new ResultSet<Integer> (); } final JICallBuilder callObject = new JICallBuilder ( true ); callObject.setOpnum ( 3 ); callObject.addInParamAsInt ( items.length, JIFlags.FLAG_NULL ); callObject.addInParamAsArray ( new JIArray ( items, true ), JIFlags.FLAG_NULL ); callObject.addInParamAsInt ( state ? 1 : 0, JIFlags.FLAG_NULL ); callObject.addOutParamAsObject ( new JIPointer ( new JIArray ( Integer.class, null, 1, true ) ), JIFlags.FLAG_NULL ); final Object[] result = Helper.callRespectSFALSE ( getCOMObject (), callObject ); final Integer[] errorCodes = (Integer[]) ( (JIArray) ( (JIPointer)result[0] ).getReferent () ).getArrayInstance (); final ResultSet<Integer> results = new ResultSet<Integer> ( items.length ); for ( int i = 0; i < items.length; i++ ) { results.add ( new Result<Integer> ( items[i], errorCodes[i] ) ); } return results; }