holdingarea/libEGL/src/EGLUtils.cpp
branchbug235_bringup_0
changeset 24 a3f46bb01be2
parent 20 d2d6724aef32
--- a/holdingarea/libEGL/src/EGLUtils.cpp	Thu Sep 16 12:43:44 2010 +0100
+++ b/holdingarea/libEGL/src/EGLUtils.cpp	Mon Sep 20 14:29:05 2010 +0100
@@ -1,158 +1,158 @@
-/* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and /or associated documentation files
- * (the "Materials "), to deal in the Materials without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Materials,
- * and to permit persons to whom the Materials are furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Materials.
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
- * THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#include "EGLUtils.h"
-#include "EGLSurface.h"
-#include "EGLContext.h"
-#include "EGLImage.h"
-#include "EGLThread.h"
-#include "EGLProcess.h"
-#include "EGLConfig.h"
-#include "EGLDisplay.h"
-
-template<class T>
-void AddObject( std::vector<T*>& vector, T*& object )
-    {
-    if( !object ) return;
-    try
-        {
-        vector.push_back(object);
-        }
-    catch( std::bad_alloc )
-        {
-        delete object;
-        object = NULL;
-        }
-    }
-
-template<class T>
-T* FindObjectByPointer( const std::vector<T*>& vector, void* item, int* index )
-    {
-    T* ret = NULL;
-    for( typename std::vector<T*>::size_type i = 0; i < vector.size(); i++ )
-        {
-        if( vector[i] == item )
-            {
-            ret = vector[i];
-            if( index ) *index = i;
-            break;
-            }
-        }
-    return ret;
-    }
-
-template<class T>
-T* FindObjectById( const std::vector<T*>& vector, EGLint id, int* index )
-    {
-    T* ret = NULL;
-    for( typename std::vector<T*>::size_type i = 0; i < vector.size(); i++ )
-        {
-        if( vector[i]->Id() == id )
-            {
-            ret = vector[i];
-            if( index ) *index = i;
-            break;
-            }
-        }
-    return ret;
-    }
-
-template<class T>
-void DeleteObjectByPointer( std::vector<T*>& vector, void* item )
-    {
-    int index;
-    T* object = FindObjectByPointer<T>( vector, item, &index );
-    if( object )
-        {
-        delete object;
-        vector.erase( vector.begin() + index );
-        }
-    }
-
-template<class T>
-void DeleteObjectById( std::vector<T*>& vector, EGLint id )
-    {
-    int index;
-    T* object = FindObjectById<T>(vector, id, &index );
-    if( object && object->Id() == id )
-        {
-        delete object;
-        vector.erase( vector.begin() + index );
-        }
-    }
-
-template<class T>
-void DestroyPointerVector( std::vector<T*>& vector )
-    {
-    for(typename std::vector<T*>::iterator iter = vector.begin(); iter != vector.end(); iter++)
-        {
-        delete (*iter);
-        }
-    vector.clear();
-    }
-
-// CEGLSurface
-template void AddObject( std::vector<class CEGLSurface*>& vector, class CEGLSurface*& object );
-template class CEGLSurface* FindObjectByPointer( const std::vector<class CEGLSurface*>& vector, void* item, int* index );
-template void DeleteObjectByPointer( std::vector<class CEGLSurface*>& vector, void* item );
-template void DestroyPointerVector( std::vector<class CEGLSurface*>& vector );
-
-// CEGLContext
-template void AddObject( std::vector<class CEGLContext*>& vector, class CEGLContext*& object );
-template void DeleteObjectByPointer( std::vector<class CEGLContext*>& vector, void* item );
-template void DestroyPointerVector( std::vector<class CEGLContext*>& vector );
-
-// CEGLImage
-template void AddObject( std::vector<class CEGLImage*>& vector, class CEGLImage*& object );
-template void DeleteObjectByPointer( std::vector<class CEGLImage*>& vector, void* item );
-template void DestroyPointerVector( std::vector<class CEGLImage*>& vector );
-
-// CEGLThread
-template void AddObject( std::vector<class CEGLThread*>& vector, class CEGLThread*& object );
-template void DeleteObjectById( std::vector<class CEGLThread*>& vector, EGLint id );
-template void DestroyPointerVector( std::vector<class CEGLThread*>& vector );
-template class CEGLThread* FindObjectById( const std::vector<class CEGLThread*>& vector, EGLint id, int* index );
-
-// CEGLProcess
-template void AddObject( std::vector<class CEGLProcess*>& vector, class CEGLProcess*& object );
-template void DestroyPointerVector( std::vector<class CEGLProcess*>& vector );
-template void DeleteObjectById( std::vector<class CEGLProcess*>& vector, EGLint id );
-
-// CEGLDisplay
-template void AddObject( std::vector<class CEGLDisplay*>& vector, class CEGLDisplay*& object );
-template class CEGLDisplay* FindObjectByPointer( const std::vector<class CEGLDisplay*>& vector, void* item, int* index );
-template void DeleteObjectByPointer( std::vector<class CEGLDisplay*>& vector, void* item );
-template void DestroyPointerVector( std::vector<class CEGLDisplay*>& vector );
-
-// CEGLConfig
-template void AddObject( std::vector<class CEGLConfig*>& vector, class CEGLConfig*& object );
-template class CEGLConfig* FindObjectByPointer( const std::vector<class CEGLConfig*>& vector, void* item, int* index );
-template class CEGLConfig* FindObjectById( const std::vector<class CEGLConfig*>& vector, EGLint id, int* index );
-template void DestroyPointerVector( std::vector<class CEGLConfig*>& vector );
+/* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and /or associated documentation files
+ * (the "Materials "), to deal in the Materials without restriction,
+ * including without limitation the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Materials,
+ * and to permit persons to whom the Materials are furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Materials.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
+ * THE USE OR OTHER DEALINGS IN THE MATERIALS.
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#include "EGLUtils.h"
+#include "EGLSurface.h"
+#include "EGLContext.h"
+#include "EGLImage.h"
+#include "EGLThread.h"
+#include "EGLProcess.h"
+#include "EGLConfig.h"
+#include "EGLDisplay.h"
+
+template<class T>
+void AddObject( std::vector<T*>& vector, T*& object )
+    {
+    if( !object ) return;
+    try
+        {
+        vector.push_back(object);
+        }
+    catch( std::bad_alloc )
+        {
+        delete object;
+        object = NULL;
+        }
+    }
+
+template<class T>
+T* FindObjectByPointer( const std::vector<T*>& vector, void* item, int* index )
+    {
+    T* ret = NULL;
+    for( typename std::vector<T*>::size_type i = 0; i < vector.size(); i++ )
+        {
+        if( vector[i] == item )
+            {
+            ret = vector[i];
+            if( index ) *index = i;
+            break;
+            }
+        }
+    return ret;
+    }
+
+template<class T>
+T* FindObjectById( const std::vector<T*>& vector, EGLint id, int* index )
+    {
+    T* ret = NULL;
+    for( typename std::vector<T*>::size_type i = 0; i < vector.size(); i++ )
+        {
+        if( vector[i]->Id() == id )
+            {
+            ret = vector[i];
+            if( index ) *index = i;
+            break;
+            }
+        }
+    return ret;
+    }
+
+template<class T>
+void DeleteObjectByPointer( std::vector<T*>& vector, void* item )
+    {
+    int index;
+    T* object = FindObjectByPointer<T>( vector, item, &index );
+    if( object )
+        {
+        delete object;
+        vector.erase( vector.begin() + index );
+        }
+    }
+
+template<class T>
+void DeleteObjectById( std::vector<T*>& vector, EGLint id )
+    {
+    int index;
+    T* object = FindObjectById<T>(vector, id, &index );
+    if( object && object->Id() == id )
+        {
+        delete object;
+        vector.erase( vector.begin() + index );
+        }
+    }
+
+template<class T>
+void DestroyPointerVector( std::vector<T*>& vector )
+    {
+    for(typename std::vector<T*>::iterator iter = vector.begin(); iter != vector.end(); iter++)
+        {
+        delete (*iter);
+        }
+    vector.clear();
+    }
+
+// CEGLSurface
+template void AddObject( std::vector<class CEGLSurface*>& vector, class CEGLSurface*& object );
+template class CEGLSurface* FindObjectByPointer( const std::vector<class CEGLSurface*>& vector, void* item, int* index );
+template void DeleteObjectByPointer( std::vector<class CEGLSurface*>& vector, void* item );
+template void DestroyPointerVector( std::vector<class CEGLSurface*>& vector );
+
+// CEGLContext
+template void AddObject( std::vector<class CEGLContext*>& vector, class CEGLContext*& object );
+template void DeleteObjectByPointer( std::vector<class CEGLContext*>& vector, void* item );
+template void DestroyPointerVector( std::vector<class CEGLContext*>& vector );
+
+// CEGLImage
+template void AddObject( std::vector<class CEGLImage*>& vector, class CEGLImage*& object );
+template void DeleteObjectByPointer( std::vector<class CEGLImage*>& vector, void* item );
+template void DestroyPointerVector( std::vector<class CEGLImage*>& vector );
+
+// CEGLThread
+template void AddObject( std::vector<class CEGLThread*>& vector, class CEGLThread*& object );
+template void DeleteObjectById( std::vector<class CEGLThread*>& vector, EGLint id );
+template void DestroyPointerVector( std::vector<class CEGLThread*>& vector );
+template class CEGLThread* FindObjectById( const std::vector<class CEGLThread*>& vector, EGLint id, int* index );
+
+// CEGLProcess
+template void AddObject( std::vector<class CEGLProcess*>& vector, class CEGLProcess*& object );
+template void DestroyPointerVector( std::vector<class CEGLProcess*>& vector );
+template void DeleteObjectById( std::vector<class CEGLProcess*>& vector, EGLint id );
+
+// CEGLDisplay
+template void AddObject( std::vector<class CEGLDisplay*>& vector, class CEGLDisplay*& object );
+template class CEGLDisplay* FindObjectByPointer( const std::vector<class CEGLDisplay*>& vector, void* item, int* index );
+template void DeleteObjectByPointer( std::vector<class CEGLDisplay*>& vector, void* item );
+template void DestroyPointerVector( std::vector<class CEGLDisplay*>& vector );
+
+// CEGLConfig
+template void AddObject( std::vector<class CEGLConfig*>& vector, class CEGLConfig*& object );
+template class CEGLConfig* FindObjectByPointer( const std::vector<class CEGLConfig*>& vector, void* item, int* index );
+template class CEGLConfig* FindObjectById( const std::vector<class CEGLConfig*>& vector, EGLint id, int* index );
+template void DestroyPointerVector( std::vector<class CEGLConfig*>& vector );