mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Added code to detect if running on 64bit Windows to the Win32NetBIOS static initializer method and load the appropriate DLL.
Added the X64 utility class, currently just has a method for detecting 64bit Windows. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2627 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -25,6 +25,7 @@ import java.util.Hashtable;
|
|||||||
import org.alfresco.filesys.netbios.NetBIOSName;
|
import org.alfresco.filesys.netbios.NetBIOSName;
|
||||||
import org.alfresco.filesys.util.DataBuffer;
|
import org.alfresco.filesys.util.DataBuffer;
|
||||||
import org.alfresco.filesys.util.IPAddress;
|
import org.alfresco.filesys.util.IPAddress;
|
||||||
|
import org.alfresco.filesys.util.X64;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Win32 NetBIOS Native Call Wrapper Class
|
* Win32 NetBIOS Native Call Wrapper Class
|
||||||
@@ -696,15 +697,23 @@ public class Win32NetBIOS
|
|||||||
*/
|
*/
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
|
// Check if we are running under 64 bit Windows
|
||||||
|
|
||||||
|
String dllName = "Win32NetBIOS";
|
||||||
|
|
||||||
|
if ( X64.isWindows64())
|
||||||
|
dllName = "Win32NetBIOSx64";
|
||||||
|
|
||||||
// Load the Win32 NetBIOS interface library
|
// Load the Win32 NetBIOS interface library
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
System.loadLibrary("Win32NetBIOS");
|
System.loadLibrary( dllName);
|
||||||
}
|
}
|
||||||
catch (Throwable ex)
|
catch (Throwable ex)
|
||||||
{
|
{
|
||||||
|
ex.printStackTrace();
|
||||||
|
|
||||||
// Save the native code load exception
|
// Save the native code load exception
|
||||||
|
|
||||||
m_loadDLLException = ex;
|
m_loadDLLException = ex;
|
||||||
|
66
source/java/org/alfresco/filesys/util/X64.java
Normal file
66
source/java/org/alfresco/filesys/util/X64.java
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2005 Alfresco, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Mozilla Public License version 1.1
|
||||||
|
* with a permitted attribution clause. You may obtain a
|
||||||
|
* copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.alfresco.org/legal/license.txt
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
|
* either express or implied. See the License for the specific
|
||||||
|
* language governing permissions and limitations under the
|
||||||
|
* License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.alfresco.filesys.util;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* X64 Class
|
||||||
|
*
|
||||||
|
* <p>Check if the platform is a 64bit operating system.
|
||||||
|
*
|
||||||
|
* @author gkspencer
|
||||||
|
*/
|
||||||
|
public class X64
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Check if we are running on a Windows 64bit system
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public static boolean isWindows64()
|
||||||
|
{
|
||||||
|
// Check for Windows
|
||||||
|
|
||||||
|
String prop = System.getProperty("os.name");
|
||||||
|
if ( prop == null || prop.startsWith("Windows") == false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Check the OS architecture
|
||||||
|
|
||||||
|
prop = System.getProperty("os.arch");
|
||||||
|
if ( prop != null && prop.equalsIgnoreCase("amd64"))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
// Check the VM name
|
||||||
|
|
||||||
|
prop = System.getProperty("java.vm.name");
|
||||||
|
if ( prop != null && prop.indexOf("64-Bit") != -1)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
// Check the data model
|
||||||
|
|
||||||
|
prop = System.getProperty("sun.arch.data.model");
|
||||||
|
if ( prop != null && prop.equals("64"))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
// Not 64 bit Windows
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user