00001
00016
00017 #include <stdio.h>
00018 #include "epDefs.h"
00019 #include "epQueue.h"
00020 #include "epList.h"
00021
00037 epQueue_t *epQueue_create(int (*elementDeallocatorFunction)(void *elt))
00038 {
00039 _DEBUG2("entering...");
00040 00041 00042
00043 return(epList_create(_QUEUE_DIR, elementDeallocatorFunction));
00044 }
00045
00055 int epQueue_destroy(epQueue_t *queue)
00056 {
00057 _DEBUG2("entering...");
00058 00059 00060
00061 return(epList_destroy(queue));
00062 }
00063
00074 int epQueue_in(epQueue_t *queue, const void *elt)
00075 {
00076 _DEBUG2("entering...");
00077 00078 00079
00080
00081 return(epList_put(queue, 0, elt));
00082 }
00083
00092 void *epQueue_out(epQueue_t *queue)
00093 {
00094 _DEBUG2("entering...");
00095 00096 00097
00098
00099 return(epList_get(queue, 0, _true));
00100 }
00101
00110 int epQueue_size(epQueue_t *queue)
00111 {
00112 _DEBUG2("entering...");
00113 00114 00115
00116 return(epList_size(queue));
00117 }
00118
00128 boolean_t epQueue_isEmpty(epQueue_t *queue)
00129 {
00130 _DEBUG2("entering...");
00131 00132 00133
00134 return(epList_isEmpty(queue));
00135 }
00136
00148 int epQueue_setElementPrintFunction(
00149 epQueue_t *queue,
00150 char *(*elementPrintFunction)(void *elt))
00151 {
00152 _DEBUG2("entering...");
00153 00154 00155
00156 return(epList_setElementPrintFunction(queue, elementPrintFunction));
00157 }
00158
00172 int epQueue_printIt(epQueue_t *queue, char *title)
00173 {
00174 int i;
00175
00176 _DEBUG2("entering...");
00177 _IF_TRUE_RETURN(queue == NULL, 0, -1);
00178
00179 if(title == NULL)
00180 { fprintf(stdout, "- Queue -----------------------------\n"); }
00181 else
00182 {
00183 fprintf(stdout, "- Queue - %s ", title);
00184 for(i = 0; i < (26 - strlen(title)); fprintf(stdout, "-"), i++);
00185 fprintf(stdout, "\n");
00186 }
00187
00188 fprintf(stdout, " * number of Elements: %2d\n", queue->numOfElements);
00189
00190 epList_printElements(queue);
00191 fprintf(stdout, "- End Queue -------------------------\n");
00192 _RETURN(0);
00193 }