org.bridj.cpp.com
Class COMRuntime

java.lang.Object
  extended by org.bridj.AbstractBridJRuntime
      extended by org.bridj.CRuntime
          extended by org.bridj.cpp.CPPRuntime
              extended by org.bridj.cpp.com.COMRuntime
All Implemented Interfaces:
BridJRuntime

public class COMRuntime
extends CPPRuntime

Microsoft COM runtime, along with useful constants and methods.
All COM classes must extends IUnknown and hence inherit from it the correct Runtime annotation that references COMRuntime.


Nested Class Summary
static interface COMRuntime.COINIT
           
 
Nested classes/interfaces inherited from class org.bridj.cpp.CPPRuntime
CPPRuntime.ClassTypeVariableExtractor, CPPRuntime.CPPDestructor, CPPRuntime.CPPTypeInfo<T extends CPPObject>, CPPRuntime.MemoryOperators, CPPRuntime.MethodTypeVariableExtractor, CPPRuntime.VirtMeth
 
Nested classes/interfaces inherited from class org.bridj.CRuntime
CRuntime.CTypeInfo<T extends NativeObject>, CRuntime.MethodCallInfoBuilder
 
Nested classes/interfaces inherited from interface org.bridj.BridJRuntime
BridJRuntime.TypeInfo<T extends NativeObject>
 
Field Summary
static int CLASS_E_NOAGGREGATION
           
static int CLSCTX_ACTIVATE_32_BIT_SERVER
           
static int CLSCTX_ACTIVATE_64_BIT_SERVER
           
static int CLSCTX_ALL
           
static int CLSCTX_DISABLE_AAA
           
static int CLSCTX_ENABLE_AAA
           
static int CLSCTX_ENABLE_CLOAKING
           
static int CLSCTX_ENABLE_CODE_DOWNLOAD
           
static int CLSCTX_FROM_DEFAULT_CONTEXT
           
static int CLSCTX_INPROC
           
static int CLSCTX_INPROC_HANDLER
           
static int CLSCTX_INPROC_HANDLER16
           
static int CLSCTX_INPROC_SERVER
           
static int CLSCTX_INPROC_SERVER16
           
static int CLSCTX_LOCAL_SERVER
           
static int CLSCTX_NO_CODE_DOWNLOAD
           
static int CLSCTX_NO_CUSTOM_MARSHAL
           
static int CLSCTX_NO_FAILURE_LOG
           
static int CLSCTX_PS_DLL
           
static int CLSCTX_REMOTE_SERVER
           
static int CLSCTX_RESERVED1
           
static int CLSCTX_RESERVED2
           
static int CLSCTX_RESERVED3
           
static int CLSCTX_RESERVED4
           
static int CLSCTX_RESERVED5
           
static int CLSCTX_SERVER
           
static int CO_E_NOTINITIALIZED
           
static int DISP_E_ARRAYISLOCKED
           
static int DISP_E_BADCALLEE
           
static int DISP_E_BADINDEX
           
static int DISP_E_BADPARAMCOUNT
           
static int DISP_E_BADVARTYPE
           
static int DISP_E_BUFFERTOOSMALL
           
static int DISP_E_DIVBYZERO
           
static int DISP_E_EXCEPTION
           
static int DISP_E_MEMBERNOTFOUND
           
static int DISP_E_NONAMEDARGS
           
static int DISP_E_NOTACOLLECTION
           
static int DISP_E_OVERFLOW
           
static int DISP_E_PARAMNOTFOUND
           
static int DISP_E_PARAMNOTOPTIONAL
           
static int DISP_E_TYPEMISMATCH
           
static int DISP_E_UNKNOWNINTERFACE
           
static int DISP_E_UNKNOWNLCID
           
static int DISP_E_UNKNOWNNAME
           
static int E_ABORT
           
static int E_ACCESSDENIED
           
static int E_FAIL
           
static int E_HANDLE
           
static int E_INVALIDARG
           
static int E_NOINTERFACE
           
static int E_NOTIMPL
           
static int E_OUTOFMEMORY
           
static int E_POINTER
           
static int E_UNEXPECTED
           
static int REGDB_E_CLASSNOTREG
           
static int S_FALSE
           
static int S_OK
           
 
Fields inherited from class org.bridj.cpp.CPPRuntime
DEFAULT_CONSTRUCTOR, SKIP_CONSTRUCTOR
 
Fields inherited from class org.bridj.CRuntime
PROPERTY_bridj_c_defaultObjectSize, rootCallbackClasses
 
Constructor Summary
COMRuntime()
           
 
Method Summary
static VARIANT clone(VARIANT v)
           
static int CoCreateInstance(Pointer<Byte> rclsid, Pointer<IUnknown> pUnkOuter, int dwClsContext, Pointer<Byte> riid, Pointer<Pointer<?>> ppv)
          Deprecated. 
static
<I extends IUnknown>
Pointer<Byte>
getCLSID(Class<I> type)
          Get the CLSID declared for a class using the CLSID annotation.
static
<I extends IUnknown>
Pointer<Byte>
getIID(Class<I> type)
          Get the IID declared for a class using the IID annotation.
protected  Level getSeverityOfMissingSymbol(Method method)
           
static Object getValue(VARIANT v)
          Convert the VARIANT value to an equivalent Java value.
static void initialize()
          Initialize COM the current thread (uninitialization is done automatically upon thread death).
static
<I extends IUnknown>
I
newInstance(Class<I> type)
           
static
<T extends IUnknown,I extends IUnknown>
I
newInstance(Class<T> instanceClass, Class<I> instanceInterface)
           
static Pointer<?> parseGUID(String descriptor)
           
static VARIANT setValue(VARIANT v, Object value)
           
static String toString(VARIANT v)
           
 
Methods inherited from class org.bridj.cpp.CPPRuntime
createClassTypeVariableExtractor, createMethodTypeVariableExtractor, getActualInstanceClass, getAnnotatedTemplateTypeVariableIndexInArguments, getCPPTypeInfo, getInstance, getMemoryOperators, getPositionInVirtualTable, getTemplateParameters, getTypeInfo, getVirtualMethodsCount, installRegularVTablePtr, installSyntheticVTablePtr, listVirtualMethods, newCPPInstance, registerNativeMethod, setTemplateParameters, synthetizeVirtualTable
 
Methods inherited from class org.bridj.CRuntime
allocate, createCToJavaCallback, getCallbackNativeImplementer, getDefaultStructSize, getDynamicFunctionFactory, getNativeLibrary, getTypeForCast, getUniqueAbstractCallbackMethod, isAvailable, register, registerCallbackInstance, registerFamily, setNativeObjectPeer, sizeOf
 
Methods inherited from class org.bridj.AbstractBridJRuntime
findConstructor, getType, isOverride, isOverridenSignature, log, log, unregister
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLSCTX_INPROC_SERVER

public static final int CLSCTX_INPROC_SERVER
See Also:
Constant Field Values

CLSCTX_INPROC_HANDLER

public static final int CLSCTX_INPROC_HANDLER
See Also:
Constant Field Values

CLSCTX_LOCAL_SERVER

public static final int CLSCTX_LOCAL_SERVER
See Also:
Constant Field Values

CLSCTX_INPROC_SERVER16

public static final int CLSCTX_INPROC_SERVER16
See Also:
Constant Field Values

CLSCTX_REMOTE_SERVER

public static final int CLSCTX_REMOTE_SERVER
See Also:
Constant Field Values

CLSCTX_INPROC_HANDLER16

public static final int CLSCTX_INPROC_HANDLER16
See Also:
Constant Field Values

CLSCTX_RESERVED1

public static final int CLSCTX_RESERVED1
See Also:
Constant Field Values

CLSCTX_RESERVED2

public static final int CLSCTX_RESERVED2
See Also:
Constant Field Values

CLSCTX_RESERVED3

public static final int CLSCTX_RESERVED3
See Also:
Constant Field Values

CLSCTX_RESERVED4

public static final int CLSCTX_RESERVED4
See Also:
Constant Field Values

CLSCTX_NO_CODE_DOWNLOAD

public static final int CLSCTX_NO_CODE_DOWNLOAD
See Also:
Constant Field Values

CLSCTX_RESERVED5

public static final int CLSCTX_RESERVED5
See Also:
Constant Field Values

CLSCTX_NO_CUSTOM_MARSHAL

public static final int CLSCTX_NO_CUSTOM_MARSHAL
See Also:
Constant Field Values

CLSCTX_ENABLE_CODE_DOWNLOAD

public static final int CLSCTX_ENABLE_CODE_DOWNLOAD
See Also:
Constant Field Values

CLSCTX_NO_FAILURE_LOG

public static final int CLSCTX_NO_FAILURE_LOG
See Also:
Constant Field Values

CLSCTX_DISABLE_AAA

public static final int CLSCTX_DISABLE_AAA
See Also:
Constant Field Values

CLSCTX_ENABLE_AAA

public static final int CLSCTX_ENABLE_AAA
See Also:
Constant Field Values

CLSCTX_FROM_DEFAULT_CONTEXT

public static final int CLSCTX_FROM_DEFAULT_CONTEXT
See Also:
Constant Field Values

CLSCTX_ACTIVATE_32_BIT_SERVER

public static final int CLSCTX_ACTIVATE_32_BIT_SERVER
See Also:
Constant Field Values

CLSCTX_ACTIVATE_64_BIT_SERVER

public static final int CLSCTX_ACTIVATE_64_BIT_SERVER
See Also:
Constant Field Values

CLSCTX_ENABLE_CLOAKING

public static final int CLSCTX_ENABLE_CLOAKING
See Also:
Constant Field Values

CLSCTX_PS_DLL

public static final int CLSCTX_PS_DLL
See Also:
Constant Field Values

CLSCTX_INPROC

public static final int CLSCTX_INPROC
See Also:
Constant Field Values

CLSCTX_ALL

public static final int CLSCTX_ALL
See Also:
Constant Field Values

CLSCTX_SERVER

public static final int CLSCTX_SERVER
See Also:
Constant Field Values

S_OK

public static final int S_OK
See Also:
Constant Field Values

S_FALSE

public static final int S_FALSE
See Also:
Constant Field Values

REGDB_E_CLASSNOTREG

public static final int REGDB_E_CLASSNOTREG
See Also:
Constant Field Values

CLASS_E_NOAGGREGATION

public static final int CLASS_E_NOAGGREGATION
See Also:
Constant Field Values

CO_E_NOTINITIALIZED

public static final int CO_E_NOTINITIALIZED
See Also:
Constant Field Values

E_UNEXPECTED

public static final int E_UNEXPECTED
See Also:
Constant Field Values

E_NOTIMPL

public static final int E_NOTIMPL
See Also:
Constant Field Values

E_OUTOFMEMORY

public static final int E_OUTOFMEMORY
See Also:
Constant Field Values

E_INVALIDARG

public static final int E_INVALIDARG
See Also:
Constant Field Values

E_NOINTERFACE

public static final int E_NOINTERFACE
See Also:
Constant Field Values

E_POINTER

public static final int E_POINTER
See Also:
Constant Field Values

E_HANDLE

public static final int E_HANDLE
See Also:
Constant Field Values

E_ABORT

public static final int E_ABORT
See Also:
Constant Field Values

E_FAIL

public static final int E_FAIL
See Also:
Constant Field Values

E_ACCESSDENIED

public static final int E_ACCESSDENIED
See Also:
Constant Field Values

DISP_E_BADVARTYPE

public static final int DISP_E_BADVARTYPE
See Also:
Constant Field Values

DISP_E_NOTACOLLECTION

public static final int DISP_E_NOTACOLLECTION
See Also:
Constant Field Values

DISP_E_MEMBERNOTFOUND

public static final int DISP_E_MEMBERNOTFOUND
See Also:
Constant Field Values

DISP_E_ARRAYISLOCKED

public static final int DISP_E_ARRAYISLOCKED
See Also:
Constant Field Values

DISP_E_EXCEPTION

public static final int DISP_E_EXCEPTION
See Also:
Constant Field Values

DISP_E_TYPEMISMATCH

public static final int DISP_E_TYPEMISMATCH
See Also:
Constant Field Values

DISP_E_BADINDEX

public static final int DISP_E_BADINDEX
See Also:
Constant Field Values

DISP_E_BADCALLEE

public static final int DISP_E_BADCALLEE
See Also:
Constant Field Values

DISP_E_OVERFLOW

public static final int DISP_E_OVERFLOW
See Also:
Constant Field Values

DISP_E_UNKNOWNINTERFACE

public static final int DISP_E_UNKNOWNINTERFACE
See Also:
Constant Field Values

DISP_E_DIVBYZERO

public static final int DISP_E_DIVBYZERO
See Also:
Constant Field Values

DISP_E_UNKNOWNLCID

public static final int DISP_E_UNKNOWNLCID
See Also:
Constant Field Values

DISP_E_PARAMNOTOPTIONAL

public static final int DISP_E_PARAMNOTOPTIONAL
See Also:
Constant Field Values

DISP_E_PARAMNOTFOUND

public static final int DISP_E_PARAMNOTFOUND
See Also:
Constant Field Values

DISP_E_BADPARAMCOUNT

public static final int DISP_E_BADPARAMCOUNT
See Also:
Constant Field Values

DISP_E_BUFFERTOOSMALL

public static final int DISP_E_BUFFERTOOSMALL
See Also:
Constant Field Values

DISP_E_UNKNOWNNAME

public static final int DISP_E_UNKNOWNNAME
See Also:
Constant Field Values

DISP_E_NONAMEDARGS

public static final int DISP_E_NONAMEDARGS
See Also:
Constant Field Values
Constructor Detail

COMRuntime

public COMRuntime()
Method Detail

CoCreateInstance

@Deprecated
public static int CoCreateInstance(Pointer<Byte> rclsid,
                                              Pointer<IUnknown> pUnkOuter,
                                              int dwClsContext,
                                              Pointer<Byte> riid,
                                              Pointer<Pointer<?>> ppv)
Deprecated. 


getIID

public static <I extends IUnknown> Pointer<Byte> getIID(Class<I> type)
Get the IID declared for a class using the IID annotation.

Throws:
RuntimeException - if the class isn't annotated with IID

getCLSID

public static <I extends IUnknown> Pointer<Byte> getCLSID(Class<I> type)
Get the CLSID declared for a class using the CLSID annotation.

Throws:
RuntimeException - if the class isn't annotated with CLSID

getSeverityOfMissingSymbol

protected Level getSeverityOfMissingSymbol(Method method)
Overrides:
getSeverityOfMissingSymbol in class CRuntime

initialize

public static void initialize()
Initialize COM the current thread (uninitialization is done automatically upon thread death).
Calls CoInitialize with COINIT_MULTITHREADED max once per thread.
This is called automatically in newInstance(Class), so you'll typically never need to call this method by hand.


newInstance

public static <I extends IUnknown> I newInstance(Class<I> type)
                                      throws ClassNotFoundException
Throws:
ClassNotFoundException

newInstance

public static <T extends IUnknown,I extends IUnknown> I newInstance(Class<T> instanceClass,
                                                                    Class<I> instanceInterface)
                                      throws ClassNotFoundException
Throws:
ClassNotFoundException

parseGUID

public static Pointer<?> parseGUID(String descriptor)

getValue

public static Object getValue(VARIANT v)
Convert the VARIANT value to an equivalent Java value.

Throws:
UnsupportedOperationException - if the VARIANT type is not handled yet
RuntimeException - if the VARIANT is invalid

setValue

public static VARIANT setValue(VARIANT v,
                               Object value)

toString

public static String toString(VARIANT v)

clone

public static VARIANT clone(VARIANT v)


Copyright © 2009-2012. All Rights Reserved.