diff options
-rwxr-xr-x | src/ivyargument.c | 77 | ||||
-rwxr-xr-x | src/ivyargument.h | 28 |
2 files changed, 105 insertions, 0 deletions
diff --git a/src/ivyargument.c b/src/ivyargument.c new file mode 100755 index 0000000..f7662a1 --- /dev/null +++ b/src/ivyargument.c @@ -0,0 +1,77 @@ +/* + * Ivy, C interface + * + * Copyright (C) 1997-2000 + * Centre d'Études de la Navigation Aérienne + * + * Argument message comtent + * + * Authors: François-Régis Colin <fcolin@cena.fr> + * + * $Id$ + * + * Please refer to file version.h for the + * copyright notice regarding this software + */ +/* Module de gestion de la syntaxe des messages Ivy */ + +#include <stdio.h> +#include <sys/types.h> +#include <time.h> +#include <stdlib.h> +#include <memory.h> + + +#include "list.h" +#include "ivyargument.h" + + + +struct _argument { + /* childrens */ + struct _argument *next; + /* arg value */ + char *value; + }; + +IvyArgument IvyArgumentNew( const char * value ) +{ + IvyArgument arg = malloc( sizeof( struct _argument ) ); + arg->value = strdup( value ); + arg->next = 0; + return arg; +} +void IvyArgumentFree( IvyArgument arg ) +{ + free( arg->value ); + free( arg ); +} +const char * IvyArgumentGetValue( IvyArgument arg ) +{ + return arg->value; +} + +IvyArgument IvyArgumentGetNextChild( IvyArgument arg ) +{ + return arg->next; +} +IvyArgument IvyAddChild( IvyArgument arg, const char* childvalue ) +{ + IvyArgument child; + IVY_LIST_ADD( arg->next, child ) + if ( child ) + { + arg->value = strdup( childvalue ); + arg->next = 0; + } + return child; +} +IvyArgument IvyArgumentDeserialize( int fd ) +{ + return 0; +} +void IvyArgumentSerialize(IvyArgument arg, int fd ) +{ + +} + diff --git a/src/ivyargument.h b/src/ivyargument.h new file mode 100755 index 0000000..e54a444 --- /dev/null +++ b/src/ivyargument.h @@ -0,0 +1,28 @@ +/* + * Ivy, C interface + * + * Copyright (C) 1997-2000 + * Centre d'Études de la Navigation Aérienne + * + * Argument message comtent + * + * Authors: François-Régis Colin <fcolin@cena.fr> + * + * $Id$ + * + * Please refer to file version.h for the + * copyright notice regarding this software + */ + +/* Module de gestion de la syntaxe des messages Ivy */ + +typedef struct _argument *IvyArgument; + +IvyArgument IvyArgumentNew( const char * expression ); +void IvyArgumentFree( IvyArgument arg ); +const char * IvyArgumentGetValue( IvyArgument arg ); +IvyArgument IvyArgumentGetNextChild( IvyArgument arg ); +IvyArgument IvyAddChild( IvyArgument arg, const char* childvalue ); +IvyArgument IvyArgumentDeserialize( int fd ); +void IvyArgumentSerialize(IvyArgument arg, int fd ); + |