These structures are exclusively defined as one would find on the ODM and IDM channels in a REDHAWK system since those structures are simply converted into dictionaries and lists, as appropriate, but using JSON for syntax.

NOTE: The provided enumeration value for the affected fields was arbitrarily chosen as the index within the defining list so that the structure provided here is similar to Properties.

ODM Events

{
    "producerId":       "DCE:9ae444e0-0bfd-4e3d-b16c-1cffb3dc0f46",
    "sourceId":         "DCE:820e3275-4462-4823-b754-e09b4712869e", 

    "sourceName":       "FEIDevice_1", 
    "sourceCategory":   { 
        /* See enumerations */ 
        "value":        "DEVICE"
        "enumerations": {
            "DEVICE_MANAGER"        : 0, 
            "DEVICE"                : 1,
            "APPLICATION_FACTORY"   : 2,
            "APPLICATION"           : 3,
            "SERVICE"               : 4
        }
    },
    "sourceIOR":        "" /* OPTIONAL */
}

The sourceIOR and other object reference types are stripped since they’re of little use on the other side of the socket. Instead you will see the key name, like sourceIOR, but the value will be a string indicating it does not represent what the real value was in any way. NOTE: The presence of the sourceIOR key indicates the entity was added to the Domain.

IDM Events

{
    "producerId":       "DCE:9ae444e0-0bfd-4e3d-b16c-1cffb3dc0f46",
    "sourceId":         "DCE:820e3275-4462-4823-b754-e09b4712869e", 

    "stateChangeCategory": {
        /* See enumerations */
        "value":        "ADMINISTRATIVE_STATE_EVENT",
        "enumerations": {
            "ADMINISTRATIVE_STATE_EVENT"    : 0,
            "OPERATIONAL_STATE_EVENT"       : 1,
            "USAGE_STATE_EVENT"             : 2
        }
    },
    "stateChangeFrom": {
        /* See enumerations */
        "value":        "LOCKED",
        "enumerations": {
            "LOCKED"        : 0,
            "UNLOCKED"      : 1,
            "SHUTTING_DOWN" : 2,
            "ENABLED"       : 3,
            "DISABLED"      : 4,
            "IDLE"          : 5,
            "ACTIVE"        : 6,
            "BUSY"          : 7
        }
    },
    "stateChangeTo" : {
        /* Identical behavior to stateChangeFrom */
    }
}