/home/dko/projects/mobilec/trunk/src/include/agent_datastate.h

Go to the documentation of this file.
00001 /*[
00002  * Copyright (c) 2007 Integration Engineering Laboratory
00003                       University of California, Davis
00004  *
00005  * Permission to use, copy, and distribute this software and its
00006  * documentation for any purpose with or without fee is hereby granted,
00007  * provided that the above copyright notice appear in all copies and
00008  * that both that copyright notice and this permission notice appear
00009  * in supporting documentation.
00010  *
00011  * Permission to modify the software is granted, but not the right to
00012  * distribute the complete modified source code.  Modifications are to
00013  * be distributed as patches to the released version.  Permission to
00014  * distribute binaries produced by compiling modified sources is granted,
00015  * provided you
00016  *   1. distribute the corresponding source modifications from the
00017  *    released version in the form of a patch file along with the binaries,
00018  *   2. add special version identification to distinguish your version
00019  *    in addition to the base release version number,
00020  *   3. provide your name and address as the primary contact for the
00021  *    support of your modified version, and
00022  *   4. retain our contact information in regard to use of the base
00023  *    software.
00024  * Permission to distribute the released version of the source code along
00025  * with corresponding source modifications in the form of a patch file is
00026  * granted with same provisions 2 through 4 for binary distributions.
00027  *
00028  * This software is provided "as is" without express or implied warranty
00029  * to the extent permitted by applicable law.
00030 ]*/
00031 
00032 #ifndef _AGENT_DATASPACE_H_
00033 #define _AGENT_DATASPACE_H_
00034 #include <mxml.h>
00035 #include "agent_task.h"
00036 
00037 
00038 typedef struct agent_datastate_s
00039 {
00040   char** agent_code_ids; /* Stores all of the agent code ids */
00041   char** agent_codes; /* Stores all of the agent code blocks */
00042   char* agent_code; /* This points to the code block to be executed. */
00043   /* an array of tasks */
00044   agent_task_p *tasks;
00045 
00046   /* xml Parsing attributes */
00047   mxml_node_t *xml_agent_root;
00048   mxml_node_t *xml_root;
00049 
00050   /* place in the task list that corresponds to current task */
00051   int task_progress;
00052   int return_data;
00053 
00054   /* size variables */
00055   int number_of_tasks;
00056 
00057   /* execution flags */
00058   int persistent;
00059   int init_agent_status;
00060 
00061 } agent_datastate_t;
00062 typedef agent_datastate_t* agent_datastate_p;
00063 
00064 agent_datastate_p
00065 agent_datastate_Copy(const agent_datastate_p datastate);
00066 
00067 agent_datastate_p
00068 agent_datastate_New(void);
00069 
00070 int 
00071 agent_datastate_Destroy( agent_datastate_p agent_datastate );
00072 #endif

Generated on Fri May 16 14:49:54 2008 for Mobile-C by  doxygen 1.5.4