From 97c5a6a52b134334f04a394f4ed774b287f8e774 Mon Sep 17 00:00:00 2001 From: fcolin Date: Fri, 22 Jul 2005 14:21:12 +0000 Subject: gestion argument des messages sous forme de Tree --- src/ivyargument.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/ivyargument.h | 28 ++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100755 src/ivyargument.c create mode 100755 src/ivyargument.h (limited to 'src') 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 + * + * $Id$ + * + * Please refer to file version.h for the + * copyright notice regarding this software + */ +/* Module de gestion de la syntaxe des messages Ivy */ + +#include +#include +#include +#include +#include + + +#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 + * + * $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 ); + -- cgit v1.1