videoeditorengine/h263decoder/src/dlist.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 5 4c409de21d23
--- a/videoeditorengine/h263decoder/src/dlist.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,384 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - Initial contribution
-*
-* Contributors:
-* Ixonos Plc
-*
-* Description:  
-* Doubly linked list module.
-*
-*/
-
-
-/*
- * dlist.c
- *
- *    
- *
- * Project:
- *    Mobile Videophone Demonstrator
- *    H.263 Video Decoder
- *
- * Contains:
- *    This module contains generic list handling functions for doubly linked 
- *    lists, i.e. one can use the same set of functions regardless of the type 
- *    of list items.
- *    The list item type has a constraint that it must begin with the skeleton
- *    of a list item (see the definition of DLST_ITEM_SKELETON in dlist.h).
- *
- *    The prefix ddlst is used in common names defined in this module.
- *
- *
- *
- */
-
-
-#include "dlist.h"
-
-
-#ifndef NULL
-   #define NULL 0
-#endif
-
-
-/*
- * dlstClose
- *    
- *
- * Parameters:
- *    list                       a pointer to a list
- *
- * Function:
- *    This function deinitializes the given list. Notice that no dynamic
- *    allocation for the list is done. This function must be called when
- *    the list is no longer used.
- *
- * Returns:
- *    >= 0 if the function was successful
- *    < 0  indicating an error
- *
- */
-
-int dlstClose(dlst_t *list)
-{
-   list->head = list->tail = list->curr = NULL;
-   list->numItems = 0;
-
-   return 0;
-}
-
-
-/*
- * dlstRemove
- *    
- *
- * Parameters:
- *    list                       a pointer to a list
- *    item                       used to return a pointer to the removed
- *                               list item
- *
- * Function:
- *    This function removes an item from the list. Notice that no copying of
- *    contents of the given item is done, i.e. only the pointer to the item
- *    is used.
- *
- *    If there are no items left in the list, NULL will be returned in
- *    the item parameter.
- *
- * Returns:
- *    >= 0 if the function was successful
- *    < 0  indicating an error
- *
- */
-
-int dlstRemove(dlst_t *list, void **item)
-{
-   if (list->curr) {
-      dlstListItem_t 
-         *curr = list->curr, 
-         *prev = (dlstListItem_t *) (list->curr->prev),
-         *next = (dlstListItem_t *) (list->curr->next);
-
-      *item = (void *) curr;
-
-      if (prev)
-         prev->next = curr->next;
-      else
-         list->head = (dlstListItem_t *) curr->next;
-
-      if (next)
-         next->prev = curr->prev;
-
-      curr->next = NULL;
-      curr->prev = NULL;
-
-      if (curr == list->tail) {
-         list->tail = prev;
-         list->curr = prev;
-      }
-      else
-         list->curr = next;
-
-      list->numItems--;
-   }
-
-   else
-      *item = NULL;
-
-   return 0;
-}
-
-
-/*
- * dlstOpen
- *    
- *
- * Parameters:
- *    list                       a pointer to a list
- *
- * Function:
- *    This function initializes the given list. Notice that no dynamic
- *    allocation for the list is done. This function must be called before
- *    the list is used.
- *
- * Returns:
- *    >= 0 if the function was successful
- *    < 0  indicating an error
- *
- */
-
-int dlstOpen(dlst_t *list)
-{
-   list->head = list->tail = list->curr = NULL;
-   list->numItems = 0;
-
-   return 0;
-}
-
-
-/*
- * dlstHead
- *    
- *
- * Parameters:
- *    list                       a pointer to a dlst list
- *    item                       used to return a pointer to the head item
- *                               of the list
- *
- * Function:
- *    This function sets the current access point to the head of the list and
- *    returns a pointer to the head item. Notice that no copying of
- *    contents of the given item is done, i.e. only the pointer to the item
- *    is used.
- *
- *    If there are no items left in the list, NULL will be returned in
- *    the item parameter.
- *
- * Returns:
- *    >= 0 if the function was successful
- *    < 0  indicating an error
- *
- */
-
-int dlstHead(dlst_t *list, void **item)
-{
-   if (list->head)
-      *item = (void *) list->head;
-
-   else
-      *item = NULL;
-
-   list->curr = list->head;
-
-   return 0;
-}
-
-
-/*
- * dlstTail
- *    
- *
- * Parameters:
- *    list                       a pointer to a dlst list
- *
- * Function:
- *    This function sets the current access point to the tail of the list
- *    enabling the item addition to the end of the list.
- *
- * Returns:
- *    >= 0 if the function was successful
- *    < 0  indicating an error
- *
- */
-
-int dlstTail(dlst_t *list, void **item)
-{
-
-   if (list->tail)
-      *item = (void *) list->tail;
-
-   else
-      *item = NULL;
-
-   list->curr = list->tail;
-
-   return 0;
-}
-
-
-/*
- * dlstNext
- *    
- *
- * Parameters:
- *    list                       a pointer to a dlst list
- *    item                       used to return a pointer to the next item
- *                               of the list
- *
- * Function:
- *    This function sets the current access point to the next item of the list
- *    and returns a pointer to the item. Notice that no copying of
- *    contents of the given item is done, i.e. only the pointer to the item
- *    is used.
- *
- *    If there are no items left in the list, NULL will be returned in
- *    the item parameter and the current access point shall be left as it is.
- *
- * Returns:
- *    >= 0 if the function was successful
- *    < 0  indicating an error
- *
- */
-
-int dlstNext(dlst_t *list, void **item)
-{
-   if (list->curr && list->curr->next) {
-      list->curr = (dlstListItem_t *) (list->curr->next);
-      *item = (void *) list->curr;
-   }
-
-   else
-      *item = NULL;
-
-   return 0;
-}
-
-
-int dlstPrev(dlst_t *list, void **item)
-{
-   if (list->curr && list->curr->prev) {
-      list->curr = (dlstListItem_t *) (list->curr->prev);
-      *item = (void *) list->curr;
-   }
-
-   else
-      *item = NULL;
-
-   return 0;
-}
-
-
-int dlstCurr(dlst_t *list, void **item)
-{
-   *item = (void *) list->curr;
-
-   return 0;
-}
-
-
-int dlstNextExists(dlst_t *list)
-{
-   return (list->curr && list->curr->next) ? 1 : 0;
-}
-
-/*
- * dlstAdd
- *    
- *
- * Parameters:
- *    list                       a pointer to a dlst list
- *    item                       an item to add to the list
- *
- * Function:
- *    This function adds an item into the list. Notice that no copying of
- *    contents of the given item is done, i.e. only the pointer to the item
- *    is used.
- *
- * Returns:
- *    >= 0 if the function was successful
- *    < 0  indicating an error
- *
- */
-
-int dlstAddBeforeCurr(dlst_t *list, void *item)
-{
-   dlstListItem_t
-      *curr, *prev, *listItem = (dlstListItem_t *) item;
-
-   if (list->curr) {
-      curr = (dlstListItem_t *) list->curr, 
-      prev = (dlstListItem_t *) list->curr->prev;
-
-      if (prev)
-         prev->next = item;
-      else
-         list->head = (dlstListItem_t *) item;
-      listItem->prev = prev;
-
-      curr->prev = item;
-      listItem->next = curr;
-
-      list->curr = (dlstListItem_t *) item;
-   }
-
-   else {
-      list->head = list->tail = list->curr = (dlstListItem_t *) item;
-      listItem->next = NULL;
-      listItem->prev = NULL;
-   }
-
-   list->numItems++;
-
-   return 0;
-}
-
-int dlstAddAfterCurr(dlst_t *list, void *item)
-{
-   dlstListItem_t
-      *curr, *next, *listItem = (dlstListItem_t *) item;
-
-   if (list->curr) {
-      curr = list->curr, 
-      next = (dlstListItem_t *) (list->curr->next);
-
-      curr->next = item;
-      listItem->prev = curr;
-
-      if (next)
-         next->prev = item;
-      else
-         list->tail = (dlstListItem_t *) item;
-      listItem->next = next;
-
-      list->curr = (dlstListItem_t *) item;
-   }
-
-   else {
-      list->head = list->tail = list->curr = (dlstListItem_t *) item;
-      listItem->next = NULL;
-      listItem->prev = NULL;
-   }
-
-   list->numItems++;
-
-   return 0;
-}
-// End of File