Workspace 6.21.5
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
SshPlugin Class Reference

Provides workspace operations for ssh support.

#include <SSH/SSHPlugin/sshplugin.h>

Inheritance diagram for SshPlugin:
[legend]

Public Member Functions

 SshPlugin ()
 
QString getPackageURI () const override
 
const WorkspacePlugin::PreviousVersionNameMapgetPreviousNames () const override
 
bool isVisible () const override
 
bool setup () override
 
bool setupSchedulerProvider (DataExecution::SchedulerProviderManager &manager) override
 
- Public Member Functions inherited from WorkspacePlugin
 WorkspacePlugin (const QString &name, const QString &displayName, const QString &version, const QString &buildDescription=QString::null)
 
 WorkspacePlugin (const QString &name, const QString &displayName, int versionMajor, int versionMinor, int versionRevision, const QString &buildDescription=QString::null)
 
virtual ~WorkspacePlugin ()
 
virtual PluginConfigcreatePluginConfig ()
 
virtual PluginMenucreatePluginMenu ()
 
const QString & getBuildDescription () const
 
virtual QStringList getCustomWidgetPaths () const
 
virtual const DataExecution::DataFactorygetDataFactory (const QString &dataType) const
 
const DataExecution::DataFactorygetDataFactory (size_type index) const
 
virtual QString getDefaultHelpPagePath () const
 
virtual QString getDefaultIconPath () const
 
virtual WorkspacePluginList getDependencies () const
 
const QString & getDisplayName () const
 
virtual QString getHelpFile () const
 
const QString & getLibraryFileName () const
 
virtual QStringList getLicensePaths () const
 
const QString & getName () const
 
size_type getNumDataFactories () const
 
size_type getNumOperationFactories () const
 
size_type getNumWidgetFactories () const
 
virtual const DataExecution::OperationFactorygetOperationFactory (const QString &opType, bool ignoreAliasedOperations=false) const
 
const DataExecution::OperationFactorygetOperationFactory (size_type index) const
 
virtual QString getPackageURI () const
 
virtual const PreviousVersionNameMapgetPreviousNames () const
 
const QString & getVersion () const
 
const Widgets::WidgetFactorygetWidgetFactory (size_type index) const
 
virtual bool isVisible () const
 
void logText (const QString &message)
 
virtual void onWorkspaceClose ()
 
void setLibraryFileName (const QString &fileName)
 
virtual bool setup ()=0
 
virtual bool setupAuthenticationProvider (Authentication::ProviderManager &manager)
 
virtual bool setupSchedulerProvider (DataExecution::SchedulerProviderManager &manager)
 
void showHelp (const QMap< QString, QUrl > &links, const QString &keyword="")
 
void showHelp (const QString &keyword)
 
void showHelp (const QUrl &url)
 
bool wasPreviouslyNamed (const QString &oldName) const
 

Static Public Member Functions

static SshPlugingetInstance ()
 

Protected Member Functions

const DataExecution::DataFactorygetAliasedDataFactory (const QString &dataType) const override
 
const DataExecution::OperationFactorygetAliasedOperationFactory (const QString &opType) const override
 
- Protected Member Functions inherited from WorkspacePlugin
bool addFactory (const DataExecution::DataFactory &factory)
 
bool addFactory (const DataExecution::OperationFactory &factory)
 
bool addFactory (const DataExecution::TypeAdaptorFactory &factory, bool replaceExisting=false)
 
bool addFactory (const Widgets::WidgetFactory &factory)
 
bool addTranslation (const QString &fileName="")
 
void addWorkspaceCollection (const QString &location)
 
const DataExecution::DataFactoryforwardDataFactoryRequest (const QString &pluginName, const QString &dataType) const
 
const DataExecution::OperationFactoryforwardOperationFactoryRequest (const QString &pluginName, const QString &opType) const
 
virtual const DataExecution::DataFactorygetAliasedDataFactory (const QString &dataType) const
 
virtual const DataExecution::OperationFactorygetAliasedOperationFactory (const QString &opType) const
 

Additional Inherited Members

- Public Types inherited from WorkspacePlugin
using PreviousVersionNameMap = QMap< QString, QString >
 
using size_type = size_t
 
using WorkspacePluginList = QList< WorkspacePlugin * >
 
- Static Public Attributes inherited from WorkspacePlugin
static const QString DEFAULT_ICON_PATH = "images:/Workspace/core/operation_icon.png"
 

Constructor & Destructor Documentation

◆ SshPlugin()

SshPlugin ( )

Member Function Documentation

◆ getAliasedDataFactory()

const DataExecution::DataFactory * getAliasedDataFactory ( const QString &  dataType) const
overrideprotectedvirtual
Parameters
dataTypeName of a data type.

If a data type is renamed, this function provides a backwards compatibility mechanism so that the plugin can provide the new factory that corresponds to an old name. By default, this function returns a null pointer, but subclasses can override it to provide an appropriate factory if a data type is renamed. Note that this function is only called by getDataFactory() if it could not find the factory from the plugin directly. Subclasses can assume that the request for dataType will only be made when the plugin has already been correctly identified by name (ie no functionality is provided for renaming a plugin).

Returns
The factory that should be used for data objects of the type dataType, or a null pointer if no appropriate factory exists.

Reimplemented from WorkspacePlugin.

◆ getAliasedOperationFactory()

const DataExecution::OperationFactory * getAliasedOperationFactory ( const QString &  opType) const
overrideprotectedvirtual
Parameters
opTypeName of an operation.

If an operation is renamed, this function provides a backwards compatibility mechanism so that the plugin can provide the new factory that corresponds to an old name. By default, this function returns a null pointer, but subclasses can override it to provide an appropriate factory if an operation is renamed. Note that this function is only called by getOperationFactory() if it could not find the factory from the operation factory manager. Subclasses can assume that the request for opType will only be made when the plugin has already been correctly identified by name (ie no functionality is provided for renaming a plugin).

Returns
The factory that should be used for operations of the type opType, or a null pointer if no appropriate factory exists.

Reimplemented from WorkspacePlugin.

◆ getInstance()

SshPlugin & getInstance ( )
static
Returns
The ssh plugin instance.

The first call to this function is not thread-safe, since it creates the plugin instance. All subsequent calls are then thread-safe. Given that the workspace application will call this function on startup when only one thread is active, client code can therefore call this function with the assumption that it is thread-safe.

◆ getPackageURI()

QString getPackageURI ( ) const
overridevirtual
Returns
A unique URI that can be used to record the origin of this plugin for provenance recording purposes. This URI should be unique for each platform and released of this plugin.

An example implementation might be: return getName() + "/" + getVersion() + "/" + System::Utilities::getPlatformString() + "/" + System::Utilities::getPlatformArchitectureString();

Reimplemented from WorkspacePlugin.

◆ getPreviousNames()

const WorkspacePlugin::PreviousVersionNameMap & getPreviousNames ( ) const
overridevirtual
Returns
A map of versionNumber -> name, indicating the version at which the plugin stopped using that particular name. e.g. "3.0" -> "www.csiro.au/cfd/workspace" indicates that at version 3.0, the workspace plugin no longer used that name.

Reimplemented from WorkspacePlugin.

◆ isVisible()

bool isVisible ( ) const
overridevirtual

A plugin may be made invisible when it is an implementation detail. One example of this is when a plugin is refactored or renamed, but the developer wants to allow old workspaces to keep working. In such a case, the plugin is retained but made invisible, and all its getOperationFactory() and getDataFactory() functions forward to the new plugin(s). The old plugin would not add any data or operation factories of its own.

Returns
True if the plugin should be made visible to the user. Plugins are visible by default.

Reimplemented from WorkspacePlugin.

◆ setup()

bool setup ( )
overridevirtual

This function will be called by the workspace application when the plugin is loaded. The function must register all factories it supplies (operations, data objects, etc.) with calls to addFactory(). Note that this function is the only place where addFactory() should be called (ie never in a plugin's constructor). A plugin may also do any other processing it requires in setup() before the plugin is used.

Returns
True if successful, false otherwise. If the plugin is being loaded and setup() returns false, the loading of the plugin is assumed to have failed and it will therefore not be available to clients.
See also
setupSchedulerProvider(), setupAuthenticationProvider()

Implements WorkspacePlugin.

◆ setupSchedulerProvider()

bool setupSchedulerProvider ( DataExecution::SchedulerProviderManager manager)
overridevirtual

This function will be called by the workspace application when the plugin is loaded. The function must register all schedulers it supplies with calls to manager.addProvider(). Note that this function is the only place where addProvider() should be called (ie never in a plugin's constructor).

Returns
True if successful, false otherwise. If the plugin is being loaded and setupScheduler() returns false, the loading of the plugin is assumed to have failed and it will therefore not be available to clients.
See also
setup(), setupAuthenticationProvider()

Reimplemented from WorkspacePlugin.