AJ_Status marshalPropertyValue(PropertyWidget* widget, AJ_Message* reply, uint16_t language) { switch (widget->propertyType) { case SINGLE_VALUE_PROPERTY: return MarshalVariant(reply, widget->signature, widget->getValue()); case DATE_VALUE_PROPERTY: return marshalDatePropertyValue(widget->getValue(), reply); case TIME_VALUE_PROPERTY: return marshalTimePropertyValue(widget->getValue(), reply); } return AJ_ERR_UNEXPECTED; }
AJ_Status AddConstraintRange(AJ_Message* reply, const char* valueSig, const void* min, const void* max, const void* increment) { AJ_Status status; AJ_Arg structArg; status = AJ_MarshalContainer(reply, &structArg, AJ_ARG_STRUCT); if (status != AJ_OK) { return status; } status = MarshalVariant(reply, valueSig, min); if (status != AJ_OK) { return status; } status = MarshalVariant(reply, valueSig, max); if (status != AJ_OK) { return status; } status = MarshalVariant(reply, valueSig, increment); if (status != AJ_OK) { return status; } return AJ_MarshalCloseContainer(reply, &structArg); }
AJ_Status AddConstraintValue(AJ_Message* reply, const char* sig, const void* value, const char* displayValue) { AJ_Status status; AJ_Arg structArg; status = AJ_MarshalContainer(reply, &structArg, AJ_ARG_STRUCT); if (status != AJ_OK) { return status; } status = MarshalVariant(reply, sig, value); if (status != AJ_OK) { return status; } status = AJ_MarshalArgs(reply, "s", displayValue); if (status != AJ_OK) { return status; } return AJ_MarshalCloseContainer(reply, &structArg); }
AJ_Status AddBasicOptionalParam(AJ_Message* reply, uint16_t key, const char* sig, const void* value) { AJ_Status status; AJ_Arg dictArg; status = AJ_MarshalContainer(reply, &dictArg, AJ_ARG_DICT_ENTRY); if (status != AJ_OK) { return status; } status = AJ_MarshalArgs(reply, "q", key); if (status != AJ_OK) { return status; } status = MarshalVariant(reply, sig, value); if (status != AJ_OK) { return status; } return AJ_MarshalCloseContainer(reply, &dictArg); }