You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2006/04/19 18:16:18 UTC
svn commit: r395287 - in /webservices/axis/trunk/c/include/axis:
AxisCPPConfigDefaults.hpp ISoapAttachment.hpp TypeMapping.hpp
Author: dicka
Date: Wed Apr 19 09:16:13 2006
New Revision: 395287
URL: http://svn.apache.org/viewcvs?rev=395287&view=rev
Log:
AXISCPP-169 On-going improvements to API documentation
Modified:
webservices/axis/trunk/c/include/axis/AxisCPPConfigDefaults.hpp
webservices/axis/trunk/c/include/axis/ISoapAttachment.hpp
webservices/axis/trunk/c/include/axis/TypeMapping.hpp
Modified: webservices/axis/trunk/c/include/axis/AxisCPPConfigDefaults.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/AxisCPPConfigDefaults.hpp?rev=395287&r1=395286&r2=395287&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/AxisCPPConfigDefaults.hpp (original)
+++ webservices/axis/trunk/c/include/axis/AxisCPPConfigDefaults.hpp Wed Apr 19 09:16:13 2006
@@ -58,7 +58,7 @@
* When the first web-services class is instantiated any values set in the config
* file would over-ride those set by this class.
* (b) get/set methods for AxisHome
- * This is the programmatic equivaluent of the AXISCPP_DEPLOY
+ * This is the programmatic equivalent of the AXISCPP_DEPLOY
* environment variable.
* When the first class is instantiated, if AXISCPP_DEPLOY is set
* it will over-ride the value set by this class.
@@ -97,35 +97,246 @@
class STORAGE_CLASS_INFO AxisCPPConfigDefaults
{
public:
-
- AxisCPPConfigDefaults();
- ~AxisCPPConfigDefaults();
+
+ AxisCPPConfigDefaults();
+ ~AxisCPPConfigDefaults();
- char* getClientLog();
- char* getClientWSDDFile();
- char* getXMLParserLibrary();
- char* getHTTPTransportLibrary();
- char* getHTTPChannelLibrary();
- char* getHTTPSSLChannelLibrary();
- char* getNodeName();
- char* getListenPort();
- char* getSecureInfo();
- char* getAxisHome();
-
- void setClientLog(char*);
- void setClientWSDDFile(char*);
- void setXMLParserLibrary(char*);
- void setHTTPTransportLibrary(char*);
- void setHTTPChannelLibrary(char*);
- void setHTTPSSLChannelLibrary(char*);
- void setNodeName(char*);
- void setListenPort(char*);
- void setSecureInfo(char*);
- void setAxisHome(char*);
+ /**
+ * Get the location of the client log file. This is the programmatic equivalent of
+ * reading the ClientLogPath parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @return location of the client log file.
+ */
+ char* getClientLog();
+
+ /**
+ * Get the location of the client WSDD file. This is the programmatic equivalent of
+ * reading the ClientWSDDFilePath parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @return location of the client WSDD file.
+ */
+ char* getClientWSDDFile();
+
+ /**
+ * Get the value for the XML Parser library name. This is the programmatic equivalent of
+ * reading the XMLParser parameter in the axiscpp.conf configuration file.
+ *
+ * @return name of the XML Parser library.
+ */
+ char* getXMLParserLibrary();
+
+ /**
+ * Get the value for the HTTP transport library name. This is the programmatic equivalent of
+ * reading the Transport_http parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @return name of the HTTP Transport library.
+ */
+ char* getHTTPTransportLibrary();
+
+ /**
+ * Get the value for the HTTP channel library name. This is the programmatic equivalent of
+ * reading the Channel_HTTP parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @return name of the HTTP Channel library.
+ */
+ char* getHTTPChannelLibrary();
+
+ /**
+ * Get the value for the HTTP SSL channel library name. This is the programmatic equivalent of
+ * reading the Channel_HTTP_SSL parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @return name of the HTTP SSL Channel library.
+ */
+ char* getHTTPSSLChannelLibrary();
+
+ /**
+ * Get the value for NodeName. This is the programmatic equivalent of
+ * reading the NodeName parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a server.
+ *
+ * @return nodeName to be set.
+ */
+ char* getNodeName();
+
+ /**
+ * Get the value for ListenPort. This is the programmatic equivalent of
+ * reading the ListenPort parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a server.
+ *
+ * @return listenPort to be set.
+ */
+ char* getListenPort();
+
+ /**
+ * Get the value for SecureInfo. This is the programmatic equivalent of
+ * reading the SecureInfo parameter in the axiscpp.conf configuration file.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @return secureInfo to be set.
+ */
+ char* getSecureInfo();
+
+ /**
+ * Get the location of AxisHome. This is the programmatic equivalent of
+ * using the environment variable AXISCPP_DEPLOY.
+ *
+ * @return location of AxisHome.
+ */
+ char* getAxisHome();
+
+ /**
+ * Set the location of the client log file. This is the programmatic equivalent of
+ * setting the ClientLogPath parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @param location of the client log file.
+ */
+ void setClientLog(char* location);
+
+ /**
+ * Set the location of the client WSDD file. This is the programmatic equivalent of
+ * setting the ClientWSDDFilePath parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @param location of the client WSDD file.
+ */
+ void setClientWSDDFile(char* location);
+
+ /**
+ * Set the value for the XML Parser library name. This is the programmatic equivalent of
+ * setting the XMLParser parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * @param name of the XML Parser library.
+ */
+ void setXMLParserLibrary(char* name);
+
+ /**
+ * Set the value for the HTTP transport library name. This is the programmatic equivalent of
+ * setting the Transport_http parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @param name of the HTTP Transport library.
+ */
+ void setHTTPTransportLibrary(char* name);
+
+ /**
+ * Set the value for the HTTP channel library name. This is the programmatic equivalent of
+ * setting the Channel_HTTP parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @param name of the HTTP Channel library.
+ */
+ void setHTTPChannelLibrary(char* name);
+
+ /**
+ * Set the value for the HTTP SSL channel library name. This is the programmatic equivalent of
+ * setting the Channel_HTTP_SSL parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @param name of the HTTP SSL Channel library.
+ */
+ void setHTTPSSLChannelLibrary(char* name);
+
+ /**
+ * Set the value for NodeName. This is the programmatic equivalent of
+ * setting the NodeName parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a server.
+ *
+ * @param nodeName to be set.
+ */
+ void setNodeName(char* nodeName);
+
+ /**
+ * Set the value for ListenPort. This is the programmatic equivalent of
+ * setting the ListenPort parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a server.
+ *
+ * @param listenPort to be set.
+ */
+ void setListenPort(char* listenPort);
+
+ /**
+ * Set the value for SecureInfo. This is the programmatic equivalent of
+ * setting the SecureInfo parameter in the axiscpp.conf configuration file.
+ *
+ * If this parameter has been set in the axiscpp.conf configuration file
+ * this value will be ignored.
+ *
+ * This parameter is only used when Axis is operating as a client.
+ *
+ * @param secureInfo to be set.
+ */
+ void setSecureInfo(char* secureInfo);
+
+ /**
+ * Set the location of AxisHome. This is the programmatic equivalent of
+ * setting the environment variable AXISCPP_DEPLOY.
+ *
+ * If the environment variable AXISCPP_DEPLOY has been set this value
+ * will be ignored.
+ *
+ * @param location of axis home.
+ */
+ void setAxisHome(char* location);
- void apply();
+ /**
+ * Apply the set configuration values.
+ *
+ * This takes any values that have been set and applies as the Axis C++
+ * defaults for this process, it is not possible to then re-apply.
+ *
+ * @throw AxisException if the configuration defaults have already been set.
+ */
+ void apply();
- protected:
+ protected:
+ /**
+ * Axis C++ engine implementation
+ */
AxisCPPConfigDefaultsImpl *m_pImpl;
};
Modified: webservices/axis/trunk/c/include/axis/ISoapAttachment.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/ISoapAttachment.hpp?rev=395287&r1=395286&r2=395287&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/ISoapAttachment.hpp (original)
+++ webservices/axis/trunk/c/include/axis/ISoapAttachment.hpp Wed Apr 19 09:16:13 2006
@@ -25,6 +25,10 @@
//
//////////////////////////////////////////////////////////////////////
+/**
+ * @file ISoapAttachment.hpp
+ */
+
#if !defined(AFX_ISOAPATTACHMENT_H__8B3A65FD_40A6_45B2_A8C5_295DE4222952__INCLUDED_)
#define AFX_ISOAPATTACHMENT_H__8B3A65FD_40A6_45B2_A8C5_295DE4222952__INCLUDED_
@@ -36,9 +40,20 @@
AXIS_CPP_NAMESPACE_START
+/**
+ * @enum AXIS_ATTACHMENT_ENCODING_TYPE
+ * Enumeration of Attachment encoding types.
+ */
typedef enum
{
- AXIS_BASE64=0,
+ /**
+ * Base64 encoding
+ */
+ AXIS_BASE64=0,
+
+ /**
+ * Binary encoding
+ */
AXIS_BINARY = 1
} AXIS_ATTACHMENT_ENCODING_TYPE;
@@ -47,32 +62,54 @@
#define AXIS_CONTENT_TRANSFER_ENCODING "Content-Transfer-Encoding"
#define AXIS_CONTENT_LOCATION "Content-Location"
+/**
+ * @class ISoapAttachment
+ *
+ * Interface class for SOAP attachments.
+ */
class STORAGE_CLASS_INFO ISoapAttachment
{
public:
+ /**
+ * Get and return ID associated with the current instance.
+ *
+ * @return Attachment ID.
+ */
virtual const char* getAttachmentId()=0;
- /**
- * Allows the user to add the Attachment Body
- */
+
+ /**
+ * Allows the user to add the Body to the current attachment.
+ *
+ * @param objBody Base64Binary encoded attachment body.
+ */
virtual void addBody(xsd__base64Binary* objBody)=0;
- /**
- * Allows the user to add the Attachment Headers
- */
+ /**
+ * Allows the user to add headers to the current attachments.
+ *
+ * @param pchName header name.
+ * @param pchValue header value.
+ */
virtual void addHeader(const char* pchName, const char* pchValue)=0;
- /**
- * Allows the user to get the Attachment Body
- */
+ /**
+ * Allows the user to get the Attachment Body
+ *
+ * @return Base64Binary encoded body.
+ */
virtual xsd__base64Binary* getBody()=0;
- /**
- * Allows the user to get the required Attachment Header
- *
- * @param pchName The name of the required Attachment Header
- */
+ /**
+ * Allows the user to get the required Attachment Header
+ *
+ * @param pchName The name of the required Attachment Header
+ * @return Value of the required attachment header.
+ */
virtual const char* getHeader(const char* pchName)=0;
+ /**
+ * Destructor
+ */
virtual ~ISoapAttachment() {};
};
Modified: webservices/axis/trunk/c/include/axis/TypeMapping.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/TypeMapping.hpp?rev=395287&r1=395286&r2=395287&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/TypeMapping.hpp (original)
+++ webservices/axis/trunk/c/include/axis/TypeMapping.hpp Wed Apr 19 09:16:13 2006
@@ -24,6 +24,9 @@
/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
+/**
+ * @file TypeMapping.hpp
+ */
#ifdef WIN32
#pragma warning (disable : 4786)
@@ -39,26 +42,261 @@
AXIS_CPP_NAMESPACE_START
using namespace std;
+/**
+ * @enum XSDTYPE
+ * Enumeration of xsd types
+ */
typedef enum XSDTYPETag
-{ XSD_UNKNOWN=1, XSD_INT, XSD_FLOAT, XSD_STRING, XSD_LONG, XSD_SHORT, \
- XSD_BYTE, XSD_UNSIGNEDLONG, \
- XSD_BOOLEAN, XSD_UNSIGNEDINT, XSD_UNSIGNEDSHORT, \
- XSD_UNSIGNEDBYTE, \
- XSD_DOUBLE, XSD_DECIMAL, XSD_DURATION, \
- XSD_DATETIME, XSD_TIME, XSD_DATE, \
- XSD_GYEARMONTH, XSD_GYEAR, XSD_GMONTHDAY, XSD_GDAY, \
- XSD_GMONTH, XSD_HEXBINARY, \
- XSD_BASE64BINARY, XSD_ANYURI, XSD_QNAME, XSD_NOTATION, \
- XSD_INTEGER, \
- XSD_ARRAY, USER_TYPE, XSD_NMTOKEN, XSD_ANY, XSD_NONNEGATIVEINTEGER, \
- XSD_POSITIVEINTEGER, XSD_NONPOSITIVEINTEGER, XSD_NEGATIVEINTEGER, \
- XSD_NORMALIZEDSTRING, XSD_TOKEN, XSD_LANGUAGE, XSD_NAME, \
- XSD_NCNAME, XSD_ID, XSD_IDREF, XSD_IDREFS, XSD_ENTITY, \
- XSD_ENTITIES, XSD_NMTOKENS, ATTACHMENT \
+{
+ /**
+ * Unknown XSD type
+ */
+ XSD_UNKNOWN=1,
+
+ /**
+ * xsd:int
+ */
+ XSD_INT,
+
+ /**
+ * xsd:float
+ */
+ XSD_FLOAT,
+
+ /**
+ * xsd:string
+ */
+ XSD_STRING,
+
+ /**
+ * xsd:long
+ */
+ XSD_LONG,
+
+ /**
+ * xsd:short
+ */
+ XSD_SHORT,
+
+ /**
+ * xsd:byte
+ */
+ XSD_BYTE,
+
+ /**
+ * xsd:unsignedLong
+ */
+ XSD_UNSIGNEDLONG,
+
+ /**
+ * xsd:boolean
+ */
+ XSD_BOOLEAN,
+
+ /**
+ * xsd:unsignedInt
+ */
+ XSD_UNSIGNEDINT,
+
+ /**
+ * xsd:unsignedShort
+ */
+ XSD_UNSIGNEDSHORT,
+
+ /**
+ * xsd:unsignedByte
+ */
+ XSD_UNSIGNEDBYTE,
+
+ /**
+ * xsd:double
+ */
+ XSD_DOUBLE,
+
+ /**
+ * xsd:decimal
+ */
+ XSD_DECIMAL,
+
+ /**
+ * xsd:duration
+ */
+ XSD_DURATION,
+
+ /**
+ * xsd:dateTime
+ */
+ XSD_DATETIME,
+
+ /**
+ * xsd:time
+ */
+ XSD_TIME,
+
+ /**
+ * xsd:date
+ */
+ XSD_DATE,
+
+ /**
+ * xsd:gYearMonth
+ */
+ XSD_GYEARMONTH,
+
+ /**
+ * xsd:gYear
+ */
+ XSD_GYEAR,
+
+ /**
+ * xsd:gMonthDay
+ */
+ XSD_GMONTHDAY,
+
+ /**
+ * xsd:gDay
+ */
+ XSD_GDAY,
+
+ /**
+ * xsd:gMonth
+ */
+ XSD_GMONTH,
+
+ /**
+ * xsd:hexBinary
+ */
+ XSD_HEXBINARY,
+
+ /**
+ * xsd:base64Binary
+ */
+ XSD_BASE64BINARY,
+
+ /**
+ * xsd:anyURI
+ */
+ XSD_ANYURI,
+
+ /**
+ * xsd:QName
+ */
+ XSD_QNAME,
+
+ /**
+ * xsd:NOTATION
+ */
+ XSD_NOTATION,
+
+ /**
+ * xsd:integer
+ */
+ XSD_INTEGER,
+
+ /**
+ * Array, indicated in WSDL by maxOccurs greater than 1.
+ * This may be an array of any other XSDTYPE.
+ */
+ XSD_ARRAY,
+
+ /**
+ * User type, also referred to as a complex type
+ */
+ USER_TYPE,
+
+ /**
+ * xsd:NMTOKEN
+ */
+ XSD_NMTOKEN,
+
+ /**
+ * xsd:any
+ */
+ XSD_ANY,
+
+ /**
+ * xsd:nonNegativeInteger
+ */
+ XSD_NONNEGATIVEINTEGER,
+
+ /**
+ * xsd:positivInteger
+ */
+ XSD_POSITIVEINTEGER,
+
+ /**
+ * xsd:nonPositiveInteger
+ */
+ XSD_NONPOSITIVEINTEGER,
+
+ /**
+ * xsd:negativeInteger
+ */
+ XSD_NEGATIVEINTEGER,
+
+ /**
+ * xsd:normalizedString
+ */
+ XSD_NORMALIZEDSTRING,
+
+ /**
+ * xsd:token
+ */
+ XSD_TOKEN,
+
+ /**
+ * xsd:language
+ */
+ XSD_LANGUAGE,
+
+ /**
+ * xsd:Name
+ */
+ XSD_NAME,
+
+ /**
+ * xsd:NCName
+ */
+ XSD_NCNAME,
+
+ /**
+ * xsd:ID
+ */
+ XSD_ID,
+
+ /**
+ * xsd:IDREF
+ */
+ XSD_IDREF,
+
+ /**
+ * xsd:IDREFS
+ */
+ XSD_IDREFS,
+
+ /**
+ * xsd:ENTITY
+ */
+ XSD_ENTITY,
+
+ /**
+ * xsd:ENTITIES
+ */
+ XSD_ENTITIES,
+
+ /**
+ * xsd:NMTOKENS
+ */
+ XSD_NMTOKENS,
+
+ /**
+ * Attachment
+ */
+ ATTACHMENT
} XSDTYPE;
/**
- * REMOVED from XSDTYPETag-> ACCESSOR, XSD_NCNAME,
+ * REMOVED from XSDTYPETag-> ACCESSOR,
*/
/**
* @class TypeMapping
@@ -71,17 +309,52 @@
class TypeMapping
{
public:
+ /**
+ * Map xsd type name to corresponding XSDTYPE enumeration value.
+ *
+ * @param sType xsd type name
+ * @return corresponding XSDTYPE enumeration value.
+ */
static XSDTYPE map(const AxisXMLCh* sType);
+
+ /**
+ * Initialize internal table of mappings from xsd type names to XSDTYPE enumeration values.
+ */
static void initialize();
+
+ /**
+ * Clear internal table of mappings from xsd type names to XSDTYPE enumeration values.
+ */
static void uninitialize();
+ /**
+ * Internal table of mappings from xsd type names to XSDTYPE enumeration values.
+ */
#if (defined(AIX) || (defined(_MSC_VER) && _MSC_VER >= 1300) || defined( __OS400__ ) || defined(__sun))
+ /**
+ * Internal table of mappings from xsd type names to XSDTYPE enumeration values.
+ */
static std::map<std::string, XSDTYPE> m_sTypeMap;
#else
+ /**
+ * Internal table of mappings from xsd type names to XSDTYPE enumeration values.
+ */
static std::map<const std::string, XSDTYPE> m_sTypeMap;
#endif
+
+ /**
+ * Flag to indicate if TypeMapping class has been initialized.
+ */
static volatile bool m_bInit;
+
+ /**
+ * Default constructor
+ */
TypeMapping();
+
+ /**
+ * Destructor
+ */
virtual ~TypeMapping();
};