The plugin manager is intended to be the primary first interaction for any plugin with the software development kit.

Golang Plugin Manager

package main
import{
	"errors"
	"github.com/usace/cc-go-sdk"
}
func main(){
	pm, err := cc.InitPluginManager()
	if err!=nil{
		log.Fatal("unable to initialize the cloud-compute plugin manager")
	}
	payload := pm.GetPayload()
}
CODE


Java Plugin Manager

package company.division.cc.plugin.PluginName;
import usace.cc.plugin.*;
public class PluginName{
	public static void main(String[] args){
		PluginManager pm = PluginManager.getInstance();//plugin manager is a singleton in java.
		Payload payload = pm.getPayload();
	}
}
CODE


DotNet PluginManager

// See https://aka.ms/new-console-template for more information
using Usace.CC.Plugin;
PluginManager pm = await PluginManager.CreateAsync();//plugin manager is a singleton in DotNet but it has async methods so the instance is fetched async.
Payload payload = pm.Payload;
CODE


The plugin manager simplifies access to the various capabilities of the plugin SDK.

It supports:

  • Consistent Error Logging
  • Consistent Messaging
  • Consistent Status Reporting
  • Provides access to a Payload