summaryrefslogtreecommitdiffstats
path: root/tags/cpp-sdo-1.0.incubating-M3/doc
diff options
context:
space:
mode:
Diffstat (limited to 'tags/cpp-sdo-1.0.incubating-M3/doc')
-rw-r--r--tags/cpp-sdo-1.0.incubating-M3/doc/BuildingSTDCXX.html145
-rw-r--r--tags/cpp-sdo-1.0.incubating-M3/doc/CommittersGuide.txt89
-rw-r--r--tags/cpp-sdo-1.0.incubating-M3/doc/DesignNotes.htm259
-rw-r--r--tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-base.css168
-rw-r--r--tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-theme.css173
5 files changed, 0 insertions, 834 deletions
diff --git a/tags/cpp-sdo-1.0.incubating-M3/doc/BuildingSTDCXX.html b/tags/cpp-sdo-1.0.incubating-M3/doc/BuildingSTDCXX.html
deleted file mode 100644
index 6ffc018157..0000000000
--- a/tags/cpp-sdo-1.0.incubating-M3/doc/BuildingSTDCXX.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-
-<HTML>
-<HEAD>
- <META CONTENT="text/html; charset=iso-8859-1" HTTP-EQUIV="Content-Type">
- <META CONTENT="text/css" HTTP-EQUIV="Content-Style-Type">
- <STYLE MEDIA="all" TYPE="text/css">
-@import url("css/maven-base.css");
-@import url("css/maven-theme.css");
- </STYLE>
-
- <LINK HREF="css/maven-theme.css" MEDIA="print" REL="stylesheet"
- TYPE="text/css">
- <TITLE>Tuscany SDO C++ - Building STDCXX for Tuscany SDO</TITLE>
-</HEAD>
-
-<BODY>
-<DIV ID="bodyColumn">
- <DIV ID="contentBox">
- <DIV CLASS="section">
- <H1>Tuscany SDO C++ - Building STDCXX for Tuscany SDO</H1>
-
- <P>STDCXX is an implementation of the C++ Standard Library provided by Apache.
- </P>
- <P>The website is at <A href="http://incubator.apache.org/stdcxx/">http://incubator.apache.org/stdcxx/</A>.
- </P>
- <P>At the time of writing, the current release is 4.1.3 and is available as
- source distribution only. This document explains how to build stdcxx for
- Windows XP and Red Hat Enterprise Linux 3 in the way required by the SDO build
- process.
- </P>
- </DIV>
- <DIV CLASS="section">
- <H2>Contents</H2>
- <OL>
- <LI><A HREF="#install">Building STDCXX..</A>
- <UL>
- <LI><A HREF="#linux">..on Linux</A></LI>
- <LI><A HREF="#win">..on Windows</A></LI>
- </UL></LI>
- </OL>
- </DIV>
-
- <DIV CLASS="section">
- <A NAME="install"><H2>Building STDCXX</H2></A>
- <A NAME="linux"><H3>Building STDCXX on Linux</H3></A>
-
- <OL>
- <LI>The release is distributed as a gzipped tar file, called
- stdcxx-incubating-4.1.3.tar.gz. Extract the contents of this file into a
- convenient directory. For this example, let's assume it is
- /home/Tuscany/stdcxx-4.1.3
- </LI>
- <LI>Define the STDCXX_HOME environment variable to refer to this directory. The
- Tuscany SDO build system uses this environment variable to locate stdcxx.
- </LI>
- <LI>Change directory to STDCXX_HOME. Then build a debug version of the stdcxx
- library using the following command:
- <PRE>gmake BUILDDIR=$STDCXX_HOME/Debug BUILDTYPE=15d CONFIG=gcc.config</PRE>
- This will create a sub-directory of STDCXX_HOME called Debug and place the
- build products below that.
- </LI>
- <LI>For a release version the command is:
- <PRE>gmake BUILDDIR=$STDCXX_HOME/Release BUILDTYPE=12d CONFIG=gcc.config</PRE>
- </LI>
- </OL>
- <P>This provides Tuscany SDO with the versions of stdcxx that it needs for both
- Release and Debug builds.
- </P>
- <A NAME="win"><H3>Building STDCXX on Windows</H3></A>
- <P>STDCXX is supported only when used with Microsoft Visual Studio C++ V7.1
- </P>
- <OL>
- <LI>The release is distributed as a gzipped tar file, called stdcxx-incubating-4.1.3.tar.gz.
- Extract the contents of this file into a convenient directory. For this example let's
- assume it is C:\Tuscany\stdcxx-4.1.3
- </LI>
- <LI>Define the STDCXX_HOME environment variable to refer to this directory. The
- Tuscany SDO build system uses this environment variable to locate stdcxx.
- </LI>
- <LI>Create two directories to contain the results of building stdcxx. The first is
- for the debug enabled version and must be:
- <PRE>&lt;STDCXX_HOME&gt;\Debug</PRE>
- </LI>
- <LI>The second is for the release (ie optimised) version and must be
- <PRE>&lt;STDCXX_HOME&gt;\Release</PRE>
- </LI>
- <LI>Launch an MSVC++ 7.1 command window. In the command window, set the default
- directory to &lt;STDCXX_HOME&gt; where there is a file called generate.bat. Create
- the project definitions that MSVC++ 7.1 will need in order to build stdcxx by
- running generate.bat using the following command:
- <PRE>.\generate.bat /BUILDDIR:&lt;STDCXX_HOME&gt;\Debug /CONFIG:VC71</PRE>
- It is necessary to provide the full, absolute path to the build directory - it
- is not sufficient to provide a relative path. (This restriction will be fixed
- in a future release.)
- </LI>
- <LI>Repeat this operation for the release build, via the command:
- <PRE>.\generate.bat /BUILDDIR:&lt;STDCXX_HOME&gt;\Release /CONFIG:VC71</PRE>
- </LI>
- <LI>Still using the MSVC++ 7.1 command window, set the default directory to one of
- the two build directories eg
- <PRE>cd &lt;STDCXX_HOME&gt;\Debug</PRE>
- </LI>
- <LI>Then launch the developer studio via
- <PRE>cd &lt;STDCXX_HOME&gt;\Debug</PRE>
- </LI>
- <LI>Select the configuration to build. For the Debug version of SDO this will be
- "15d Debug Thread-safe Dll". Then select "Build Solution". The build will take
- a while to complete and runs a test suite when it is finished. The test suite
- is extensive and produces a scattering of errors, however the library build
- itself is fine.
- </LI>
- <LI>Repeat this process for the release version, setting the default directory to
- <PRE>cd &lt;STDCXX_HOME&gt;\Release</PRE>
- and choosing "12d Optimized Thread-safe Dll" as the build configuration.
- </LI>
- </OL>
- <P>This provides Tuscany SDO with the versions of stdcxx that it needs for both
- Release and Debug builds.
- </P>
- </DIV>
- </DIV>
-</DIV>
-</BODY>
-
-</HTML>
-
diff --git a/tags/cpp-sdo-1.0.incubating-M3/doc/CommittersGuide.txt b/tags/cpp-sdo-1.0.incubating-M3/doc/CommittersGuide.txt
deleted file mode 100644
index fb22cbf06d..0000000000
--- a/tags/cpp-sdo-1.0.incubating-M3/doc/CommittersGuide.txt
+++ /dev/null
@@ -1,89 +0,0 @@
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-
-
-Tuscany SDO Committers Guide
-============================
-
-All classes should be in the commonj/sdo namespace.
-
-The Tuscany SDO codebase consists of a number of abstract classes representing the SDO API. These
-are accompanied by a set of classes whose names end in Impl, which are the implementations of the
-API. For example the DataObject API is represented by the DataObject class, and implemented by
-the DataObjectImpl class.
-
-When pointers to classes are handed out by the library, they are really pointing at instances of
-the Impl class, but the application must not make that assumption.
-
-DataObjects and DataFactories inherit from a base class which maintains a reference count on
-itself (RefCountingObject). The pointers handed out are really classes holding a pointer to
-the object, such that they can contribute to the reference count when copied. These RefCountingPointers
-must not be deleted, they dispose of the underlying object when the reference count drops to
-zero.
-
-There is trace commented out of RefCountingObject, which can count and report the references. It is
-particularly useful to check that all instances are cleared at the end of a program run.
-
-The API for metadata consists of the DataFactory, Property and Type classes. All Properties and Types
-handed out to the client are const, so setting up the modifying the types is done using APIS of the
-data factory.
-
-The process of creating types is usually done by loading them from XSD, but can also be performed
-by using the data factory. Properties and Types may both be defined, but the data factory 'locks'
-itself as soon as the first DataObject is created. It does this because at that point it needs to
-resolve the type hierarchy, and perform validation. For consistency a Type may not be modified once
-an instance has been created.
-
-A data object contains properties, which are of a particular Type, however the API allows access to
-all properties using any of the methods. getString() may be called on a Boolean property etc. The
-conversion is attempted by the Type class, and either throws an exception or passes back a converted
-value according to the tables in the specification.
-
-The get/set APIs of DataObject are supplied by a set of macros in DataObjectImpl.cpp. These are
-duplicated for string and non-string, and also make it hard to debug effectively. They will be
-removed and replaced by methods in the future. For now, the easiest way to debug them is to be
-aware that each eventually calls the private no-params method, so for example all the getString(...)
-methods eventually call getString().
-
-The internal string handling is partially working with the SDOXMLString class, and partially still uses
-allocated char* buffers, these will be replaced by SDOXMLStrings in the future.
-
-The parsers for XML are absed on the SAX2Parser class, but the bulk of the processing is done by the
-startElementNS and similar methods in the SDOSchemaSAX2parser and SDOSAX2Parser classes. These are called
-back by the libxml2 library, and build a picture of the information which it then decoded by the XSDhelper
-or XMLHelper class into metadata or data.
-
-There are easy targets for improvements of performance, particularly in DataObject and parsing of XSD
-input, here is a list of a few that I can think of:
-
-DataObject frequently maps from Property to index, and this could be re-organized to avoid most of these.
-
-The allocation of space for property values could in most cases be dropped - its usually s fixed size
-element.
-
-The use of DataObject as a means of storing lists of primitives is not optimal, and should be replaced.
-
-The ChangeSummary class holds the previous value of any property when it is changed. At present, for many-
-valued properties, it holds the entire list as it was before an addition. This could just keep a record of
-the changes, and only save the old list when serializing.
-
-Parsing the XSD loops though types checking that all substitutes are covered, it would be good to
-replace this.
-
- \ No newline at end of file
diff --git a/tags/cpp-sdo-1.0.incubating-M3/doc/DesignNotes.htm b/tags/cpp-sdo-1.0.incubating-M3/doc/DesignNotes.htm
deleted file mode 100644
index f6d532a4cd..0000000000
--- a/tags/cpp-sdo-1.0.incubating-M3/doc/DesignNotes.htm
+++ /dev/null
@@ -1,259 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html><head>
-
-
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <META CONTENT="text/css" HTTP-EQUIV="Content-Style-Type">
- <STYLE MEDIA="all" TYPE="text/css">
-@import url("css/maven-base.css");
-@import url("css/maven-theme.css");
- </STYLE>
-
- <LINK HREF="css/maven-theme.css" MEDIA="print" REL="stylesheet"
- TYPE="text/css">
-
- <meta name="robots" content="noindex,nofollow">
- <title>Tuscany SDO for C++ Design Notes</title>
-
-</head>
-<body dir="ltr" lang="en">
-<div id="page" dir="ltr" lang="en"><!-- start page -->
-
-<h1 id="title">Tuscany SDO for C++ Design Notes</h1>
-<div id="content" dir="ltr" lang="en">
-<a id="top"></a>
-<p>See the 'live' verson of these notes at <a HREF="http://wiki.apache.org/ws/Tuscany/TuscanyCpp/DesignNotes">http://wiki.apache.org/ws/Tuscany/TuscanyCpp/DesignNotes</A>
-<h2 id="head-780571e8917285d0f0c1ebae03ade69ebb3fe51a">1. Logging</h2>
-
-<p>Logging is not mentioned in the V2.01 specification, however, a
-rudimentary logging capability is provided in the current
-implementation, using three classes. </p>
-<ul>
-<li><p> LogWriter </p>
-<ul>
-<li style="list-style-type: none;"><p>This defines an abstract class with a single <strong>log</strong> method. </p>
-</li>
-</ul>
-</li>
-<li class="gap"><p> DefaultLogWriter </p>
-<ul>
-<li style="list-style-type: none;"><p>Instantiates <strong>LogWriter</strong> implementng a <strong>log</strong> method that writes to <strong>cout</strong> </p>
-</li>
-</ul>
-</li>
-<li class="gap"><p> Logger </p>
-<ul>
-<li style="list-style-type: none;"><p>A class with a static pointer to a <strong>Logwriter</strong> object. When the class is loaded the pointer is initialized to a reference to an instance of <strong>DefaultLogWriter</strong>. <strong>Logger</strong> provides its own <strong>log</strong> and <strong>logArgs</strong> methods that use the <strong>log</strong> method of <strong>DefaultLogWriter</strong> </p>
-</li>
-</ul>
-</li>
-</ul>
-<p>In the current implementation, logging is seldom used. </p>
-
-<h2 id="head-7290fb54a6fb6ba18c63fd8a5cd6790051a515fc">2. Conversion from C style strings to C++ style strings</h2>
-
-
-<h2 id="head-507cb2b48b05cbdfcdb3d687945efc737433c25f">3. Debugging the XML parser</h2>
-
-<p>SDO uses the SAX parser provided by libxml2 (<a rel="nofollow" href="http://xmlsoft.org/index.html"><img src="DesignNotes_files/moin-www.png" alt="[WWW]" height="11" width="11"> http://xmlsoft.org/index.html</a>)
-to parse XML documents (and therefore XSD documents also). The SAX
-parser uses a callback mechanism to report XML events to its caller.
-These callback routines are supplied to the parser using a struct of
-type xmlSAXHandler, called SDOSAX2Handler that is defined in
-SAX2Parser.cpp. However, since libxml2 is written in C and operates
-with no knowledge of objects or classes, it is necessary to bridge the
-gap between libxml2's C-style call back mechanism and the objects that
-comprise SDO. This is done as follows. </p>
-<p>The file SAX2Parser.cpp defines (C style) functions for all the
-callback routines required by libxml2. Looking through that file, it is
-clear that many of those functions, such as sdo_internalSubset(), are
-empty, meaning that SDO will simply ignore that particular event if it
-is reported by libxml2. Where a callback function is not empty, the
-active contents usually take the form of a call such as </p>
-<p>(SAX2Parser*) ctx)-&gt;startDocument() </p>
-<p>This call is forwarding the event reported by libxml2 to a method within a parser object created by SDO. </p>
-<p>To understand this, we have to step back a little. A client of
-libxml2 initiates the parse of an XML instance by calling the
-xmlSAXUserParseFile() function. This function takes three parameters.
-The first is the struct containing the list of callback functions (ie
-SDOSAX2Handler) and the third is the name of the XML file to parse. The
-second parameter is of type <strong>void*</strong> and is not used by
-libxml2 directly. However, it is passed to every callback functon that
-libxml2 calls as part of this parse to supply them with whatever
-context information it represents. In Tuscany SDO that context is in
-fact a pointer to an object that implements the appropriate parsing of
-the file and these objects are instances of one of two classes, both of
-which are derived from a common base. The base class is SAX2Parser, and
-that defines virtual methods to handle events returned by libxml2. (In
-fact it defines methods for that subset of the events that SDO will
-use.) The two concrete classes are SDOSAX2Parser and
-SDOSchemaSAX2Parser. The former is used when parsing XML instance
-documents and the latter when parsing XML Schema Definitions. Both
-classes re-implement the methods that process SAX events to handle them
-in the appropriate way for either XML or XSD. </p>
-<p>Therefore, the overall process for parsing an XML or XSD input
-document and generating the corresponding data object or meta data
-structures in SDO as follows. </p>
-<p>1. Create an instance of SDOSAX2Parser for parsing XML instance
-documents or an instance of SDOSchemaSAX2Parser for parsing an XSD
-document. </p>
-<p>2. Pass the address of the SAX2Parser object just created to libxml2
-as the context parameter of the xmlSAXUserParseFile() function. </p>
-<p>3. As the parse unfolds, libxml2 will use the SDOSAX2Handler struct
-to call the callback function that is appropriate for each event that
-it is reporting. These will be C functions in SAX2Parser.cpp </p>
-<p>4. Many of those functions will simply return having done nothing
-because SDO has no interest in that particular event. However, when a
-SAX event is of interest, the C callback function will use the context
-parameter that libxml2 has supplied to it (ie the address of a
-SAX2Parser object) to call the method on that object that corresponds
-to the current SAX event. </p>
-<p>Simple. </p>
-<p>To watch the parsing of a file as it unfolds there are three broad
-options. If the file is an XSD then place breakpoints on the methods of
-SDOSchemaSAX2Parser. If it is an XML instance then set breakpoints on
-the methods of SDOSAX2Parser. If it could be either, then place
-breakpoints on the C functions that are named in SDOSAX2Handler and
-that are found in SAX2Parser.cpp </p>
-
-<h2 id="head-c0ac7aae89a380ef5b343dc5ebc99b721000ad93">4. Modifying the SDO Build to use the Apache stdcxx Standard C++ library</h2>
-
-<p>stdcxx is an implementation of the C++ Standard Library provided by Apache. The website is at <a rel="nofollow" href="http://incubator.apache.org/stdcxx/"><img src="DesignNotes_files/moin-www.png" alt="[WWW]" height="11" width="11"> http://incubator.apache.org/stdcxx/</a>. </p>
-<p>To build SDO using stdcxx rather than the native C++ library on
-Windows, the following modifications to the Microsoft Visual Studio
-.NET 2003 build environment are necessary. We assume that a source
-extract of stdcxx is already available in a directory called
-C:\Tuscany\stdcxx-4.1.3 (based on the version number of the current
-release at the time of writing). We also assume that debug and release
-versions of this library have been built in directories called
-C:\Tuscany\stdcxx-4.1.3\Debug and C:\Tuscany\stdcxx-4.1.3\Release. The
-process for building these is described here <a href="http://wiki.apache.org/ws-data/attachments/Tuscany%282f%29TuscanyCpp%282f%29DesignNotes/attachments/HowToBuildStdcxxForTuscanySDO.txt">HowToBuildStdcxxForTuscanySDO.txt</a> </p>
-<p>1. Define an environment variable, STDCXX_HOME to identify the root of the source extract tree ie C:\Tuscany\stdcxx-4.1.3 </p>
-<p>This is not strictly necessary but is convenient given how often we will refer to that location. </p>
-<p>2. Add the stdcxx include directories to the appropriate search path. These directories are </p>
-<ul>
-<li style="list-style-type: none;"><p>$(STDCXX_HOME)\include </p>
-<p>$(STDCXX_HOME)\include\ansi </p>
-<p>and either </p>
-<p>$(STDCXX_HOME)\Debug\include\15d - for a debug build </p>
-<p>or </p>
-<p>$(STDCXX_HOME)\Release\include\12d - for a release build </p>
-</li>
-</ul>
-<p>For MSVC 7.1 these should be appended to the list found in
-Configuration Properties -&gt; C/C++ -&gt; General -&gt; Additional
-Include Directories </p>
-<p>3. Add environment variable definitions. These variables are </p>
-<ul>
-<li style="list-style-type: none;"><p>_RWSTD_USE_CONFIG </p>
-<p>_RWSHARED </p>
-<p>and _RWSTDDEBUG for a debug build </p>
-</li>
-</ul>
-<p>4. Add the stdcxx library directory to the appropriate search path. This directory is </p>
-<ul>
-<li style="list-style-type: none;"><p>$(STDCXX_HOME)\Debug\lib - for a debug build </p>
-<p>and </p>
-<p>$(STDCXX_HOME)\Release\lib - for a release build </p>
-</li>
-</ul>
-<p>For MSVC 7.1 these should be appended to the list found in
-Configuration Properties -&gt; Linker -&gt; General -&gt; Additional
-Library Directories </p>
-<p>5. Add the stdcxx library name as a dependency. The library name is </p>
-<ul>
-<li style="list-style-type: none;"><p>stdlib15d.lib - for a debug build </p>
-<p>and </p>
-<p>stdlib12d.lib - for a release build </p>
-</li>
-</ul>
-<p>For MSVC 7.1 these should be appended to the list found in
-Configuration Properties -&gt; Linker -&gt; Input -&gt; Additional
-Dependencies </p>
-
-<h2 id="head-feededf8be9c9caa8efe879e11523875c15f44ce">5. Discriminated Types</h2>
-
-<p>Prior to the changes introduced in revision 502599, in response to
-JIRA TUSCANY-546, the C++ implementation made extensive use of C style
-macros, particularly in DataObjectImpl.cpp. This code had been
-motivated by the requirement for SDO to process a variety of different
-data types (integer, float, string etc) in very similar ways.
-Unfortunately, while macro code makes it easy to clone behaviour by
-instantiating the macro for different datatypes, it has several
-disdavantages. By far the most serious is the impossibility of
-debugging code that has been generated by the macro preprocessor,
-closely followed by the fact that most non-trivial macros are difficult
-to read and understand. These twin problems lead onto the common result
-that macro generated code is often inefficient. </p>
-<p>TUSCANY-546 remedies these problems by introducing a new class,
-SDOValue, defined in SDOValue.cpp and SDOValue.h. This class consists
-fundamentally of a union of all the possible data types that SDO must
-accommmodate, together with an enumerated type that identifies which
-particular data type is stored in the current object. The union and
-enumeration are themselves defined in DataTypeInfo.cpp and
-DataTypeInfo.h. </p>
-<p>Not surprisingly, SDOValue provides constructors to initialise an
-SDOValue object from any of the primitive data types. There are also
-retrieval methods that will extract a primitive value from an SDOValue,
-converting as necessary (and throwing an exception for those
-conversions that are impossible). For the most part these methods are
-straightforward. The only slight complications arise when dealing with
-primitives that are strings of characters. There are three such data
-types - </p>
-<p>String: This is a null terminated sequence of single byte
-characters. It corresponds to the C notion of a string, and the C++
-std::string class. </p>
-<p>WideString: This is a null terminated sequence of double byte
-characters. In C++ this might be represented by the std::wstring class,
-although in this implementation it is represented in the C fashion,
-using a pointer to a null terminated sequence of wchar_t elements. </p>
-<p>ByteArray: A sequence of bytes that is not terminated by a null character. An associated length value is therefore required. </p>
-<p>SDOValue objects represent such values with pointers to other
-objects or allocations of memory, therefore, copy operators and
-destructors must allow for the need to copy or delete the items that
-are at the far end of these pointers. </p>
-<p>From then on, the general strategy is straightforward. All methods
-that are part of the SDO external interface must be preserved. However,
-as far as possible, other methods that used to be replicated (by macro
-expansion) for each different datatype, are replaced by a single method
-that works with SDOValue objects. Where it is necessary to work with
-the actual primitive data type explicitly, this is normally done via a
-switch statement. The external methods that were previously generated
-by macro expansion are replaced by explicit code that is little more
-than a veneer that converts between the SDOValue that is used
-internally and the primitive data type that is required by the public
-interface. Numerous examples of this appear in DataObjectImpl.cpp, the
-getBoolean and setBoolean methods being typical. </p>
-<p>Code to convert between the various primitive data types is already
-available in the TypeImpl class. However, this is not ideal since a) as
-coded it is dependent on the TypeImpl class, even though that isn't
-strictly necessary and therefore b) it tends to bloat the already large
-TypeImpl class. The SDOValue code provides it's own conversion methods
-in the SDODataConverter class. The intention is to migrate all
-conversions in SDO to the methods in that class, however, that
-transition is not yet complete. </p>
-<a id="bottom"></a>
-
-</div>
-<p id="pageinfo" class="info" dir="ltr" lang="en">last edited 28.02.2007 13:24:53 by <span title="blueice2n1.uk.ibm.com">GeoffWinn</span></p>
-</div> <!-- end page -->
-
-</body></html> \ No newline at end of file
diff --git a/tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-base.css b/tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-base.css
deleted file mode 100644
index e23caf04e5..0000000000
--- a/tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-base.css
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/* $Rev$ $Date$ */
-
-body {
- margin: 0px;
- padding: 0px;
-}
-img {
- border:none;
-}
-table {
- padding:0px;
- width: 100%;
- margin-left: -2px;
- margin-right: -2px;
-}
-acronym {
- cursor: help;
- border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
- padding: 2px 4px 2px 4px;
- vertical-align: top;
-}
-div.clear{
- clear:both;
- visibility: hidden;
-}
-div.clear hr{
- display: none;
-}
-#bannerLeft, #bannerRight {
- font-size: xx-large;
- font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
- margin: 0px;
-}
-.xleft, #bannerLeft img {
- float:left;
- text-shadow: #7CFC00;
-}
-.xright, #bannerRight img {
- float:right;
- text-shadow: #7CFC00;
-}
-#banner {
- padding: 0px;
-}
-#banner img {
- border: none;
-}
-#breadcrumbs {
- padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 150px;
- float:left;
-}
-#bodyColumn {
- margin-right: 1.5em;
- margin-left: 30px;
-}
-#legend {
- padding: 8px 0 8px 0;
-}
-#navcolumn {
- padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
- margin: 0;
- padding: 0;
- font-size: small;
-}
-#navcolumn ul {
- margin: 0;
- padding: 0;
- font-size: small;
-}
-#navcolumn li {
- list-style-type: none;
- background-image: none;
- background-repeat: no-repeat;
- background-position: 0 0.4em;
- padding-left: 16px;
- list-style-position: ouside;
- line-height: 1.2em;
- font-size: smaller;
-}
-#navcolumn li.expanded {
- background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
- background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
- text-align: center;
-}
-#navcolumn img {
- margin-top: 10px;
- margin-bottom: 3px;
-}
-#poweredBy img {
- display:block;
- margin: 20px 0 20px 17px;
- border: 1px solid black;
- width: 90px;
- height: 30px;
-}
-#search img {
- margin: 0px;
- display: block;
-}
-#search #q, #search #btnG {
- border: 1px solid #999;
- margin-bottom:10px;
-}
-#search form {
- margin: 0px;
-}
-#lastPublished {
- font-size: x-small;
-}
-.navSection {
- margin-bottom: 2px;
- padding: 8px;
-}
-.navSectionHead {
- font-weight: bold;
- font-size: x-small;
-}
-.section {
- padding: 4px;
-}
-#footer {
- padding: 3px 10px 3px 10px;
- font-size: x-small;
-}
-#breadcrumbs {
- font-size: x-small;
- margin: 0pt;
-}
-.source {
- padding: 12px;
- margin: 1em 7px 1em 7px;
-}
-.source pre {
- margin: 0px;
- padding: 0px;
-}
diff --git a/tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-theme.css b/tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-theme.css
deleted file mode 100644
index 91cf29cda2..0000000000
--- a/tags/cpp-sdo-1.0.incubating-M3/doc/css/maven-theme.css
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/* $Rev$ $Date$ */
-
-body {
- padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
- font-family: Verdana, Helvetica, Arial, sans-serif;
- #font-size: 13px;
- padding: 4px 4px 4px 4px;
- line-height: 1.5em;
- font-size: small;
-}
-code{
- font-family: Courier, monospace;
- font-size: 13px;
-}
-a {
- text-decoration: none;
-}
-a:link {
- color:#36a;
-}
-a:visited {
- color:#47a;
-}
-a:active, a:hover {
- color:#69c;
-}
-#legend li.externalLink {
- background: url(../images/external.png) left top no-repeat;
- padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
- background: url(../images/external.png) right center no-repeat;
- padding-right: 18px;
-}
-#legend li.newWindow {
- background: url(../images/newwindow.png) left top no-repeat;
- padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
- background: url(../images/newwindow.png) right center no-repeat;
- padding-right: 18px;
-}
-h1 {
- font-size: x-large;
- line-height: 1em;
-}
-
-
-h2 {
- padding: 4px 4px 4px 6px;
- border: 1px solid #999;
- color: #900;
- background-color: #ddd;
-
- font-size: large;
-}
-h3 {
- padding: 4px 4px 4px 6px;
- border: 1px solid #aaa;
- color: #900;
- background-color: #eee;
- font-weight: normal;
- font-size: large;
-}
-h4 {
- padding: 4px 4px 4px 6px;
- border: 1px solid #bbb;
- color: #900;
- background-color: #fff;
- font-weight: normal;
- font-size: large;
-}
-h5 {
- padding: 4px 4px 4px 6px;
- color: #900;
- font-size: normal;
-}
-p {
- line-height: 1.5em;
- font-size: small;
-}
-#breadcrumbs {
- border-top: 1px solid #aaa;
- border-bottom: 1px solid #aaa;
- background-color: #ccc;
-}
-#leftColumn {
- margin: 10px 0 0 5px;
- border: 1px solid #999;
- background-color: #eee;
-}
-#navcolumn h5 {
- font-size: smaller;
- border-bottom: 1px solid #aaaaaa;
- padding-top: 2px;
- color: #000;
-}
-
-table.bodyTable th {
- color: white;
- background-color: #bbb;
- text-align: left;
- font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
- font-size: small;
-}
-
-table.bodyTable tr.a {
- background-color: #ddd;
-}
-
-table.bodyTable tr.b {
- background-color: #eee;
-}
-
-.source {
- border: 1px solid #999;
-}
-dl {
- padding: 4px 4px 4px 6px;
- border: 1px solid #aaa;
- background-color: #ffc;
-}
-dt {
- color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
- margin: 8px;
-}
-#banner {
- border-bottom: 1px solid #fff;
-}
-.sourcecode {
- border: 1px solid #999;
- font-family: Courier, monospace;
- font-size: 13px;
- white-space: pre;
- padding: 4px 4px 4px 6px;
- margin: 4px 4px 4px 6px;
-}
-pre {
- border: 1px solid #999;
- font-family: Courier, monospace;
- font-size: 13px;
- white-space: pre;
- padding: 4px 4px 4px 6px;
- margin: 4px 4px 4px 6px;
-}
-
-