TryReturn(pAppInfoImpl, false, "[osp-installer] pAppInfoImpl is null.");
ArrayList* pAppControlImplList = pAppInfoImpl->GetAppControlList();
- if (pAppControlImplList)
+ TryReturn(pAppControlImplList, false, "[osp-installer] pAppControlImplList is null.");
+
+ _AppControlInfoImpl* pAppControl = dynamic_cast<_AppControlInfoImpl*>(pAppControlImplList->GetAt(0));
+ TryReturn(pAppControl, false, "[osp-installer] pAppControl is null.");
+
+ ArrayList* pCapabilityList = pAppControl->GetCapabilityList();
+ TryReturn(pCapabilityList, false, "[osp-installer] pCapabilityList is null.");
+
+ int capaCount = pCapabilityList->GetCount();
+ for (int capaIndex = 0 ; capaIndex < capaCount; capaIndex++)
{
- _AppControlInfoImpl* pAppControl = dynamic_cast<_AppControlInfoImpl*>(pAppControlImplList->GetAt(0));
- if (pAppControl)
+ _AppControlCapabilityInfoImpl* pCapability = dynamic_cast<_AppControlCapabilityInfoImpl*>(pCapabilityList->GetAt(capaIndex));
+ if (pCapability == null) continue;
+
+ String operationId = pCapability->GetOperationId();
+
+ ArrayList* pResolutionList = pCapability->GetResolutionList();
+ int resCount = pResolutionList->GetCount();
+
+ if (resCount == 0)
{
- ArrayList* pCapabilityList = pAppControl->GetCapabilityList();
+ __pWriter->StartElement("application-service");
+ __pWriter->StartElement("operation");
+ __pWriter->WriteAttribute("name", operationId);
+ __pWriter->EndElement();
+ __pWriter->EndElement();
+ continue;
+ }
- for (int i = 0 ; i < pCapabilityList->GetCount(); i++)
- {
- if (pCapabilityList)
- {
- _AppControlCapabilityInfoImpl* pCapability = dynamic_cast<_AppControlCapabilityInfoImpl*>(pCapabilityList->GetAt(i));
- if (pCapability)
- {
- String operationId = pCapability->GetOperationId();
+ for (int resIndex = 0 ; resIndex < resCount; resIndex++)
+ {
+ __pWriter->StartElement("application-service");
+ __pWriter->StartElement("operation");
+ __pWriter->WriteAttribute("name", operationId);
+ __pWriter->EndElement();
- __pWriter->StartElement("application-service");
+ _AppControlResolutionInfoImpl* pResolution = dynamic_cast <_AppControlResolutionInfoImpl*>(pResolutionList->GetAt(resIndex));
+ if (pResolution == null) continue;
- __pWriter->StartElement("operation");
- __pWriter->WriteAttribute("name", operationId);
- __pWriter->EndElement();
+ String* pUriScheme = pResolution->GetUriScheme();
+ if (pUriScheme && pUriScheme->IsEmpty() == false)
+ {
+ __pWriter->StartElement("uri");
+ __pWriter->WriteAttribute("name", *pUriScheme);
+ __pWriter->EndElement();
+ }
- ArrayList* pResolutionList = pCapability->GetResolutionList();
- if (pResolutionList)
- {
- _AppControlResolutionInfoImpl* pResolution = dynamic_cast <_AppControlResolutionInfoImpl*>(pResolutionList->GetAt(0));
- if (pResolution)
- {
- String* pUriScheme = pResolution->GetUriScheme();
- if (pUriScheme && pUriScheme->IsEmpty() == false)
- {
- __pWriter->StartElement("uri");
- __pWriter->WriteAttribute("name", *pUriScheme);
- __pWriter->EndElement();
- }
-
- String* pMimeType = pResolution->GetMimeType();
- if (pMimeType && pMimeType->IsEmpty() == false)
- {
- __pWriter->StartElement("mime");
- __pWriter->WriteAttribute("name", *pMimeType);
- __pWriter->EndElement();
- }
- }
- }
- __pWriter->EndElement();
- }
- }
+ String* pMimeType = pResolution->GetMimeType();
+ if (pMimeType && pMimeType->IsEmpty() == false)
+ {
+ __pWriter->StartElement("mime");
+ __pWriter->WriteAttribute("name", *pMimeType);
+ __pWriter->EndElement();
}
+
+ __pWriter->EndElement();
}
}
}