Skip to content

C++/Qt Plugin Development Guide v1.0.0

This guide covers Linux platform (C++/Qt technology stack) plugin development. For the common concepts shared across plugin development (ARCS workflow, installation nodes and program nodes, etc.), please refer to the Plugin Development Guide and choose the development platform that best fits your requirements.

Plugin Template Structure

API

AuboStudio provides API interfaces that users can directly call during plugin development, reducing development time. Based on the usage restrictions of different APIs in installation nodes and program nodes, APIs can be divided into two main categories: domain_api and aubo_cpa_api. Within domain_api, system_api, user_interface_api, and application_api can be used in both installation nodes and program nodes. The program_api in aubo_cpa_api is only usable in program nodes, while installation_api is exclusive to installation nodes. For detailed descriptions of domain_api and aubo_cpa_api, refer to the diagram below.

注意

For detailed information on each interface, please refer to the Appendix: aubo_caps API

API Usage Overview

In the template, both installation nodes and program nodes include three classes: service, contribution, and view. The service class in installation nodes serves to create contribution and view classes. The contribution class contains data-related content, while the view class contains interface-related content. Details are as follows:

  1. Interfaces in the service class of installation nodes:

    getTitlegetIconcreateViewconfigureContributioncreateInstallationNode

  2. Interfaces in the service class of program nodes:

    getTitlegetIcongetIdcreateViewconfigureContributioncreateNode

  3. api_provider_ interface in the contribution class of installation nodes:

    systemApiuserInterfaceApiinstallationApi

  4. api_provider_ interface in the contribution class of program nodes:

    systemApiuserInterfaceApiprogramApi

  5. view_api_ interface in both installation nodes and program nodes' view classes:

    systemApiuserInterfaceApi

  6. Accessing data using DataModel:

    1. Configuration Data is generally stored in the [/root/arcs_ws/program] folder. When aubo_scope starts, the saved configuration data is loaded into the DataModel.
    2. The interface DataModelPtr model_{ nullptr } provides a mechanism in both installation and program environments. This interface allows storing data items into the DataModel (currently supporting only specific data types, details in Appendix: aubo_caps API).
    3. Usage of the interface DataModelPtr model_{ nullptr }:
      1. Add the header file #include "aubo_caps++/meta_type.h".
      2. Add DECLARE_ATTRin the private section of the contribution class.