HTTP GET

/ redhawk / rest / domains / DOMAIN_NAME / applications / APPLICATION_ID / components

{
    "components": [
        { 
            "id":   "componentId", 
            "name": "componentName" 
        }
    ]
}

The components list can be indexed further by using the id field of interest.

HTTP GET

/ redhawk / rest / domains / DOMAIN_NAME / applications / APPLICATION_ID / components / COMPONENT_ID

{
    "id":       "componentId",
    "name":     "componentName",
    "started":  false,  /* or true */
    "properties": [
        /* List of property structures */
    ],
    "ports": [
        /* List of port structures */
    ]
}
HTTP GET

/ PARENT_PATH / properties

{
    "properties": [
        /* List of property structures */
    ]
}

The properties field is a list of structures indexed by id following this general format:

{
    "id":       "propertyId",
    "name":     "propertyName",
    "kinds":    [],          /* configure, allocation, execparam, event, message */
    "scaType":  "simple",    /* simple, struct, simpleseq, structseq */
    "mode":     "readwrite", /* readonly, writeonly, readwrite */
    "value":    "",          /* Depends on scaType */
}

For more information on the structures, see Properties.

HTTP PUT

/ PARENT_PATH / properties

{
    "properties": [ 
        /* simplified list of properties */
        {
            "id":       "propertyId",
            "value":    ""  /* As appropriate */   
        },
    ]
}

The properties field is a list of structures which follow the structures defined in Properties with the exception that only the id and value fields are important. Everything else is optional and will be ignored at the server.

Unlike Devices, Component properties can only be configured (the function of which only returns void). Therefore the server does not emit a response structure as it does for Devices.

HTTP GET

/ PARENT_PATH / ports

{
    "ports": [
        /* List of port structures */
    ]
}

The general format for ports is shown here:

{
    "name":     "portName",
    "repId":    "IDL:<namespace>/<type>:<version>",
    "direction": "Uses", /* or Provides */
    "idl": {
        "namespace":    "BULKIO", /* or FRONTEND */
        "version":      ":<version>",
        "type":         "<type>"
    }
}

The list can be indexed using the name field. See Ports for more information.