|
|
@ -1975,7 +1975,8 @@ mmsClient_getNameListSingleRequestAsync(
|
|
|
|
void* parameter,
|
|
|
|
void* parameter,
|
|
|
|
LinkedList nameList)
|
|
|
|
LinkedList nameList)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (getConnectionState(self) != MMS_CONNECTION_STATE_CONNECTED) {
|
|
|
|
if (getConnectionState(self) != MMS_CONNECTION_STATE_CONNECTED)
|
|
|
|
|
|
|
|
{
|
|
|
|
if (mmsError)
|
|
|
|
if (mmsError)
|
|
|
|
*mmsError = MMS_ERROR_CONNECTION_LOST;
|
|
|
|
*mmsError = MMS_ERROR_CONNECTION_LOST;
|
|
|
|
goto exit_function;
|
|
|
|
goto exit_function;
|
|
|
@ -1991,8 +1992,8 @@ mmsClient_getNameListSingleRequestAsync(
|
|
|
|
if (associationSpecific)
|
|
|
|
if (associationSpecific)
|
|
|
|
mmsClient_createMmsGetNameListRequestAssociationSpecific(invokeId,
|
|
|
|
mmsClient_createMmsGetNameListRequestAssociationSpecific(invokeId,
|
|
|
|
payload, continueAfter);
|
|
|
|
payload, continueAfter);
|
|
|
|
else {
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
if (objectClass == MMS_OBJECT_CLASS_DOMAIN)
|
|
|
|
if (objectClass == MMS_OBJECT_CLASS_DOMAIN)
|
|
|
|
mmsClient_createMmsGetNameListRequestVMDspecific(invokeId,
|
|
|
|
mmsClient_createMmsGetNameListRequestVMDspecific(invokeId,
|
|
|
|
payload, continueAfter);
|
|
|
|
payload, continueAfter);
|
|
|
@ -2036,7 +2037,6 @@ getNameListHandler(uint32_t invokeId, void* parameter, MmsError mmsError, Linked
|
|
|
|
Semaphore_post(parameters->sem);
|
|
|
|
Semaphore_post(parameters->sem);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static LinkedList /* <char*> */
|
|
|
|
static LinkedList /* <char*> */
|
|
|
|
mmsClient_getNameList(MmsConnection self, MmsError *mmsError,
|
|
|
|
mmsClient_getNameList(MmsConnection self, MmsError *mmsError,
|
|
|
|
const char* domainId,
|
|
|
|
const char* domainId,
|
|
|
@ -2059,7 +2059,8 @@ mmsClient_getNameList(MmsConnection self, MmsError *mmsError,
|
|
|
|
mmsClient_getNameListSingleRequestAsync(self, NULL, &err, domainId, objectClass, associationSpecific, NULL,
|
|
|
|
mmsClient_getNameListSingleRequestAsync(self, NULL, &err, domainId, objectClass, associationSpecific, NULL,
|
|
|
|
getNameListHandler, ¶meter, NULL);
|
|
|
|
getNameListHandler, ¶meter, NULL);
|
|
|
|
|
|
|
|
|
|
|
|
if (err == MMS_ERROR_NONE) {
|
|
|
|
if (err == MMS_ERROR_NONE)
|
|
|
|
|
|
|
|
{
|
|
|
|
Semaphore_wait(parameter.sem);
|
|
|
|
Semaphore_wait(parameter.sem);
|
|
|
|
err = parameter.err;
|
|
|
|
err = parameter.err;
|
|
|
|
list = parameter.nameList;
|
|
|
|
list = parameter.nameList;
|
|
|
@ -2068,7 +2069,8 @@ mmsClient_getNameList(MmsConnection self, MmsError *mmsError,
|
|
|
|
|
|
|
|
|
|
|
|
Semaphore_destroy(parameter.sem);
|
|
|
|
Semaphore_destroy(parameter.sem);
|
|
|
|
|
|
|
|
|
|
|
|
while (moreFollows) {
|
|
|
|
while (moreFollows)
|
|
|
|
|
|
|
|
{
|
|
|
|
parameter.sem = Semaphore_create(1);
|
|
|
|
parameter.sem = Semaphore_create(1);
|
|
|
|
|
|
|
|
|
|
|
|
char* continueAfter = NULL;
|
|
|
|
char* continueAfter = NULL;
|
|
|
@ -2081,12 +2083,18 @@ mmsClient_getNameList(MmsConnection self, MmsError *mmsError,
|
|
|
|
mmsClient_getNameListSingleRequestAsync(self, NULL, &err, domainId, objectClass, associationSpecific, continueAfter,
|
|
|
|
mmsClient_getNameListSingleRequestAsync(self, NULL, &err, domainId, objectClass, associationSpecific, continueAfter,
|
|
|
|
getNameListHandler, ¶meter, list);
|
|
|
|
getNameListHandler, ¶meter, list);
|
|
|
|
|
|
|
|
|
|
|
|
if (err == MMS_ERROR_NONE) {
|
|
|
|
if (err == MMS_ERROR_NONE)
|
|
|
|
|
|
|
|
{
|
|
|
|
Semaphore_wait(parameter.sem);
|
|
|
|
Semaphore_wait(parameter.sem);
|
|
|
|
err = parameter.err;
|
|
|
|
err = parameter.err;
|
|
|
|
list = parameter.nameList;
|
|
|
|
list = parameter.nameList;
|
|
|
|
moreFollows = parameter.moreFollows;
|
|
|
|
moreFollows = parameter.moreFollows;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
/* exit look when message cannot be sent */
|
|
|
|
|
|
|
|
moreFollows = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Semaphore_destroy(parameter.sem);
|
|
|
|
Semaphore_destroy(parameter.sem);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2094,8 +2102,10 @@ mmsClient_getNameList(MmsConnection self, MmsError *mmsError,
|
|
|
|
if (mmsError)
|
|
|
|
if (mmsError)
|
|
|
|
*mmsError = err;
|
|
|
|
*mmsError = err;
|
|
|
|
|
|
|
|
|
|
|
|
if (err != MMS_ERROR_NONE) {
|
|
|
|
if (err != MMS_ERROR_NONE)
|
|
|
|
if (list) {
|
|
|
|
{
|
|
|
|
|
|
|
|
if (list)
|
|
|
|
|
|
|
|
{
|
|
|
|
LinkedList_destroy(list);
|
|
|
|
LinkedList_destroy(list);
|
|
|
|
list = NULL;
|
|
|
|
list = NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2188,7 +2198,6 @@ MmsConnection_getVariableListNamesAssociationSpecificAsync(MmsConnection self, u
|
|
|
|
continueAfter, handler, parameter, NULL);
|
|
|
|
continueAfter, handler, parameter, NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct readNVParameters
|
|
|
|
struct readNVParameters
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Semaphore sem;
|
|
|
|
Semaphore sem;
|
|
|
|