in src/source/app/kvsapp.c [891:994]
void KvsApp_terminate(KvsAppHandle handle)
{
KvsApp_t *pKvs = (KvsApp_t *)handle;
if (pKvs != NULL && Lock(pKvs->xLock) == LOCK_OK)
{
if (pKvs->xStreamHandle != NULL)
{
prvStreamFlush(pKvs);
Kvs_streamTermintate(pKvs->xStreamHandle);
pKvs->xStreamHandle = NULL;
}
if (pKvs->pHost != NULL)
{
kvsFree(pKvs->pHost);
pKvs->pHost = NULL;
}
if (pKvs->pRegion != NULL)
{
kvsFree(pKvs->pRegion);
pKvs->pRegion = NULL;
}
if (pKvs->pService != NULL)
{
kvsFree(pKvs->pService);
pKvs->pService = NULL;
}
if (pKvs->pStreamName != NULL)
{
kvsFree(pKvs->pStreamName);
pKvs->pStreamName = NULL;
}
if (pKvs->pDataEndpoint != NULL)
{
kvsFree(pKvs->pDataEndpoint);
pKvs->pDataEndpoint = NULL;
}
if (pKvs->pAwsAccessKeyId != NULL)
{
kvsFree(pKvs->pAwsAccessKeyId);
pKvs->pAwsAccessKeyId = NULL;
}
if (pKvs->pAwsSecretAccessKey != NULL)
{
kvsFree(pKvs->pAwsSecretAccessKey);
pKvs->pAwsSecretAccessKey = NULL;
}
if (pKvs->pIotCredentialHost != NULL)
{
kvsFree(pKvs->pIotCredentialHost);
pKvs->pIotCredentialHost = NULL;
}
if (pKvs->pIotRoleAlias != NULL)
{
kvsFree(pKvs->pIotRoleAlias);
pKvs->pIotRoleAlias = NULL;
}
if (pKvs->pIotThingName != NULL)
{
kvsFree(pKvs->pIotThingName);
pKvs->pIotThingName = NULL;
}
if (pKvs->pIotX509RootCa != NULL)
{
kvsFree(pKvs->pIotX509RootCa);
pKvs->pIotX509RootCa = NULL;
}
if (pKvs->pIotX509Certificate != NULL)
{
kvsFree(pKvs->pIotX509Certificate);
pKvs->pIotX509Certificate = NULL;
}
if (pKvs->pIotX509PrivateKey != NULL)
{
kvsFree(pKvs->pIotX509PrivateKey);
pKvs->pIotX509PrivateKey = NULL;
}
if (pKvs->pVideoTrackInfo != NULL)
{
prvVideoTrackInfoTerminate(pKvs->pVideoTrackInfo);
}
if (pKvs->pAudioTrackInfo != NULL)
{
prvAudioTrackInfoTerminate(pKvs->pAudioTrackInfo);
}
if (pKvs->pSps != NULL)
{
kvsFree(pKvs->pSps);
pKvs->pSps = NULL;
}
if (pKvs->pPps != NULL)
{
kvsFree(pKvs->pPps);
pKvs->pPps = NULL;
}
Unlock(pKvs->xLock);
Lock_Deinit(pKvs->xLock);
memset(pKvs, 0, sizeof(KvsApp_t));
kvsFree(pKvs);
}
}