Removes usage of ListWrapper from several files.

BUG=2164
R=andrew@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/6269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5373 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/test/channel_transport/udp_socket2_manager_win.cc b/test/channel_transport/udp_socket2_manager_win.cc
index 54bd42f..bfab51e 100644
--- a/test/channel_transport/udp_socket2_manager_win.cc
+++ b/test/channel_transport/udp_socket2_manager_win.cc
@@ -65,14 +65,11 @@
         }
         StopWorkerThreads();
 
-        // All threads are stopped. Safe to delete them.
-        ListItem* pItem = NULL;
-        while((pItem = _workerThreadsList.First()) != NULL)
-        {
-            delete static_cast<UdpSocket2WorkerWindows*>(pItem->GetItem());
-            _workerThreadsList.PopFront();
+        for (WorkerList::iterator iter = _workerThreadsList.begin();
+             iter != _workerThreadsList.end(); ++iter) {
+          delete *iter;
         }
-
+        _workerThreadsList.clear();
         _ioContextPool.Free();
 
         _numOfActiveManagers--;
@@ -134,14 +131,10 @@
     // Start worker threads.
     _stopped = false;
     int32_t error = 0;
-    ListItem* pItem = _workerThreadsList.First();
-    UdpSocket2WorkerWindows* pWorker;
-    while(pItem != NULL && !error)
-    {
-        pWorker = (UdpSocket2WorkerWindows*)pItem->GetItem();
-        if(!pWorker->Start())
-            error = 1;
-        pItem = _workerThreadsList.Next(pItem);
+    for (WorkerList::iterator iter = _workerThreadsList.begin();
+         iter != _workerThreadsList.end() && !error; ++iter) {
+      if(!(*iter)->Start())
+        error = 1;
     }
     if(error)
     {
@@ -194,7 +187,7 @@
                 delete pWorker;
                 break;
             }
-            _workerThreadsList.PushFront(pWorker);
+            _workerThreadsList.push_front(pWorker);
             i++;
         }
         if(error)
@@ -207,12 +200,11 @@
                 "creating work threads",
                 _managerNumber);
             // Delete worker threads.
-            ListItem* pItem = NULL;
-            while((pItem = _workerThreadsList.First()) != NULL)
-            {
-                delete static_cast<UdpSocket2WorkerWindows*>(pItem->GetItem());
-                _workerThreadsList.PopFront();
+            for (WorkerList::iterator iter = _workerThreadsList.begin();
+                 iter != _workerThreadsList.end(); ++iter) {
+              delete *iter;
             }
+            _workerThreadsList.clear();
             _pCrit->Leave();
             return false;
         }
@@ -281,38 +273,30 @@
  threadsStoped, numActicve Sockets=%d",
         _managerNumber,
         _numActiveSockets);
-    UdpSocket2WorkerWindows* pWorker;
-    ListItem* pItem = _workerThreadsList.First();
 
     // Set worker threads to not alive so that they will stop calling
     // UdpSocket2WorkerWindows::Run().
-    while(pItem != NULL)
-    {
-        pWorker = (UdpSocket2WorkerWindows*)pItem->GetItem();
-        pWorker->SetNotAlive();
-        pItem = _workerThreadsList.Next(pItem);
+    for (WorkerList::iterator iter = _workerThreadsList.begin();
+         iter != _workerThreadsList.end(); ++iter) {
+        (*iter)->SetNotAlive();
     }
     // Release all threads waiting for GetQueuedCompletionStatus(..).
     if(_ioCompletionHandle)
     {
         uint32_t i = 0;
-        for(i = 0; i < _workerThreadsList.GetSize(); i++)
+        for(i = 0; i < _workerThreadsList.size(); i++)
         {
             PostQueuedCompletionStatus(_ioCompletionHandle, 0 ,0 , NULL);
         }
     }
-    pItem = _workerThreadsList.First();
-
-    while(pItem != NULL)
-    {
-        pWorker = (UdpSocket2WorkerWindows*)pItem->GetItem();
-        if(pWorker->Stop() == false)
+    for (WorkerList::iterator iter = _workerThreadsList.begin();
+         iter != _workerThreadsList.end(); ++iter) {
+        if((*iter)->Stop() == false)
         {
             error = -1;
             WEBRTC_TRACE(kTraceWarning,  kTraceTransport, -1,
                          "failed to stop worker thread");
         }
-        pItem = _workerThreadsList.Next(pItem);
     }
 
     if(error)
diff --git a/test/channel_transport/udp_socket2_manager_win.h b/test/channel_transport/udp_socket2_manager_win.h
index 0eef997..956cc03 100644
--- a/test/channel_transport/udp_socket2_manager_win.h
+++ b/test/channel_transport/udp_socket2_manager_win.h
@@ -12,11 +12,11 @@
 #define WEBRTC_TEST_CHANNEL_TRANSPORT_UDP_SOCKET2_MANAGER_WINDOWS_H_
 
 #include <winsock2.h>
+#include <list>
 
 #include "webrtc/system_wrappers/interface/atomic32.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/event_wrapper.h"
-#include "webrtc/system_wrappers/interface/list_wrapper.h"
 #include "webrtc/system_wrappers/interface/thread_wrapper.h"
 #include "webrtc/test/channel_transport/udp_socket2_win.h"
 #include "webrtc/test/channel_transport/udp_socket_manager_wrapper.h"
@@ -91,6 +91,27 @@
     Atomic32 _inUse;
 };
 
+class UdpSocket2WorkerWindows
+{
+public:
+    UdpSocket2WorkerWindows(HANDLE ioCompletionHandle);
+    virtual ~UdpSocket2WorkerWindows();
+
+    virtual bool Start();
+    virtual bool Stop();
+    virtual int32_t Init();
+    virtual void SetNotAlive();
+protected:
+    static bool Run(ThreadObj obj);
+    bool Process();
+private:
+    HANDLE _ioCompletionHandle;
+    ThreadWrapper*_pThread;
+    static int32_t _numOfWorkers;
+    int32_t _workerNumber;
+    volatile bool _stop;
+    bool _init;
+};
 
 class UdpSocket2ManagerWindows : public UdpSocketManager
 {
@@ -115,6 +136,7 @@
     int32_t PushIoContext(PerIoContext* pIoContext);
 
 private:
+    typedef std::list<UdpSocket2WorkerWindows*> WorkerList;
     bool StopWorkerThreads();
     bool StartWorkerThreads();
     bool AddSocketPrv(UdpSocket2Windows* s);
@@ -129,35 +151,13 @@
     volatile bool _stopped;
     bool _init;
     int32_t _numActiveSockets;
-    ListWrapper _workerThreadsList;
+    WorkerList _workerThreadsList;
     EventWrapper* _event;
 
     HANDLE _ioCompletionHandle;
     IoContextPool _ioContextPool;
 };
 
-class UdpSocket2WorkerWindows
-{
-public:
-    UdpSocket2WorkerWindows(HANDLE ioCompletionHandle);
-    virtual ~UdpSocket2WorkerWindows();
-
-    virtual bool Start();
-    virtual bool Stop();
-    virtual int32_t Init();
-    virtual void SetNotAlive();
-protected:
-    static bool Run(ThreadObj obj);
-    bool Process();
-private:
-    HANDLE _ioCompletionHandle;
-    ThreadWrapper*_pThread;
-    static int32_t _numOfWorkers;
-    int32_t _workerNumber;
-    volatile bool _stop;
-    bool _init;
-};
-
 }  // namespace test
 }  // namespace webrtc
 
diff --git a/test/channel_transport/udp_socket2_win.h b/test/channel_transport/udp_socket2_win.h
index 0bc3581..e4d6b8c 100644
--- a/test/channel_transport/udp_socket2_win.h
+++ b/test/channel_transport/udp_socket2_win.h
@@ -23,7 +23,6 @@
 #include "webrtc/system_wrappers/interface/condition_variable_wrapper.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/event_wrapper.h"
-#include "webrtc/system_wrappers/interface/list_wrapper.h"
 #include "webrtc/system_wrappers/interface/rw_lock_wrapper.h"
 #include "webrtc/system_wrappers/interface/trace.h"
 #include "webrtc/test/channel_transport/udp_socket2_manager_win.h"
diff --git a/test/channel_transport/udp_socket_manager_posix.cc b/test/channel_transport/udp_socket_manager_posix.cc
index 5543814..1e13475 100644
--- a/test/channel_transport/udp_socket_manager_posix.cc
+++ b/test/channel_transport/udp_socket_manager_posix.cc
@@ -322,7 +322,7 @@
         return false;
     }
     _critSectList->Enter();
-    _addList.PushBack(s);
+    _addList.push_back(s);
     _critSectList->Leave();
     return true;
 }
@@ -333,26 +333,24 @@
     _critSectList->Enter();
 
     // If the socket is in the add list it's safe to remove and delete it.
-    ListItem* addListItem = _addList.First();
-    while(addListItem)
-    {
-        UdpSocketPosix* addSocket = (UdpSocketPosix*)addListItem->GetItem();
+    for (SocketList::iterator iter = _addList.begin();
+         iter != _addList.end(); ++iter) {
+        UdpSocketPosix* addSocket = static_cast<UdpSocketPosix*>(*iter);
         unsigned int addFD = addSocket->GetFd();
         unsigned int removeFD = static_cast<UdpSocketPosix*>(s)->GetFd();
         if(removeFD == addFD)
         {
-            _removeList.PushBack(removeFD);
+            _removeList.push_back(removeFD);
             _critSectList->Leave();
             return true;
         }
-        addListItem = _addList.Next(addListItem);
     }
 
     // Checking the socket map is safe since all Erase and Insert calls to this
     // map are also protected by _critSectList.
     if (_socketMap.find(static_cast<UdpSocketPosix*>(s)->GetFd()) !=
         _socketMap.end()) {
-      _removeList.PushBack(static_cast<UdpSocketPosix*>(s)->GetFd());
+      _removeList.push_back(static_cast<UdpSocketPosix*>(s)->GetFd());
       _critSectList->Leave();
       return true;
     }
@@ -364,25 +362,23 @@
 {
     // Remove items in remove list.
     _critSectList->Enter();
-    while(!_removeList.Empty())
-    {
+    for (FdList::iterator iter = _removeList.begin();
+         iter != _removeList.end(); ++iter) {
         UdpSocketPosix* deleteSocket = NULL;
-        SOCKET removeFD = _removeList.First()->GetUnsignedItem();
+        SOCKET removeFD = *iter;
 
         // If the socket is in the add list it hasn't been added to the socket
         // map yet. Just remove the socket from the add list.
-        ListItem* addListItem = _addList.First();
-        while(addListItem)
-        {
-            UdpSocketPosix* addSocket = (UdpSocketPosix*)addListItem->GetItem();
+        for (SocketList::iterator iter = _addList.begin();
+             iter != _addList.end(); ++iter) {
+            UdpSocketPosix* addSocket = static_cast<UdpSocketPosix*>(*iter);
             SOCKET addFD = addSocket->GetFd();
             if(removeFD == addFD)
             {
                 deleteSocket = addSocket;
-                _addList.Erase(addListItem);
+                _addList.erase(iter);
                 break;
             }
-            addListItem = _addList.Next(addListItem);
         }
 
         // Find and remove socket from _socketMap.
@@ -398,19 +394,18 @@
             deleteSocket->ReadyForDeletion();
             delete deleteSocket;
         }
-        _removeList.PopFront();
     }
+    _removeList.clear();
 
     // Add sockets from add list.
-    while(!_addList.Empty())
-    {
-        UdpSocketPosix* s =
-            static_cast<UdpSocketPosix*>(_addList.First()->GetItem());
+    for (SocketList::iterator iter = _addList.begin();
+         iter != _addList.end(); ++iter) {
+        UdpSocketPosix* s = static_cast<UdpSocketPosix*>(*iter);
         if(s) {
           _socketMap[s->GetFd()] = s;
         }
-        _addList.PopFront();
     }
+    _addList.clear();
     _critSectList->Leave();
 }
 
diff --git a/test/channel_transport/udp_socket_manager_posix.h b/test/channel_transport/udp_socket_manager_posix.h
index 0efd6ff..cbcb479 100644
--- a/test/channel_transport/udp_socket_manager_posix.h
+++ b/test/channel_transport/udp_socket_manager_posix.h
@@ -14,10 +14,10 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#include <list>
 #include <map>
 
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
-#include "webrtc/system_wrappers/interface/list_wrapper.h"
 #include "webrtc/system_wrappers/interface/thread_wrapper.h"
 #include "webrtc/test/channel_transport/udp_socket_manager_wrapper.h"
 #include "webrtc/test/channel_transport/udp_socket_wrapper.h"
@@ -74,14 +74,16 @@
     void UpdateSocketMap();
 
 private:
+    typedef std::list<UdpSocketWrapper*> SocketList;
+    typedef std::list<SOCKET> FdList;
     ThreadWrapper* _thread;
     CriticalSectionWrapper* _critSectList;
 
     fd_set _readFds;
 
     std::map<SOCKET, UdpSocketPosix*> _socketMap;
-    ListWrapper _addList;
-    ListWrapper _removeList;
+    SocketList _addList;
+    FdList _removeList;
 };
 
 }  // namespace test