TaskData.c

Go to the documentation of this file.
00001 #define _TASKDATA_C_
00002 
00003 #include <stdlib.h>
00004 #include "TaskData.h"
00005 #include "cser.h"
00006 
00007 TaskData *createTaskData () {
00008         TaskData *taskData = (TaskData *) calloc(1, sizeof(TaskData));
00009 
00010         taskData->valSz = 0;
00011         taskData->val = NULL;
00012 
00013         return taskData;
00014 }
00015 
00016 void destroyTaskData(TaskData *taskData) {
00017         if(taskData->valSz > 0) {
00018                 free(taskData->val);
00019         }
00020 
00021         free(taskData);
00022 }
00023 
00024 void *readTaskData(FILE *inputFile) {
00025         int valSz;
00026         TaskData *taskData = (TaskData *) malloc(sizeof(TaskData));
00027 
00028         READ_BEGIN(inputFile);
00029         
00030         // Read data size from disk
00031         READ_NUM("valSz", valSz);
00032         taskData->valSz = valSz;
00033 
00034         if (valSz > 0) {
00035                 taskData->val = calloc(taskData->valSz, sizeof(void));
00036                 READ_BYTES(inputFile, taskData->val, taskData->valSz);
00037         } else {
00038                 taskData->val = NULL;
00039         }
00040 
00041         READ_END
00042         
00043         return (void *) taskData;
00044 }
00045 
00046 int writeTaskData(FILE *outputFile, void *taskData) {
00047         TaskData *pTaskData = (TaskData *) taskData;
00048 
00049         // Write data size to disk
00050         WRITE_NUM(outputFile, "valSz", pTaskData->valSz);
00051 
00052         if (pTaskData->valSz > 0) {
00053                 // Write data value to disk
00054                 WRITE_BYTES(outputFile, pTaskData->val, pTaskData->valSz);
00055         }
00056 
00057         return 1;
00058 }
00059 
00060 int getTaskDataSz(TaskData *taskData) {
00061         return taskData->valSz;
00062 }
00063 
00064 void putTaskDataSz(TaskData *taskData, int valSz) {
00065         taskData->valSz = valSz;
00066 }
00067 
00068 void *getTaskDataVal(TaskData *taskData) {
00069         return taskData->val;
00070 }
00071 
00072 void putTaskDataVal(TaskData *taskData, void *val, int valSz) {
00073         taskData->val = malloc(valSz);
00074         
00075         memcpy(taskData->val, val, valSz);
00076 }
00077 

Generated on Tue Jan 17 19:18:39 2006 for Void by  doxygen 1.4.6