delete __pCurrentTagImpl;
delete __pMgrEvent;
+
+ unique_ptr<IList> pTagConditionList(__pTagConditionMap->GetValuesN());
+ unique_ptr<IEnumerator> pTagConditionEnum(pTagConditionList->GetEnumeratorN());
+ while (pTagConditionEnum->MoveNext() == E_SUCCESS)
+ {
+ _NfcTagEventMap* pEventMap = dynamic_cast <_NfcTagEventMap*> (pTagConditionEnum->GetCurrent());
+ if (pEventMap)
+ {
+ unique_ptr<IListT<_NfcTagDiscoveryEvent*> > pEventList(pEventMap->GetValuesN());
+ unique_ptr<IEnumeratorT<_NfcTagDiscoveryEvent*> > pEventEnum(pEventList->GetEnumeratorN());
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ _NfcTagDiscoveryEvent* pEvent = null;
+ pEventEnum->GetCurrent(pEvent);
+ delete pEvent;
+ }
+ }
+ }
delete __pTagConditionMap;
+
+ unique_ptr<IList> pNdefConditionList(__pNdefConditionMap->GetValuesN());
+ unique_ptr<IEnumerator> pNdefConditionEnum(pNdefConditionList->GetEnumeratorN());
+ while (pNdefConditionEnum->MoveNext() == E_SUCCESS)
+ {
+ _NdefMsgEventMap* pEventMap = dynamic_cast <_NdefMsgEventMap*> (pNdefConditionEnum->GetCurrent());
+ if (pEventMap)
+ {
+ unique_ptr<IListT<_NdefMessageDiscoveryEvent*> > pEventList(pEventMap->GetValuesN());
+ unique_ptr<IEnumeratorT<_NdefMessageDiscoveryEvent*> > pEventEnum(pEventList->GetEnumeratorN());
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ _NdefMessageDiscoveryEvent* pEvent = null;
+ pEventEnum->GetCurrent(pEvent);
+ delete pEvent;
+ }
+ }
+ }
delete __pNdefConditionMap;
+
delete __pDeviceDiscoveryEvent;
}