com.partnersoft.os.windows
Class AtlLib

java.lang.Object
  extended by com.partnersoft.os.windows.AtlLib

public class AtlLib
extends java.lang.Object

ATL (Active Template Library) is a Visual Studio runtime library we use to create ActiveX controls like the Trimble GPS Receiver. This native library depends on ATL80.dll, which if missing could prevent the native library from loading, which is why we separated it into its own native library. ATL80.dll must be installed by a Windows Installer, for which we have built PartnerAtlInstaller.msi.

Author:
Russell Cagle Copyright 2006 Partner Software, Inc.

Field Summary
static java.lang.String dllName
          Should look for PartnerAtl.dll.
 
Constructor Summary
AtlLib()
           
 
Method Summary
static long AtlAxCreateControlLic(java.lang.String name, long hwnd, java.lang.String license)
          Creates a licensed ActiveX control, initializes it, and hosts it in the specified window.
static long AtlAxGetControl(long hwnd)
           
static boolean AtlAxWinInit()
          Calling this multiple times is fine, I think.
static boolean checkAtlLibrary()
           
static java.lang.String GetWndClassName()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dllName

public static final java.lang.String dllName
Should look for PartnerAtl.dll.

See Also:
Constant Field Values
Constructor Detail

AtlLib

public AtlLib()
Method Detail

AtlAxCreateControlLic

public static long AtlAxCreateControlLic(java.lang.String name,
                                         long hwnd,
                                         java.lang.String license)
Creates a licensed ActiveX control, initializes it, and hosts it in the specified window. Per the docs, you can pass in "MSHTML::(some HTML)" and get back presumably an IE window.

Parameters:
name - the ProgID, CLSID, URL, or reference to an ActiveX document.
hwnd - parent window handle.
license - the license for the control.
Returns:
the IUnknown pointer.
Throws:
java.lang.RuntimeException - if the call fails.

AtlAxWinInit

public static boolean AtlAxWinInit()
Calling this multiple times is fine, I think.

Returns:
the success or failure of ATL initialization.

AtlAxGetControl

public static long AtlAxGetControl(long hwnd)
Returns:
a pointer to the control's IUnknown.

GetWndClassName

public static java.lang.String GetWndClassName()
Returns:
the class name of ATL's ActiveX container window class. Pass it as the className argument to Win32Lib.CreateWindow().

checkAtlLibrary

public static boolean checkAtlLibrary()