Skip to content

hivesolutions/colony-npapi

Repository files navigation

NPAPI-based plugin that provides a series of native features like:

  • Printing using direct access to the printing infra-structure of the operative system
  • Creation of native-based GUI elements

The current implementation supports only x86/x64 architectures and Windows, Linux, and Mac OS X.

Building

To build both the CRX (Google Chrome) and the XPI (Mozilla Firefox) files for the plugin one should use the scripts created for such effect under the scripts directory. The automated process assumes the Windows build process using the Visual Studio IDE.

Windows

Use Visual Studio 2008 Express for compilation with no additional dependencies. The build process should create the plugin files in the output.

Mac OS X

Download the Gecko SDK 1.9 32 bit from the official website.

Use the /Library/Internet Plug-Ins/ directory to test the plugin while the proper extension package file is not created. Remember to rename the *.bundle package into an *.plugin based package.

Linux

Use the /usr/lib/mozilla/plugins/ directory to test the *.so based plugin file for development purposes. Mozilla Firefox should be the primary browser for the debugging of the NPAPI-based plugin.

Python

It's also possible to build a Python module that exports the functionality in the NPAPI Plugin for running the python script as python setup.py install under an UNIX-based machine.

Packaging

Google Chrome

Create a package file containing references to the complete set of plugin files for the various platforms as defined in the src/colony_npapi/descriptors/manifest_u.json file.

"plugins" : [{
    "path" : "npcolony.dll",
    "public" : true
}, {
    "path" : "libnpcolony.so",
    "public" : true
}, {
    "path" : "npcolony.plugin",
    "public" : true
}]

Copy the proper files (npcolony.dll, libnpcolony.so and npcolony.plugin) into the proper release directory and then run the make_all build script to create the target files (eg: cbx and xpi).

make_all build <dir>

Examples

There's an examples directory containing HTML samples to test the plugin.

License

Colony Gateway is currently licensed under the Apache License, Version 2.0.

Build Automation

Build Status Build Status GitHub Coverage Status PyPi Status License