Skip to content

Add package for addons to store plugin independent code #14359

@LeonarddeR

Description

@LeonarddeR

Is your feature request related to a problem? Please describe.

An addon can contain appModules, brailleDisplayDrivers, synthDrivers, globalPlugins and visionEnhancementProviders. However, there is no way for addons to store code that has to be shared between packages. Imagine a case where a constant has to be defined that has to be available in both an appModule and a globalPlugin. I'm pretty sure @josephsl might know of other cases like this.
In my case, I want to store a base class subclassing driverHandler.Driver that will be a base of both a synthDriver and brailleDisplayDriver.

Describe the solution you'd like

I'd like to suggest the possibility for addons to provide code for the following NVDA packages:

  • comInterfaces: for addons requiring com interface definitions that can be resolved with comTypes automatically (i.e. without doing a magic import trick to make the comInterface available to comtypes)
  • utils: package that can hold classes and modules that ought to be shared between plugins in the addon

Cc @josephsl and other addon contributors

Metadata

Metadata

Assignees

No one assigned

    Labels

    Addon/APIChanges to NVDA's API for addons to support addon development.audience/nvda-devPR or issue is relevant to NVDA / Add-on developersp5https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions