You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by ax...@ws.apache.org on 2004/10/19 15:17:51 UTC

[jira] Commented: (AXISCPP-206) Remove C support temporarily

The following comment has been added to this issue:

     Author: Mark Whitlock
    Created: Tue, 19 Oct 2004 6:17 AM
       Body:
As part of removing C support, the Axis C++ engine will be made "pure C++" only. This means...

Change all mallocs/frees/strdups to news/deletes. STL strings are frowned upon so no new STL strings will be added to the external API. But internally STL strings may be added where it makes sense (for instance AxisConfig). strdup's will be converted to new char[] where they are to be returned back across the external API.

Rename the external .h header files to .hpp. These .hpp files will be C++ only. Then in 1.5 the .h files will reappear as C-only header files. This change needs to be made early in 1.4 since it is such a large change. The .h files need to be copied to .hpp. Then the code needs to change to include the .hpp files. Then wsdl2ws needs to change to use the new .hpp files. Then the .h files need to be changed to only have in them a #error explaining what is happening in case anyone is still including them. Eventually the .h files need to be deleted.

Change structs to classes. There are a few internal structs. Also there are several structs in AxisUserAPI.h which can change into classes. Representing arrays as a struct and changing this to a class is the subject of AXISCPP-149. Several methods pass struct tm across the external API. Struct tm should be left as is since it does not contain pointers to other storage inside it and it is the representation of various xsd types.

Fix AXISCPP-202 which adds namespaces to external enums and prefixes to external #defines.

Review the lifecycle of all the objects to verify that there are no memory leaks. AXISCPP-207 documents a poor lifecycle.

Explain in the API documentation whether the storage returned from Axis will be deleted by Axis or whether it is up to the application to delete it. This is needed to help users write applications without memory leaks.

---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXISCPP-206?page=comments#action_54340

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXISCPP-206

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXISCPP-206
    Summary: Remove C support temporarily
       Type: Improvement

     Status: Open
   Priority: Blocker

    Project: Axis-C++
 Components: 
             Basic Architecture
   Fix Fors:
             1.5 Alpha
   Versions:
             1.4 Beta
             1.4 Alpha
             1.4 Final

   Assignee: Mark Whitlock
   Reporter: John Hawkins

    Created: Fri, 15 Oct 2004 6:06 AM
    Updated: Tue, 19 Oct 2004 6:17 AM
Environment: All platforms

Description:
We are going to remove C support from the 1.4 release so that we can work on the C++ support only.
C support will be put back in for 1.5


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira