src/vapiOperationList.c

Ir para a documentação deste ficheiro.
00001 
00009 #include <stdio.h>
00010 #include <string.h>
00011 #include <stdarg.h>
00012 #include "vapi.h"
00013 #include "vapiLists.h"
00014 #include "vapiMacroList.h"
00015 #include "vapiMacro.h"
00016 #include "vapiGroups.h"
00017 #include "vapiOperationList.h"
00018 #include "vapiOperation.h"
00019 
00020 static vOperationList *GlobalOperationList;
00021 static vGroupList *GlobalOperationGroupList;
00022 
00023 vOperationList *
00024 vapiOperationListInit (vGroupList * GroupList)
00025 {
00026         GlobalOperationGroupList = GroupList;
00027         GlobalOperationList = vapiOperationListNew ();
00028         return GlobalOperationList;
00029 }
00030 
00031 vOperationList *
00032 vapiOperationListNew ()
00033 {
00034         vOperationList *OperationList = (vOperationList *) v_list_new ();
00035         return OperationList;
00036 }
00037 
00038 static void
00039 vapiOperationListAddItem (vOperationList * OperationList, vEffect * Operation)
00040 {
00041         v_list_append ((vList *) OperationList, Operation);
00042 }
00043 
00044 int
00045 vapiOperationListCountElements (vOperationList * OperationList)
00046 {
00047         return v_list_count_elements ((vList *) OperationList);
00048 }
00049 
00050 vEffect *
00051 vapiOperationListSelectItem (vOperationList * OperationList, int Item)
00052 {
00053         return ((vEffect *) v_list_get ((vList *) OperationList, Item));
00054 }
00055 
00056 vEffect *
00057 vapiOperationListSelectOperation (vOperationList * OperationList,
00058                                   const char *name)
00059 {
00060         vEffect *item;
00061         int ListSize, i;
00062         ListSize = vapiOperationListCountElements (OperationList);
00063 
00064         for (i = 0; i < ListSize; i++)
00065         {
00066                 item = vapiOperationListSelectItem (OperationList, i);
00067                 if (!strcmp (name, item->name))
00068                 {
00069                         return ((vEffect *)
00070                                 v_list_get ((vList *) OperationList, i));
00071                 }
00072         }
00073         return NULL;
00074 }
00075 
00076 void
00077 vapiOperationListAddOperationOne (vOperationList * OperationList,
00078                                   vGroupList * GroupList, vEffect * Operation)
00079 {
00080         vapiOperationListAddItem (OperationList, Operation);
00081         vapiGroupListAddItem (GroupList, Operation->Group);
00082 }
00083 
00084 void
00085 vapiOperationListAddOperation (vEffect * Operation[], int OperationNumber)
00086 {
00087         int i;
00088         for (i = 0; i < OperationNumber; i++)
00089         {
00090                 if (Operation[i] == NULL)
00091                 {
00092                         continue;
00093                 }
00094                 vapiOperationListAddOperationOne (GlobalOperationList,
00095                                                   GlobalOperationGroupList,
00096                                                   Operation[i]);
00097         }
00098 }

Gerado em Tue Jul 24 10:34:59 2007 para Vapi por  doxygen 1.5.1