wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
ICHandler Class Reference

Handler for IC (Integrated Circuit) commands. More...

#include <ICHandler.h>

Inheritance diagram for ICHandler:
[legend]

Public Member Functions

QJsonObject handleCommand (const QString &command, const QJsonObject &params, const QJsonValue &requestId) override
 ICHandler (MainWindow *mainWindow, const MCPValidator *validator)
Public Member Functions inherited from BaseHandler
QString availableInputPorts (GraphicElement *element) const
QString availableOutputPorts (GraphicElement *element) const
 BaseHandler (MainWindow *mainWindow, const MCPValidator *validator)
QJsonObject createErrorResponse (const QString &error, const QJsonValue &requestId=QJsonValue(), int code=JsonRpcError::InternalError) const
QJsonObject createSuccessResponse (const QJsonObject &result={}, const QJsonValue &requestId=QJsonValue()) const
ScenecurrentScene ()
const ScenecurrentScene () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool inputPortByLabel (GraphicElement *element, const QString &label, int &portIndex, QString &errorMsg) const
bool outputPortByLabel (GraphicElement *element, const QString &label, int &portIndex, QString &errorMsg) const
template<typename Fn>
QJsonObject tryCommand (Fn &&fn, const QString &action, const QJsonValue &requestId=QJsonValue())
 Wraps fn in a try/catch, returning an error response on exception.
GraphicElementvalidatedElement (const QJsonObject &params, const QString &paramName, QString &errorMsg)
 Validates paramName in params, looks up the element, and returns it.
bool validateElementId (int elementId, const QString &paramName, QString &errorMsg) const
bool validateNonEmptyString (const QJsonValue &value, const QString &paramName, QString &errorMsg) const
bool validateNonNegativeInteger (const QJsonValue &value, const QString &paramName, QString &errorMsg) const
bool validateNumeric (const QJsonValue &value, const QString &paramName, QString &errorMsg) const
bool validateParameters (const QJsonObject &params, const QStringList &required) const
bool validatePortRange (GraphicElement *element, int portIndex, bool isOutput, const QString &paramName, QString &errorMsg) const
bool validatePositiveInteger (const QJsonValue &value, const QString &paramName, QString &errorMsg) const
virtual ~BaseHandler ()=default

Additional Inherited Members

Protected Member Functions inherited from BaseHandler
QString availablePorts (GraphicElement *element, bool isOutput) const
Protected Attributes inherited from BaseHandler
MainWindowm_mainWindow
const MCPValidatorm_validator

Detailed Description

Handler for IC (Integrated Circuit) commands.

Handles all IC-related MCP commands: creating an IC from the current circuit, instantiating an IC into the scene, listing available ICs, and embedding/extracting IC blobs.

Definition at line 16 of file ICHandler.h.

Constructor & Destructor Documentation

◆ ICHandler()

ICHandler::ICHandler ( MainWindow * mainWindow,
const MCPValidator * validator )
explicit

Definition at line 34 of file ICHandler.cpp.

References BaseHandler::BaseHandler().

Member Function Documentation

◆ handleCommand()

QJsonObject ICHandler::handleCommand ( const QString & command,
const QJsonObject & params,
const QJsonValue & requestId )
overridevirtual

Implements BaseHandler.

Definition at line 39 of file ICHandler.cpp.

References BaseHandler::createErrorResponse(), and JsonRpcError::MethodNotFound.


The documentation for this class was generated from the following files: