SML_API SmlMapPtr_t smlAllocMap() { SmlMapPtr_t p = (SmlMapPtr_t)smlLibMalloc(sizeof(SmlMap_t)); if (p == 0) return NULL; smlLibMemset(p, 0, sizeof(SmlMap_t)); p->elementType = SML_PE_MAP; p->cmdID = smlAllocPcdata(); if (p->cmdID == NULL) { smlFreeMap(p); return NULL; } p->target = smlAllocTarget(); if (p->target == NULL) { smlFreeMap(p); return NULL; } p->source = smlAllocSource(); if (p->source == NULL) { smlFreeMap(p); return NULL; } p->mapItemList = smlAllocMapItemList(); if (p->mapItemList == NULL) { smlFreeMap(p); return NULL; } return p; }
SML_API SmlMapItemPtr_t smlAllocMapItem() { SmlMapItemPtr_t p = (SmlMapItemPtr_t)smlLibMalloc(sizeof(SmlMapItem_t)); if (p == 0) return NULL; smlLibMemset(p, 0, sizeof(SmlMapItem_t)); p->target = smlAllocTarget(); if (p->target == NULL) { smlFreeMapItemPtr(p); return NULL; } p->source = smlAllocSource(); if (p->source == NULL) { smlFreeMapItemPtr(p); return NULL; } return p; }
SML_API SmlSyncHdrPtr_t smlAllocSyncHdr() { SmlSyncHdrPtr_t p = (SmlSyncHdrPtr_t)smlLibMalloc(sizeof(SmlSyncHdr_t)); if (p == NULL) return NULL; smlLibMemset(p, 0, sizeof(SmlSyncHdr_t)); p->elementType = SML_PE_HEADER; p->version = smlAllocPcdata(); if (p->version == NULL) { smlFreeSyncHdr(p); return NULL; } p->proto = smlAllocPcdata(); if (p->proto == NULL) { smlFreeSyncHdr(p); return NULL; } p->sessionID = smlAllocPcdata(); if (p->sessionID == NULL) { smlFreeSyncHdr(p); return NULL; } p->msgID = smlAllocPcdata(); if (p->msgID == NULL) { smlFreeSyncHdr(p); return NULL; } p->target = smlAllocTarget(); if (p->target == NULL) { smlFreeSyncHdr(p); return NULL; } p->source = smlAllocSource(); if (p->source == NULL) { smlFreeSyncHdr(p); return NULL; } return p; }
dmclt_err_t omadmclient_add_generic_alert(dmclt_session sessionH, char * correlator, dmclt_item_t * itemP) { internals_t * internP = (internals_t *)sessionH; SmlAlertPtr_t alertP; if (!internP || !itemP || !itemP->type || !itemP->format || !itemP->data) { return DMCLT_ERR_USAGE; } alertP = smlAllocAlert(); if (NULL == alertP) { return DMCLT_ERR_MEMORY; } alertP->data = smlString2Pcdata("1226"); if (NULL == alertP->data) { smlFreeAlert(alertP); return DMCLT_ERR_MEMORY; } if (correlator) { alertP->correlator = smlString2Pcdata(correlator); if (NULL == alertP->correlator) { smlFreeAlert(alertP); return DMCLT_ERR_MEMORY; } } if (itemP->source) { alertP->itemList->item->source = smlAllocSource(); if (NULL == alertP->itemList->item->source) { smlFreeAlert(alertP); return DMCLT_ERR_MEMORY; } alertP->itemList->item->source->locURI = smlString2Pcdata(itemP->source); } if (itemP->target) { alertP->itemList->item->target = smlAllocTarget(); if (NULL == alertP->itemList->item->target) { smlFreeAlert(alertP); return DMCLT_ERR_MEMORY; } alertP->itemList->item->target->locURI = smlString2Pcdata(itemP->target); } alertP->itemList->item->meta = convert_to_meta(itemP->format, itemP->type); alertP->itemList->item->data = smlString2Pcdata(itemP->data); if (NULL == alertP->itemList->item->meta || NULL == alertP->itemList->item->data) { smlFreeAlert(alertP); return DMCLT_ERR_MEMORY; } add_element(internP, (basicElement_t *)alertP); return DMCLT_ERR_NONE; }