winIDEA SDK
isys::CPluginController Class Reference

Description

This class is used to control winIDEA plugins.

It can provide content of the plugin view, invoke plugin specific commands, and refresh the view.

Python example: test_plugin_control.py

#include <CPluginController.h>

Inheritance diagram for isys::CPluginController:
isys::WrapperBase

Public Member Functions

void close (const std::string &rstrViewName)
 Closes a view. More...
 
 CPluginController (std::shared_ptr< ConnectionMgr > spConnectionMgr, const std::string &rstrPluginName)
 This class provides winIDEA plugin control. More...
 
iconnect::StrStrVectorMap get_content (const std::string &rstrViewName, const std::string &rstrItemPath, const iconnect::IntVector &rvnColumns, bool bIsRecursive=true, bool bExpandOnDemand=false)
 Returns view content. More...
 
std::string invoke (const std::string &rstrCommand, const std::string &rstrParameters)
 This method invokes plugin specific commands (non generic). More...
 
std::string invoke (const std::string &rstrViewName, const std::string &rstrCommand, const std::string &rstrParameters)
 This method invokes plugin specific commands (non generic). More...
 
bool is_open (const std::string &rstrViewName)
 Returns true if view is open. More...
 
void open (const std::string &rstrViewName)
 Opens a view. More...
 
void refresh (const std::string &rstrViewName)
 Refreshes a view. More...
 

Constructor & Destructor Documentation

◆ CPluginController()

isys::CPluginController::CPluginController ( std::shared_ptr< ConnectionMgr spConnectionMgr,
const std::string &  rstrPluginName 
)

This class provides winIDEA plugin control.

Parameters
spConnectionMgrconnection object
rstrPluginNameas defined in winIDEA

Python example: test_plugin_control.py

Member Function Documentation

◆ close()

void isys::CPluginController::close ( const std::string &  rstrViewName)

Closes a view.

Exceptions
IOExceptionif operation fails.
Parameters
rstrViewNamespecifies view name

Python example: test_plugin_control.py

◆ get_content()

iconnect::StrStrVectorMap isys::CPluginController::get_content ( const std::string &  rstrViewName,
const std::string &  rstrItemPath,
const iconnect::IntVector rvnColumns,
bool  bIsRecursive = true,
bool  bExpandOnDemand = false 
)

Returns view content.

Exceptions
IOExceptionif operation fails.
Parameters
rstrViewNameview name
rstrItemPathitem path (starts with '/', components are delimited with '/'); if empty, all items will be returned
rvnColumnscolumn indexes (0-based); if empty, all columns will be returned
bIsRecursiveif true, all descendants of the specified item will be returned too
bExpandOnDemandif true, all items on the way to (and including) the specified item will be temporarily expanded to load their contents if necessary
Returns
view content as map - keys are item paths, their values are vectors of column values; the "header" key contains column names

Python example: test_get_content.py

◆ invoke() [1/2]

std::string isys::CPluginController::invoke ( const std::string &  rstrCommand,
const std::string &  rstrParameters 
)

This method invokes plugin specific commands (non generic).

Exceptions
IOExceptionif operation fails.
Parameters
rstrCommandcommand name
rstrParameterscommand parameters separated by colon
Returns
command operation results Python example: test_plugin_control.py

◆ invoke() [2/2]

std::string isys::CPluginController::invoke ( const std::string &  rstrViewName,
const std::string &  rstrCommand,
const std::string &  rstrParameters 
)

This method invokes plugin specific commands (non generic).

Exceptions
IOExceptionif operation fails.
Parameters
rstrViewNamespecifies view name
rstrCommandcommand
rstrParameterscommand parameters separated by colon
Returns
command operation results Python example: test_plugin_control.py

◆ is_open()

bool isys::CPluginController::is_open ( const std::string &  rstrViewName)

Returns true if view is open.

Exceptions
IOExceptionif operation fails.
Parameters
rstrViewNamespecifies view name
Returns
true if view open, false otherwise

Python example: test_plugin_control.py

◆ open()

void isys::CPluginController::open ( const std::string &  rstrViewName)

Opens a view.

Exceptions
IOExceptionif operation fails.
Parameters
rstrViewNamespecifies view name

Python example: test_plugin_control.py

◆ refresh()

void isys::CPluginController::refresh ( const std::string &  rstrViewName)

Refreshes a view.

Exceptions
IOExceptionif operation fails.
Parameters
rstrViewNamespecifies view name

Python example: test_plugin_control.py