![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
com.contactci.coreconductor
Advanced tools
C# wrapper library for interacting with the Maestro Windows service
This is a thin P/Invoke wrapper around the C++ legacycore DLLs. With this you can develop C# applications against the Maestro Windows service.
You need to add our private nuget repository to your project. You can do this through your IDE in various ways, through the command line, or through a global config file. The simplest approach is to add a nuget.config
file to the root of your project with the following:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="ContactCI" value="https://gitlab.contact.ci/api/v4/projects/52/packages/nuget/index.json" />
</packageSources>
</configuration>
(you can also just copy the nuget.config
from this project)
Then you can add the ContactCI.Maestro.CoreConductor
nuget package to your project.
This package includes ContactCI.Maestro.libcore
as a dependency. This is hosted in the same repo, and should automatically download as part of the nuget restore
operation.
The libcore
package contains the C++ DLLs as a reusable component. This is intended for non-C# applications to consume.
These libraries are also published as NPM packages.
First, call MaestroSessionManager.StartSession
, which will return true
if the Windows service is alive and offers the client a session. There is a corresponding StopSession
to de-register your client with the service. Please ensure your client application can gracefully handle all exit conditions and closes its session properly.
From there, the functions are mostly self-explanatory.
Internally, the current haptic state is stored in a section of memory shared between the service and client. An event system notifies the clients and host when a state change has happened or is requested, respectively. The state object which is exposed by this API is a copy of that state, so you'll need to rely on the events to make sure you're current.
To subscribe to haptic state change events, you must call StartHapticWatcher
. This spawns a Task on the thread pool that waits on the named event and dispatches events. To cancel this thread, you must call StopHapticWatcher
. StopSession
will internally stop the haptic watcher if it is active.
To read the current haptics, call GetHaptics
. You'll get a haptic state struct for each hand, or null if that hand is not present.
The SetHaptics
call is similar, though you must explicitly tell the service which hand to apply haptics to. This immediately signals the service to apply haptics to the selected glove, if it's online.
See BUILDING.md (only available internally)
FAQs
C# wrapper library for interacting with the Maestro Windows service
We found that com.contactci.coreconductor demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.