com.develop.jawin
Class COMPtr

java.lang.Object
  |
  +--com.develop.jawin.COMPtr
All Implemented Interfaces:
IUnknown, VarTypes, WellKnownGUIDs
Direct Known Subclasses:
IEnumVariant, UnknownPtr

public abstract class COMPtr
extends java.lang.Object
implements IUnknown

Abstract class used as base for UnknownPtr


Field Summary
(package private) static boolean bDoMarshalling
           
(package private)  boolean bSkipMarshalling
           
private  int peer
          GIT cookie
private  int unknown
          raw, context specific vtable ptr
 
Fields inherited from interface com.develop.jawin.constants.VarTypes
VARIANT_FALSE, VARIANT_TRUE, VT_ARRAY, VT_BLOB, VT_BLOB_OBJECT, VT_BOOL, VT_BSTR, VT_BYREF, VT_CARRAY, VT_CF, VT_CLSID, VT_CY, VT_DATE, VT_DECIMAL, VT_DISPATCH, VT_EMPTY, VT_ERROR, VT_FILETIME, VT_HRESULT, VT_I1, VT_I2, VT_I4, VT_I8, VT_ILLEGAL, VT_ILLEGALMASKED, VT_INT, VT_LPSTR, VT_LPWSTR, VT_NULL, VT_PTR, VT_R4, VT_R8, VT_RESERVED, VT_SAFEARRAY, VT_STORAGE, VT_STORED_OBJECT, VT_STREAM, VT_STREAMED_OBJECT, VT_TYPEMASK, VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_UINT, VT_UNKNOWN, VT_USERDEFINED, VT_VARIANT, VT_VECTOR, VT_VOID
 
Fields inherited from interface com.develop.jawin.constants.WellKnownGUIDs
IID_IClassFactory, IID_IDispatch, IID_IEnumVariant, IID_IUnknown
 
Constructor Summary
protected COMPtr()
          Creates empty COMPtr
protected COMPtr(int peer, int unk)
          Only the IdentityManager creates COMPtrs
 
Method Summary
 void close()
          Releases COM object
 byte[] comInvoke(int vtable, java.lang.String instructions, int stackSize, int arraySize, byte[] argStream)
          Ivokes method
protected  void copyUnknown(COMPtr src)
          Copies COM handler
protected  void finalize()
          Finalizes object
 int getPeer()
          Returns peer
 int getUnknown()
          Returns unknown handler
(package private)  boolean hasFTM()
           
protected  void nullUnknown()
           
 IUnknown queryInterface(java.lang.Class newItf)
          Queries interface and
protected  void releaseUnknown()
          Call only from a synchronized method
(package private)  void setPeer(int peer)
           
(package private)  void setUnknown(int unknown)
           
 void stealUnknown(COMPtr src)
          Steal the native unknown pointer from another COMPtr.
 void toGITRef()
          Stores the DispatchPtr object in GIT for thread marshalling
 java.lang.String toString()
          Converts object to string
 
Methods inherited from class java.lang.Object
, clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 
Methods inherited from interface com.develop.jawin.IUnknown
getGuidToken
 

Field Detail

bDoMarshalling

static boolean bDoMarshalling

bSkipMarshalling

boolean bSkipMarshalling

peer

private int peer
GIT cookie

unknown

private int unknown
raw, context specific vtable ptr
Constructor Detail

COMPtr

protected COMPtr()
Creates empty COMPtr

COMPtr

protected COMPtr(int peer,
                 int unk)
Only the IdentityManager creates COMPtrs
Parameters:
peer -  
unk -  
Method Detail

setPeer

void setPeer(int peer)

setUnknown

void setUnknown(int unknown)

hasFTM

boolean hasFTM()

nullUnknown

protected void nullUnknown()

stealUnknown

public void stealUnknown(COMPtr src)
Steal the native unknown pointer from another COMPtr. This should only be used inside the marshalling layer when manipulating temporaries
Parameters:
src -  

comInvoke

public byte[] comInvoke(int vtable,
                        java.lang.String instructions,
                        int stackSize,
                        int arraySize,
                        byte[] argStream)
                 throws COMException,
                        java.io.IOException
Ivokes method
Parameters:
vtable -  
instructions -  
stackSize -  
arraySize -  
argStream -  
Returns:
 
Throws:
COMException -  
java.io.IOException -  

copyUnknown

protected void copyUnknown(COMPtr src)
Copies COM handler
Parameters:
src - object to copy

toString

public java.lang.String toString()
Converts object to string
Overrides:
toString in class java.lang.Object
Returns:
string

getPeer

public int getPeer()
Returns peer
Specified by:
getPeer in interface IUnknown
Returns:
peer

getUnknown

public int getUnknown()
Returns unknown handler
Specified by:
getUnknown in interface IUnknown
Returns:
unknown handler

toGITRef

public void toGITRef()
Stores the DispatchPtr object in GIT for thread marshalling

queryInterface

public IUnknown queryInterface(java.lang.Class newItf)
Queries interface and
Specified by:
queryInterface in interface IUnknown
Parameters:
newItf - class to query
Returns:
new IUnknown object

finalize

protected void finalize()
                 throws java.lang.Throwable
Finalizes object
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable - JNI/COM exception object

close

public void close()
Releases COM object
Specified by:
close in interface IUnknown

releaseUnknown

protected void releaseUnknown()
Call only from a synchronized method


New Jawin designed by Vitally Shelest. This product includes software developed by the DevelopMentor OpenSource Project (http://www.develop.com/OpenSource).