forked from java-native-access/jna
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GITHUB-1286] Fix DBT Bindings and Win32WindowDemo
- Ensure all structures defined in com.sun.jna.platform.win32.DBT can be instantiated - Use correct mapping for DEV_BROADCAST_PORT#dbcp_name. And add accessor for the string value of that property. This is an API incompatible change, but the class could not be instantiated, so it is assumed, that it is a safe change - Prevent potential out-of-bounds read in DEV_BROADCAST_DEVICEINTERFACE - Make demo-nativewindowmsg.jar runnable Closes: java-native-access#1286
- Loading branch information
1 parent
c44a545
commit d2b04e5
Showing
5 changed files
with
109 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
50 changes: 50 additions & 0 deletions
50
contrib/platform/test/com/sun/jna/platform/win32/DBTTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
/* Copyright (c) 2020 Matthias Bläsing | ||
* | ||
* The contents of this file is dual-licensed under 2 | ||
* alternative Open Source/Free licenses: LGPL 2.1 or later and | ||
* Apache License 2.0. (starting with JNA version 4.0.0). | ||
* | ||
* You can freely decide which license you want to apply to | ||
* the project. | ||
* | ||
* You may obtain a copy of the LGPL License at: | ||
* | ||
* http://www.gnu.org/licenses/licenses.html | ||
* | ||
* A copy is also included in the downloadable source code package | ||
* containing JNA, in file "LGPL2.1". | ||
* | ||
* You may obtain a copy of the Apache License at: | ||
* | ||
* http://www.apache.org/licenses/ | ||
* | ||
* A copy is also included in the downloadable source code package | ||
* containing JNA, in file "AL2.0". | ||
*/ | ||
package com.sun.jna.platform.win32; | ||
|
||
import com.sun.jna.Structure; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_DEVICEINTERFACE; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_DEVNODE; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_HANDLE; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_HDR; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_NET; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_OEM; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_PORT; | ||
import com.sun.jna.platform.win32.DBT.DEV_BROADCAST_VOLUME; | ||
import org.junit.Test; | ||
|
||
public class DBTTest { | ||
@Test | ||
public void testInstantiation() { | ||
// Ensure, that the structures can be instantiated | ||
Structure.newInstance(DEV_BROADCAST_DEVICEINTERFACE.class); | ||
Structure.newInstance(DEV_BROADCAST_DEVNODE.class); | ||
Structure.newInstance(DEV_BROADCAST_HANDLE.class); | ||
Structure.newInstance(DEV_BROADCAST_HDR.class); | ||
Structure.newInstance(DEV_BROADCAST_NET.class); | ||
Structure.newInstance(DEV_BROADCAST_OEM.class); | ||
Structure.newInstance(DEV_BROADCAST_PORT.class); | ||
Structure.newInstance(DEV_BROADCAST_VOLUME.class); | ||
} | ||
} |