axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <>
Subject Re: [Axis2] Suggestions to improve portability and pluggability
Date Sun, 09 Oct 2005 22:45:52 GMT
To detail the new approach a bit further, we would have an envioronment 
struct that would be passed around to all operations.
It looks like the following:
typedef struct axis2_environment {
    struct axis2_environment_ops *ops;
    axis2_allocator_t *allocator; // memory allocation routines
    axis2_error_t *error; // error handling
    axis2_stream_t *stream; // IO routines
    axis2_log_t *log; // logging routines
} axis2_environment_t;

The use of allocator and stream help us with abdtracting memory 
allocation and IO.

Log and error are used for handling the cross cutting issues of logging 
and error handling.


Samisa Abeysinghe wrote:

> Hi All,
>    We had the fortune of having a F2F chat with James Clark 
> ( last Friday, who suggested many improvements 
> in order to make the C code more portable and pluggable with other 
> libraries and platforms.
>    In line with suggestions by James, we came up with a design for 
> abstracting memory allocation, error handling and IO.
>    The initial code is in SVN (Please have a look at 
> modules/common/src/ and modules/common/test/)
> Thanks,
> Samisa...

View raw message